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

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 1749 by michael, Tue Jan 15 19:01:16 2013 UTC vs.
Revision 4114 by michael, Tue Jul 1 16:47:15 2014 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.  */
1 > /* A Bison parser, made by GNU Bison 3.0.2.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 >
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 <  
11 >
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 <  
16 >
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19  
# Line 26 | Line 26
26     special exception, which will cause the skeleton and the resulting
27     Bison output files to be licensed under the GNU General Public
28     License without this special exception.
29 <  
29 >
30     This special exception was added by the Free Software Foundation in
31     version 2.2 of Bison.  */
32  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7"
47 > #define YYBISON_VERSION "3.0.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < /* Line 371 of yacc.c  */
66 < #line 25 "conf_parser.y"
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68   #define YY_NO_UNPUT
# Line 80 | Line 79
79   #include "log.h"
80   #include "client.h"     /* for UMODE_ALL only */
81   #include "irc_string.h"
83 #include "sprintf_irc.h"
82   #include "memory.h"
83   #include "modules.h"
84 < #include "s_serv.h"
84 > #include "server.h"
85   #include "hostmask.h"
86   #include "send.h"
87   #include "listener.h"
88   #include "resv.h"
89   #include "numeric.h"
90 < #include "s_user.h"
90 > #include "user.h"
91 > #include "motd.h"
92  
93   #ifdef HAVE_LIBCRYPTO
94   #include <openssl/rsa.h>
# Line 98 | Line 97
97   #include <openssl/dh.h>
98   #endif
99  
100 + #include "rsa.h"
101 +
102   int yylex(void);
103  
104   static struct
105   {
106 <  struct {
106 >  struct
107 >  {
108      dlink_list list;
109    } mask,
110      leaf,
111      hub;
112  
113 <  struct {
113 >  struct
114 >  {
115      char buf[IRCD_BUFSIZE];
116    } name,
117      user,
# Line 117 | Line 120 | static struct
120      bind,
121      file,
122      ciph,
123 +    cert,
124      rpass,
125      spass,
126      class;
127  
128 <  struct {
128 >  struct
129 >  {
130      unsigned int value;
131    } flags,
132      modes,
# Line 132 | Line 137 | static struct
137      ping_freq,
138      max_perip,
139      con_freq,
140 +    min_idle,
141 +    max_idle,
142      max_total,
143      max_global,
144      max_local,
145      max_ident,
146      max_sendq,
147      max_recvq,
148 +    max_channels,
149      cidr_bitlen_ipv4,
150      cidr_bitlen_ipv6,
151      number_per_cidr;
# Line 173 | Line 181 | reset_block_state(void)
181   }
182  
183  
184 < /* Line 371 of yacc.c  */
177 < #line 178 "conf_parser.c"
184 > #line 185 "conf_parser.c" /* yacc.c:339  */
185  
186 < # ifndef YY_NULL
186 > # ifndef YY_NULLPTR
187   #  if defined __cplusplus && 201103L <= __cplusplus
188 < #   define YY_NULL nullptr
188 > #   define YY_NULLPTR nullptr
189   #  else
190 < #   define YY_NULL 0
190 > #   define YY_NULLPTR 0
191   #  endif
192   # endif
193  
# Line 196 | Line 203 | reset_block_state(void)
203     by #include "y.tab.h".  */
204   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
205   # define YY_YY_CONF_PARSER_H_INCLUDED
206 < /* Enabling traces.  */
206 > /* Debug traces.  */
207   #ifndef YYDEBUG
208   # define YYDEBUG 0
209   #endif
# Line 204 | Line 211 | reset_block_state(void)
211   extern int yydebug;
212   #endif
213  
214 < /* Tokens.  */
214 > /* Token type.  */
215   #ifndef YYTOKENTYPE
216   # define YYTOKENTYPE
217 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
218 <      know about them.  */
219 <   enum yytokentype {
220 <     ACCEPT_PASSWORD = 258,
221 <     ADMIN = 259,
222 <     AFTYPE = 260,
223 <     ANTI_NICK_FLOOD = 261,
224 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
225 <     AUTOCONN = 263,
226 <     BYTES = 264,
227 <     KBYTES = 265,
228 <     MBYTES = 266,
229 <     CALLER_ID_WAIT = 267,
230 <     CAN_FLOOD = 268,
231 <     CHANNEL = 269,
232 <     CIDR_BITLEN_IPV4 = 270,
233 <     CIDR_BITLEN_IPV6 = 271,
234 <     CLASS = 272,
235 <     CONNECT = 273,
236 <     CONNECTFREQ = 274,
237 <     DEFAULT_FLOODCOUNT = 275,
238 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
239 <     DEFAULT_SPLIT_USER_COUNT = 277,
240 <     DENY = 278,
241 <     DESCRIPTION = 279,
242 <     DIE = 280,
243 <     DISABLE_AUTH = 281,
244 <     DISABLE_FAKE_CHANNELS = 282,
245 <     DISABLE_REMOTE_COMMANDS = 283,
246 <     DOTS_IN_IDENT = 284,
247 <     EGDPOOL_PATH = 285,
248 <     EMAIL = 286,
249 <     ENCRYPTED = 287,
250 <     EXCEED_LIMIT = 288,
251 <     EXEMPT = 289,
252 <     FAILED_OPER_NOTICE = 290,
253 <     IRCD_FLAGS = 291,
254 <     FLATTEN_LINKS = 292,
255 <     GECOS = 293,
256 <     GENERAL = 294,
257 <     GLINE = 295,
258 <     GLINE_DURATION = 296,
259 <     GLINE_ENABLE = 297,
260 <     GLINE_EXEMPT = 298,
261 <     GLINE_REQUEST_DURATION = 299,
262 <     GLINE_MIN_CIDR = 300,
263 <     GLINE_MIN_CIDR6 = 301,
264 <     GLOBAL_KILL = 302,
265 <     IRCD_AUTH = 303,
266 <     NEED_IDENT = 304,
267 <     HAVENT_READ_CONF = 305,
268 <     HIDDEN = 306,
269 <     HIDDEN_NAME = 307,
270 <     HIDE_SERVER_IPS = 308,
271 <     HIDE_SERVERS = 309,
272 <     HIDE_SPOOF_IPS = 310,
273 <     HOST = 311,
274 <     HUB = 312,
275 <     HUB_MASK = 313,
276 <     IGNORE_BOGUS_TS = 314,
277 <     INVISIBLE_ON_CONNECT = 315,
278 <     IP = 316,
279 <     KILL = 317,
280 <     KILL_CHASE_TIME_LIMIT = 318,
281 <     KLINE = 319,
282 <     KLINE_EXEMPT = 320,
283 <     KNOCK_DELAY = 321,
284 <     KNOCK_DELAY_CHANNEL = 322,
285 <     LEAF_MASK = 323,
286 <     LINKS_DELAY = 324,
287 <     LISTEN = 325,
288 <     T_LOG = 326,
289 <     MAX_ACCEPT = 327,
290 <     MAX_BANS = 328,
291 <     MAX_CHANS_PER_OPER = 329,
292 <     MAX_CHANS_PER_USER = 330,
293 <     MAX_GLOBAL = 331,
294 <     MAX_IDENT = 332,
295 <     MAX_LOCAL = 333,
296 <     MAX_NICK_CHANGES = 334,
297 <     MAX_NICK_TIME = 335,
298 <     MAX_NUMBER = 336,
299 <     MAX_TARGETS = 337,
300 <     MAX_WATCH = 338,
301 <     MESSAGE_LOCALE = 339,
302 <     MIN_NONWILDCARD = 340,
303 <     MIN_NONWILDCARD_SIMPLE = 341,
304 <     MODULE = 342,
305 <     MODULES = 343,
306 <     NAME = 344,
307 <     NEED_PASSWORD = 345,
308 <     NETWORK_DESC = 346,
309 <     NETWORK_NAME = 347,
310 <     NICK = 348,
311 <     NICK_CHANGES = 349,
312 <     NO_CREATE_ON_SPLIT = 350,
313 <     NO_JOIN_ON_SPLIT = 351,
314 <     NO_OPER_FLOOD = 352,
315 <     NO_TILDE = 353,
316 <     NUMBER = 354,
317 <     NUMBER_PER_CIDR = 355,
318 <     NUMBER_PER_IP = 356,
319 <     OPERATOR = 357,
320 <     OPERS_BYPASS_CALLERID = 358,
321 <     OPER_ONLY_UMODES = 359,
322 <     OPER_PASS_RESV = 360,
323 <     OPER_SPY_T = 361,
324 <     OPER_UMODES = 362,
325 <     JOIN_FLOOD_COUNT = 363,
326 <     JOIN_FLOOD_TIME = 364,
327 <     PACE_WAIT = 365,
328 <     PACE_WAIT_SIMPLE = 366,
329 <     PASSWORD = 367,
330 <     PATH = 368,
331 <     PING_COOKIE = 369,
332 <     PING_TIME = 370,
333 <     PORT = 371,
334 <     QSTRING = 372,
335 <     QUIET_ON_BAN = 373,
336 <     REASON = 374,
337 <     REDIRPORT = 375,
338 <     REDIRSERV = 376,
339 <     REGEX_T = 377,
340 <     REHASH = 378,
341 <     REMOTE = 379,
342 <     REMOTEBAN = 380,
343 <     RESTRICT_CHANNELS = 381,
344 <     RSA_PRIVATE_KEY_FILE = 382,
345 <     RSA_PUBLIC_KEY_FILE = 383,
346 <     SSL_CERTIFICATE_FILE = 384,
347 <     SSL_DH_PARAM_FILE = 385,
348 <     T_SSL_CLIENT_METHOD = 386,
349 <     T_SSL_SERVER_METHOD = 387,
350 <     T_SSLV3 = 388,
351 <     T_TLSV1 = 389,
352 <     RESV = 390,
353 <     RESV_EXEMPT = 391,
354 <     SECONDS = 392,
355 <     MINUTES = 393,
356 <     HOURS = 394,
357 <     DAYS = 395,
358 <     WEEKS = 396,
359 <     SENDQ = 397,
360 <     SEND_PASSWORD = 398,
361 <     SERVERHIDE = 399,
362 <     SERVERINFO = 400,
363 <     IRCD_SID = 401,
364 <     TKLINE_EXPIRE_NOTICES = 402,
365 <     T_SHARED = 403,
366 <     T_CLUSTER = 404,
367 <     TYPE = 405,
368 <     SHORT_MOTD = 406,
369 <     SPOOF = 407,
370 <     SPOOF_NOTICE = 408,
371 <     STATS_E_DISABLED = 409,
372 <     STATS_I_OPER_ONLY = 410,
373 <     STATS_K_OPER_ONLY = 411,
374 <     STATS_O_OPER_ONLY = 412,
375 <     STATS_P_OPER_ONLY = 413,
376 <     TBOOL = 414,
377 <     TMASKED = 415,
378 <     TS_MAX_DELTA = 416,
379 <     TS_WARN_DELTA = 417,
380 <     TWODOTS = 418,
381 <     T_ALL = 419,
382 <     T_BOTS = 420,
383 <     T_SOFTCALLERID = 421,
384 <     T_CALLERID = 422,
385 <     T_CCONN = 423,
386 <     T_CCONN_FULL = 424,
387 <     T_SSL_CIPHER_LIST = 425,
388 <     T_DEAF = 426,
389 <     T_DEBUG = 427,
390 <     T_DLINE = 428,
391 <     T_EXTERNAL = 429,
392 <     T_FULL = 430,
393 <     T_INVISIBLE = 431,
394 <     T_IPV4 = 432,
395 <     T_IPV6 = 433,
396 <     T_LOCOPS = 434,
397 <     T_MAX_CLIENTS = 435,
398 <     T_NCHANGE = 436,
399 <     T_OPERWALL = 437,
400 <     T_RECVQ = 438,
401 <     T_REJ = 439,
402 <     T_SERVER = 440,
403 <     T_SERVNOTICE = 441,
404 <     T_SET = 442,
405 <     T_SKILL = 443,
406 <     T_SPY = 444,
407 <     T_SSL = 445,
408 <     T_UMODES = 446,
409 <     T_UNAUTH = 447,
410 <     T_UNDLINE = 448,
411 <     T_UNLIMITED = 449,
412 <     T_UNRESV = 450,
413 <     T_UNXLINE = 451,
414 <     T_GLOBOPS = 452,
415 <     T_WALLOP = 453,
416 <     T_WEBIRC = 454,
417 <     T_RESTART = 455,
418 <     T_SERVICE = 456,
419 <     T_SERVICES_NAME = 457,
420 <     THROTTLE_TIME = 458,
421 <     TRUE_NO_OPER_FLOOD = 459,
422 <     UNKLINE = 460,
423 <     USER = 461,
424 <     USE_EGD = 462,
425 <     USE_LOGGING = 463,
426 <     VHOST = 464,
427 <     VHOST6 = 465,
428 <     XLINE = 466,
429 <     WARN_NO_NLINE = 467,
430 <     T_SIZE = 468,
431 <     T_FILE = 469
432 <   };
217 >  enum yytokentype
218 >  {
219 >    ACCEPT_PASSWORD = 258,
220 >    ADMIN = 259,
221 >    AFTYPE = 260,
222 >    ANTI_NICK_FLOOD = 261,
223 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
224 >    AUTOCONN = 263,
225 >    BYTES = 264,
226 >    KBYTES = 265,
227 >    MBYTES = 266,
228 >    CALLER_ID_WAIT = 267,
229 >    CAN_FLOOD = 268,
230 >    CHANNEL = 269,
231 >    CIDR_BITLEN_IPV4 = 270,
232 >    CIDR_BITLEN_IPV6 = 271,
233 >    CLASS = 272,
234 >    CONNECT = 273,
235 >    CONNECTFREQ = 274,
236 >    CYCLE_ON_HOST_CHANGE = 275,
237 >    DEFAULT_FLOODCOUNT = 276,
238 >    DEFAULT_SPLIT_SERVER_COUNT = 277,
239 >    DEFAULT_SPLIT_USER_COUNT = 278,
240 >    DENY = 279,
241 >    DESCRIPTION = 280,
242 >    DIE = 281,
243 >    DISABLE_AUTH = 282,
244 >    DISABLE_FAKE_CHANNELS = 283,
245 >    DISABLE_REMOTE_COMMANDS = 284,
246 >    DOTS_IN_IDENT = 285,
247 >    EGDPOOL_PATH = 286,
248 >    EMAIL = 287,
249 >    ENCRYPTED = 288,
250 >    EXCEED_LIMIT = 289,
251 >    EXEMPT = 290,
252 >    FAILED_OPER_NOTICE = 291,
253 >    FLATTEN_LINKS = 292,
254 >    GECOS = 293,
255 >    GENERAL = 294,
256 >    GLINE = 295,
257 >    GLINE_DURATION = 296,
258 >    GLINE_ENABLE = 297,
259 >    GLINE_EXEMPT = 298,
260 >    GLINE_MIN_CIDR = 299,
261 >    GLINE_MIN_CIDR6 = 300,
262 >    GLINE_REQUEST_DURATION = 301,
263 >    GLOBAL_KILL = 302,
264 >    HAVENT_READ_CONF = 303,
265 >    HIDDEN = 304,
266 >    HIDDEN_NAME = 305,
267 >    HIDE_CHANS = 306,
268 >    HIDE_IDLE = 307,
269 >    HIDE_IDLE_FROM_OPERS = 308,
270 >    HIDE_SERVER_IPS = 309,
271 >    HIDE_SERVERS = 310,
272 >    HIDE_SERVICES = 311,
273 >    HIDE_SPOOF_IPS = 312,
274 >    HOST = 313,
275 >    HUB = 314,
276 >    HUB_MASK = 315,
277 >    IGNORE_BOGUS_TS = 316,
278 >    INVISIBLE_ON_CONNECT = 317,
279 >    INVITE_CLIENT_COUNT = 318,
280 >    INVITE_CLIENT_TIME = 319,
281 >    IP = 320,
282 >    IRCD_AUTH = 321,
283 >    IRCD_FLAGS = 322,
284 >    IRCD_SID = 323,
285 >    JOIN_FLOOD_COUNT = 324,
286 >    JOIN_FLOOD_TIME = 325,
287 >    KILL = 326,
288 >    KILL_CHASE_TIME_LIMIT = 327,
289 >    KLINE = 328,
290 >    KLINE_EXEMPT = 329,
291 >    KNOCK_CLIENT_COUNT = 330,
292 >    KNOCK_CLIENT_TIME = 331,
293 >    KNOCK_DELAY_CHANNEL = 332,
294 >    LEAF_MASK = 333,
295 >    LINKS_DELAY = 334,
296 >    LISTEN = 335,
297 >    MASK = 336,
298 >    MAX_ACCEPT = 337,
299 >    MAX_BANS = 338,
300 >    MAX_CHANNELS = 339,
301 >    MAX_GLOBAL = 340,
302 >    MAX_IDENT = 341,
303 >    MAX_IDLE = 342,
304 >    MAX_LOCAL = 343,
305 >    MAX_NICK_CHANGES = 344,
306 >    MAX_NICK_LENGTH = 345,
307 >    MAX_NICK_TIME = 346,
308 >    MAX_NUMBER = 347,
309 >    MAX_TARGETS = 348,
310 >    MAX_TOPIC_LENGTH = 349,
311 >    MAX_WATCH = 350,
312 >    MIN_IDLE = 351,
313 >    MIN_NONWILDCARD = 352,
314 >    MIN_NONWILDCARD_SIMPLE = 353,
315 >    MODULE = 354,
316 >    MODULES = 355,
317 >    MOTD = 356,
318 >    NAME = 357,
319 >    NEED_IDENT = 358,
320 >    NEED_PASSWORD = 359,
321 >    NETWORK_DESC = 360,
322 >    NETWORK_NAME = 361,
323 >    NICK = 362,
324 >    NO_CREATE_ON_SPLIT = 363,
325 >    NO_JOIN_ON_SPLIT = 364,
326 >    NO_OPER_FLOOD = 365,
327 >    NO_TILDE = 366,
328 >    NUMBER = 367,
329 >    NUMBER_PER_CIDR = 368,
330 >    NUMBER_PER_IP = 369,
331 >    OPER_ONLY_UMODES = 370,
332 >    OPER_PASS_RESV = 371,
333 >    OPER_UMODES = 372,
334 >    OPERATOR = 373,
335 >    OPERS_BYPASS_CALLERID = 374,
336 >    PACE_WAIT = 375,
337 >    PACE_WAIT_SIMPLE = 376,
338 >    PASSWORD = 377,
339 >    PATH = 378,
340 >    PING_COOKIE = 379,
341 >    PING_TIME = 380,
342 >    PORT = 381,
343 >    QSTRING = 382,
344 >    RANDOM_IDLE = 383,
345 >    REASON = 384,
346 >    REDIRPORT = 385,
347 >    REDIRSERV = 386,
348 >    REHASH = 387,
349 >    REMOTE = 388,
350 >    REMOTEBAN = 389,
351 >    RESV = 390,
352 >    RESV_EXEMPT = 391,
353 >    RSA_PRIVATE_KEY_FILE = 392,
354 >    RSA_PUBLIC_KEY_FILE = 393,
355 >    SECONDS = 394,
356 >    MINUTES = 395,
357 >    HOURS = 396,
358 >    DAYS = 397,
359 >    WEEKS = 398,
360 >    MONTHS = 399,
361 >    YEARS = 400,
362 >    SEND_PASSWORD = 401,
363 >    SENDQ = 402,
364 >    SERVERHIDE = 403,
365 >    SERVERINFO = 404,
366 >    SHORT_MOTD = 405,
367 >    SPOOF = 406,
368 >    SPOOF_NOTICE = 407,
369 >    SQUIT = 408,
370 >    SSL_CERTIFICATE_FILE = 409,
371 >    SSL_CERTIFICATE_FINGERPRINT = 410,
372 >    SSL_CONNECTION_REQUIRED = 411,
373 >    SSL_DH_ELLIPTIC_CURVE = 412,
374 >    SSL_DH_PARAM_FILE = 413,
375 >    SSL_MESSAGE_DIGEST_ALGORITHM = 414,
376 >    STATS_E_DISABLED = 415,
377 >    STATS_I_OPER_ONLY = 416,
378 >    STATS_K_OPER_ONLY = 417,
379 >    STATS_O_OPER_ONLY = 418,
380 >    STATS_P_OPER_ONLY = 419,
381 >    STATS_U_OPER_ONLY = 420,
382 >    T_ALL = 421,
383 >    T_BOTS = 422,
384 >    T_CALLERID = 423,
385 >    T_CCONN = 424,
386 >    T_CLUSTER = 425,
387 >    T_DEAF = 426,
388 >    T_DEBUG = 427,
389 >    T_DLINE = 428,
390 >    T_EXTERNAL = 429,
391 >    T_FARCONNECT = 430,
392 >    T_FILE = 431,
393 >    T_FULL = 432,
394 >    T_GLOBOPS = 433,
395 >    T_INVISIBLE = 434,
396 >    T_IPV4 = 435,
397 >    T_IPV6 = 436,
398 >    T_LOCOPS = 437,
399 >    T_LOG = 438,
400 >    T_MAX_CLIENTS = 439,
401 >    T_NCHANGE = 440,
402 >    T_NONONREG = 441,
403 >    T_RECVQ = 442,
404 >    T_REJ = 443,
405 >    T_RESTART = 444,
406 >    T_SERVER = 445,
407 >    T_SERVICE = 446,
408 >    T_SERVICES_NAME = 447,
409 >    T_SERVNOTICE = 448,
410 >    T_SET = 449,
411 >    T_SHARED = 450,
412 >    T_SIZE = 451,
413 >    T_SKILL = 452,
414 >    T_SOFTCALLERID = 453,
415 >    T_SPY = 454,
416 >    T_SSL = 455,
417 >    T_SSL_CIPHER_LIST = 456,
418 >    T_SSL_CLIENT_METHOD = 457,
419 >    T_SSL_SERVER_METHOD = 458,
420 >    T_SSLV3 = 459,
421 >    T_TLSV1 = 460,
422 >    T_UMODES = 461,
423 >    T_UNAUTH = 462,
424 >    T_UNDLINE = 463,
425 >    T_UNLIMITED = 464,
426 >    T_UNRESV = 465,
427 >    T_UNXLINE = 466,
428 >    T_WALLOP = 467,
429 >    T_WALLOPS = 468,
430 >    T_WEBIRC = 469,
431 >    TBOOL = 470,
432 >    THROTTLE_COUNT = 471,
433 >    THROTTLE_TIME = 472,
434 >    TKLINE_EXPIRE_NOTICES = 473,
435 >    TMASKED = 474,
436 >    TRUE_NO_OPER_FLOOD = 475,
437 >    TS_MAX_DELTA = 476,
438 >    TS_WARN_DELTA = 477,
439 >    TWODOTS = 478,
440 >    TYPE = 479,
441 >    UNKLINE = 480,
442 >    USE_EGD = 481,
443 >    USE_LOGGING = 482,
444 >    USER = 483,
445 >    VHOST = 484,
446 >    VHOST6 = 485,
447 >    WARN_NO_CONNECT_BLOCK = 486,
448 >    XLINE = 487
449 >  };
450   #endif
451   /* Tokens.  */
452   #define ACCEPT_PASSWORD 258
# Line 442 | Line 466 | extern int yydebug;
466   #define CLASS 272
467   #define CONNECT 273
468   #define CONNECTFREQ 274
469 < #define DEFAULT_FLOODCOUNT 275
470 < #define DEFAULT_SPLIT_SERVER_COUNT 276
471 < #define DEFAULT_SPLIT_USER_COUNT 277
472 < #define DENY 278
473 < #define DESCRIPTION 279
474 < #define DIE 280
475 < #define DISABLE_AUTH 281
476 < #define DISABLE_FAKE_CHANNELS 282
477 < #define DISABLE_REMOTE_COMMANDS 283
478 < #define DOTS_IN_IDENT 284
479 < #define EGDPOOL_PATH 285
480 < #define EMAIL 286
481 < #define ENCRYPTED 287
482 < #define EXCEED_LIMIT 288
483 < #define EXEMPT 289
484 < #define FAILED_OPER_NOTICE 290
485 < #define IRCD_FLAGS 291
469 > #define CYCLE_ON_HOST_CHANGE 275
470 > #define DEFAULT_FLOODCOUNT 276
471 > #define DEFAULT_SPLIT_SERVER_COUNT 277
472 > #define DEFAULT_SPLIT_USER_COUNT 278
473 > #define DENY 279
474 > #define DESCRIPTION 280
475 > #define DIE 281
476 > #define DISABLE_AUTH 282
477 > #define DISABLE_FAKE_CHANNELS 283
478 > #define DISABLE_REMOTE_COMMANDS 284
479 > #define DOTS_IN_IDENT 285
480 > #define EGDPOOL_PATH 286
481 > #define EMAIL 287
482 > #define ENCRYPTED 288
483 > #define EXCEED_LIMIT 289
484 > #define EXEMPT 290
485 > #define FAILED_OPER_NOTICE 291
486   #define FLATTEN_LINKS 292
487   #define GECOS 293
488   #define GENERAL 294
# Line 466 | Line 490 | extern int yydebug;
490   #define GLINE_DURATION 296
491   #define GLINE_ENABLE 297
492   #define GLINE_EXEMPT 298
493 < #define GLINE_REQUEST_DURATION 299
494 < #define GLINE_MIN_CIDR 300
495 < #define GLINE_MIN_CIDR6 301
493 > #define GLINE_MIN_CIDR 299
494 > #define GLINE_MIN_CIDR6 300
495 > #define GLINE_REQUEST_DURATION 301
496   #define GLOBAL_KILL 302
497 < #define IRCD_AUTH 303
498 < #define NEED_IDENT 304
499 < #define HAVENT_READ_CONF 305
500 < #define HIDDEN 306
501 < #define HIDDEN_NAME 307
502 < #define HIDE_SERVER_IPS 308
503 < #define HIDE_SERVERS 309
504 < #define HIDE_SPOOF_IPS 310
505 < #define HOST 311
506 < #define HUB 312
507 < #define HUB_MASK 313
508 < #define IGNORE_BOGUS_TS 314
509 < #define INVISIBLE_ON_CONNECT 315
510 < #define IP 316
511 < #define KILL 317
512 < #define KILL_CHASE_TIME_LIMIT 318
513 < #define KLINE 319
514 < #define KLINE_EXEMPT 320
515 < #define KNOCK_DELAY 321
516 < #define KNOCK_DELAY_CHANNEL 322
517 < #define LEAF_MASK 323
518 < #define LINKS_DELAY 324
519 < #define LISTEN 325
520 < #define T_LOG 326
521 < #define MAX_ACCEPT 327
522 < #define MAX_BANS 328
523 < #define MAX_CHANS_PER_OPER 329
524 < #define MAX_CHANS_PER_USER 330
525 < #define MAX_GLOBAL 331
526 < #define MAX_IDENT 332
527 < #define MAX_LOCAL 333
528 < #define MAX_NICK_CHANGES 334
529 < #define MAX_NICK_TIME 335
530 < #define MAX_NUMBER 336
531 < #define MAX_TARGETS 337
532 < #define MAX_WATCH 338
533 < #define MESSAGE_LOCALE 339
534 < #define MIN_NONWILDCARD 340
535 < #define MIN_NONWILDCARD_SIMPLE 341
536 < #define MODULE 342
537 < #define MODULES 343
538 < #define NAME 344
539 < #define NEED_PASSWORD 345
540 < #define NETWORK_DESC 346
541 < #define NETWORK_NAME 347
542 < #define NICK 348
543 < #define NICK_CHANGES 349
544 < #define NO_CREATE_ON_SPLIT 350
545 < #define NO_JOIN_ON_SPLIT 351
546 < #define NO_OPER_FLOOD 352
547 < #define NO_TILDE 353
548 < #define NUMBER 354
549 < #define NUMBER_PER_CIDR 355
550 < #define NUMBER_PER_IP 356
551 < #define OPERATOR 357
552 < #define OPERS_BYPASS_CALLERID 358
553 < #define OPER_ONLY_UMODES 359
554 < #define OPER_PASS_RESV 360
555 < #define OPER_SPY_T 361
556 < #define OPER_UMODES 362
557 < #define JOIN_FLOOD_COUNT 363
558 < #define JOIN_FLOOD_TIME 364
559 < #define PACE_WAIT 365
560 < #define PACE_WAIT_SIMPLE 366
561 < #define PASSWORD 367
562 < #define PATH 368
563 < #define PING_COOKIE 369
564 < #define PING_TIME 370
565 < #define PORT 371
566 < #define QSTRING 372
567 < #define QUIET_ON_BAN 373
568 < #define REASON 374
569 < #define REDIRPORT 375
570 < #define REDIRSERV 376
571 < #define REGEX_T 377
572 < #define REHASH 378
573 < #define REMOTE 379
574 < #define REMOTEBAN 380
575 < #define RESTRICT_CHANNELS 381
576 < #define RSA_PRIVATE_KEY_FILE 382
577 < #define RSA_PUBLIC_KEY_FILE 383
578 < #define SSL_CERTIFICATE_FILE 384
579 < #define SSL_DH_PARAM_FILE 385
580 < #define T_SSL_CLIENT_METHOD 386
581 < #define T_SSL_SERVER_METHOD 387
582 < #define T_SSLV3 388
583 < #define T_TLSV1 389
497 > #define HAVENT_READ_CONF 303
498 > #define HIDDEN 304
499 > #define HIDDEN_NAME 305
500 > #define HIDE_CHANS 306
501 > #define HIDE_IDLE 307
502 > #define HIDE_IDLE_FROM_OPERS 308
503 > #define HIDE_SERVER_IPS 309
504 > #define HIDE_SERVERS 310
505 > #define HIDE_SERVICES 311
506 > #define HIDE_SPOOF_IPS 312
507 > #define HOST 313
508 > #define HUB 314
509 > #define HUB_MASK 315
510 > #define IGNORE_BOGUS_TS 316
511 > #define INVISIBLE_ON_CONNECT 317
512 > #define INVITE_CLIENT_COUNT 318
513 > #define INVITE_CLIENT_TIME 319
514 > #define IP 320
515 > #define IRCD_AUTH 321
516 > #define IRCD_FLAGS 322
517 > #define IRCD_SID 323
518 > #define JOIN_FLOOD_COUNT 324
519 > #define JOIN_FLOOD_TIME 325
520 > #define KILL 326
521 > #define KILL_CHASE_TIME_LIMIT 327
522 > #define KLINE 328
523 > #define KLINE_EXEMPT 329
524 > #define KNOCK_CLIENT_COUNT 330
525 > #define KNOCK_CLIENT_TIME 331
526 > #define KNOCK_DELAY_CHANNEL 332
527 > #define LEAF_MASK 333
528 > #define LINKS_DELAY 334
529 > #define LISTEN 335
530 > #define MASK 336
531 > #define MAX_ACCEPT 337
532 > #define MAX_BANS 338
533 > #define MAX_CHANNELS 339
534 > #define MAX_GLOBAL 340
535 > #define MAX_IDENT 341
536 > #define MAX_IDLE 342
537 > #define MAX_LOCAL 343
538 > #define MAX_NICK_CHANGES 344
539 > #define MAX_NICK_LENGTH 345
540 > #define MAX_NICK_TIME 346
541 > #define MAX_NUMBER 347
542 > #define MAX_TARGETS 348
543 > #define MAX_TOPIC_LENGTH 349
544 > #define MAX_WATCH 350
545 > #define MIN_IDLE 351
546 > #define MIN_NONWILDCARD 352
547 > #define MIN_NONWILDCARD_SIMPLE 353
548 > #define MODULE 354
549 > #define MODULES 355
550 > #define MOTD 356
551 > #define NAME 357
552 > #define NEED_IDENT 358
553 > #define NEED_PASSWORD 359
554 > #define NETWORK_DESC 360
555 > #define NETWORK_NAME 361
556 > #define NICK 362
557 > #define NO_CREATE_ON_SPLIT 363
558 > #define NO_JOIN_ON_SPLIT 364
559 > #define NO_OPER_FLOOD 365
560 > #define NO_TILDE 366
561 > #define NUMBER 367
562 > #define NUMBER_PER_CIDR 368
563 > #define NUMBER_PER_IP 369
564 > #define OPER_ONLY_UMODES 370
565 > #define OPER_PASS_RESV 371
566 > #define OPER_UMODES 372
567 > #define OPERATOR 373
568 > #define OPERS_BYPASS_CALLERID 374
569 > #define PACE_WAIT 375
570 > #define PACE_WAIT_SIMPLE 376
571 > #define PASSWORD 377
572 > #define PATH 378
573 > #define PING_COOKIE 379
574 > #define PING_TIME 380
575 > #define PORT 381
576 > #define QSTRING 382
577 > #define RANDOM_IDLE 383
578 > #define REASON 384
579 > #define REDIRPORT 385
580 > #define REDIRSERV 386
581 > #define REHASH 387
582 > #define REMOTE 388
583 > #define REMOTEBAN 389
584   #define RESV 390
585   #define RESV_EXEMPT 391
586 < #define SECONDS 392
587 < #define MINUTES 393
588 < #define HOURS 394
589 < #define DAYS 395
590 < #define WEEKS 396
591 < #define SENDQ 397
592 < #define SEND_PASSWORD 398
593 < #define SERVERHIDE 399
594 < #define SERVERINFO 400
595 < #define IRCD_SID 401
596 < #define TKLINE_EXPIRE_NOTICES 402
597 < #define T_SHARED 403
598 < #define T_CLUSTER 404
599 < #define TYPE 405
600 < #define SHORT_MOTD 406
601 < #define SPOOF 407
602 < #define SPOOF_NOTICE 408
603 < #define STATS_E_DISABLED 409
604 < #define STATS_I_OPER_ONLY 410
605 < #define STATS_K_OPER_ONLY 411
606 < #define STATS_O_OPER_ONLY 412
607 < #define STATS_P_OPER_ONLY 413
608 < #define TBOOL 414
609 < #define TMASKED 415
610 < #define TS_MAX_DELTA 416
611 < #define TS_WARN_DELTA 417
612 < #define TWODOTS 418
613 < #define T_ALL 419
614 < #define T_BOTS 420
615 < #define T_SOFTCALLERID 421
616 < #define T_CALLERID 422
617 < #define T_CCONN 423
618 < #define T_CCONN_FULL 424
619 < #define T_SSL_CIPHER_LIST 425
586 > #define RSA_PRIVATE_KEY_FILE 392
587 > #define RSA_PUBLIC_KEY_FILE 393
588 > #define SECONDS 394
589 > #define MINUTES 395
590 > #define HOURS 396
591 > #define DAYS 397
592 > #define WEEKS 398
593 > #define MONTHS 399
594 > #define YEARS 400
595 > #define SEND_PASSWORD 401
596 > #define SENDQ 402
597 > #define SERVERHIDE 403
598 > #define SERVERINFO 404
599 > #define SHORT_MOTD 405
600 > #define SPOOF 406
601 > #define SPOOF_NOTICE 407
602 > #define SQUIT 408
603 > #define SSL_CERTIFICATE_FILE 409
604 > #define SSL_CERTIFICATE_FINGERPRINT 410
605 > #define SSL_CONNECTION_REQUIRED 411
606 > #define SSL_DH_ELLIPTIC_CURVE 412
607 > #define SSL_DH_PARAM_FILE 413
608 > #define SSL_MESSAGE_DIGEST_ALGORITHM 414
609 > #define STATS_E_DISABLED 415
610 > #define STATS_I_OPER_ONLY 416
611 > #define STATS_K_OPER_ONLY 417
612 > #define STATS_O_OPER_ONLY 418
613 > #define STATS_P_OPER_ONLY 419
614 > #define STATS_U_OPER_ONLY 420
615 > #define T_ALL 421
616 > #define T_BOTS 422
617 > #define T_CALLERID 423
618 > #define T_CCONN 424
619 > #define T_CLUSTER 425
620   #define T_DEAF 426
621   #define T_DEBUG 427
622   #define T_DLINE 428
623   #define T_EXTERNAL 429
624 < #define T_FULL 430
625 < #define T_INVISIBLE 431
626 < #define T_IPV4 432
627 < #define T_IPV6 433
628 < #define T_LOCOPS 434
629 < #define T_MAX_CLIENTS 435
630 < #define T_NCHANGE 436
631 < #define T_OPERWALL 437
632 < #define T_RECVQ 438
633 < #define T_REJ 439
634 < #define T_SERVER 440
635 < #define T_SERVNOTICE 441
636 < #define T_SET 442
637 < #define T_SKILL 443
638 < #define T_SPY 444
639 < #define T_SSL 445
640 < #define T_UMODES 446
641 < #define T_UNAUTH 447
642 < #define T_UNDLINE 448
643 < #define T_UNLIMITED 449
644 < #define T_UNRESV 450
645 < #define T_UNXLINE 451
646 < #define T_GLOBOPS 452
647 < #define T_WALLOP 453
648 < #define T_WEBIRC 454
649 < #define T_RESTART 455
650 < #define T_SERVICE 456
651 < #define T_SERVICES_NAME 457
652 < #define THROTTLE_TIME 458
653 < #define TRUE_NO_OPER_FLOOD 459
654 < #define UNKLINE 460
655 < #define USER 461
656 < #define USE_EGD 462
657 < #define USE_LOGGING 463
658 < #define VHOST 464
659 < #define VHOST6 465
660 < #define XLINE 466
661 < #define WARN_NO_NLINE 467
662 < #define T_SIZE 468
663 < #define T_FILE 469
664 <
665 <
624 > #define T_FARCONNECT 430
625 > #define T_FILE 431
626 > #define T_FULL 432
627 > #define T_GLOBOPS 433
628 > #define T_INVISIBLE 434
629 > #define T_IPV4 435
630 > #define T_IPV6 436
631 > #define T_LOCOPS 437
632 > #define T_LOG 438
633 > #define T_MAX_CLIENTS 439
634 > #define T_NCHANGE 440
635 > #define T_NONONREG 441
636 > #define T_RECVQ 442
637 > #define T_REJ 443
638 > #define T_RESTART 444
639 > #define T_SERVER 445
640 > #define T_SERVICE 446
641 > #define T_SERVICES_NAME 447
642 > #define T_SERVNOTICE 448
643 > #define T_SET 449
644 > #define T_SHARED 450
645 > #define T_SIZE 451
646 > #define T_SKILL 452
647 > #define T_SOFTCALLERID 453
648 > #define T_SPY 454
649 > #define T_SSL 455
650 > #define T_SSL_CIPHER_LIST 456
651 > #define T_SSL_CLIENT_METHOD 457
652 > #define T_SSL_SERVER_METHOD 458
653 > #define T_SSLV3 459
654 > #define T_TLSV1 460
655 > #define T_UMODES 461
656 > #define T_UNAUTH 462
657 > #define T_UNDLINE 463
658 > #define T_UNLIMITED 464
659 > #define T_UNRESV 465
660 > #define T_UNXLINE 466
661 > #define T_WALLOP 467
662 > #define T_WALLOPS 468
663 > #define T_WEBIRC 469
664 > #define TBOOL 470
665 > #define THROTTLE_COUNT 471
666 > #define THROTTLE_TIME 472
667 > #define TKLINE_EXPIRE_NOTICES 473
668 > #define TMASKED 474
669 > #define TRUE_NO_OPER_FLOOD 475
670 > #define TS_MAX_DELTA 476
671 > #define TS_WARN_DELTA 477
672 > #define TWODOTS 478
673 > #define TYPE 479
674 > #define UNKLINE 480
675 > #define USE_EGD 481
676 > #define USE_LOGGING 482
677 > #define USER 483
678 > #define VHOST 484
679 > #define VHOST6 485
680 > #define WARN_NO_CONNECT_BLOCK 486
681 > #define XLINE 487
682  
683 + /* Value type.  */
684   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
685 < typedef union YYSTYPE
685 > typedef union YYSTYPE YYSTYPE;
686 > union YYSTYPE
687   {
688 < /* Line 387 of yacc.c  */
647 < #line 135 "conf_parser.y"
688 > #line 147 "conf_parser.y" /* yacc.c:355  */
689  
690    int number;
691    char *string;
692  
693 <
694 < /* Line 387 of yacc.c  */
654 < #line 655 "conf_parser.c"
655 < } YYSTYPE;
693 > #line 694 "conf_parser.c" /* yacc.c:355  */
694 > };
695   # define YYSTYPE_IS_TRIVIAL 1
657 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
696   # define YYSTYPE_IS_DECLARED 1
697   #endif
698  
699 +
700   extern YYSTYPE yylval;
701  
663 #ifdef YYPARSE_PARAM
664 #if defined __STDC__ || defined __cplusplus
665 int yyparse (void *YYPARSE_PARAM);
666 #else
667 int yyparse ();
668 #endif
669 #else /* ! YYPARSE_PARAM */
670 #if defined __STDC__ || defined __cplusplus
702   int yyparse (void);
672 #else
673 int yyparse ();
674 #endif
675 #endif /* ! YYPARSE_PARAM */
703  
704   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
705  
706   /* Copy the second part of user declarations.  */
707  
708 < /* Line 390 of yacc.c  */
682 < #line 683 "conf_parser.c"
708 > #line 709 "conf_parser.c" /* yacc.c:358  */
709  
710   #ifdef short
711   # undef short
# Line 693 | Line 719 | typedef unsigned char yytype_uint8;
719  
720   #ifdef YYTYPE_INT8
721   typedef YYTYPE_INT8 yytype_int8;
696 #elif (defined __STDC__ || defined __C99__FUNC__ \
697     || defined __cplusplus || defined _MSC_VER)
698 typedef signed char yytype_int8;
722   #else
723 < typedef short int yytype_int8;
723 > typedef signed char yytype_int8;
724   #endif
725  
726   #ifdef YYTYPE_UINT16
# Line 717 | Line 740 | typedef short int yytype_int16;
740   #  define YYSIZE_T __SIZE_TYPE__
741   # elif defined size_t
742   #  define YYSIZE_T size_t
743 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
721 <     || defined __cplusplus || defined _MSC_VER)
743 > # elif ! defined YYSIZE_T
744   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
745   #  define YYSIZE_T size_t
746   # else
# Line 740 | Line 762 | typedef short int yytype_int16;
762   # endif
763   #endif
764  
765 + #ifndef YY_ATTRIBUTE
766 + # if (defined __GNUC__                                               \
767 +      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
768 +     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
769 + #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
770 + # else
771 + #  define YY_ATTRIBUTE(Spec) /* empty */
772 + # endif
773 + #endif
774 +
775 + #ifndef YY_ATTRIBUTE_PURE
776 + # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
777 + #endif
778 +
779 + #ifndef YY_ATTRIBUTE_UNUSED
780 + # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
781 + #endif
782 +
783 + #if !defined _Noreturn \
784 +     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
785 + # if defined _MSC_VER && 1200 <= _MSC_VER
786 + #  define _Noreturn __declspec (noreturn)
787 + # else
788 + #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
789 + # endif
790 + #endif
791 +
792   /* Suppress unused-variable warnings by "using" E.  */
793   #if ! defined lint || defined __GNUC__
794   # define YYUSE(E) ((void) (E))
# Line 747 | Line 796 | typedef short int yytype_int16;
796   # define YYUSE(E) /* empty */
797   #endif
798  
799 < /* Identity function, used to suppress warnings about constant conditions.  */
800 < #ifndef lint
801 < # define YYID(N) (N)
799 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
800 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
801 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
802 >    _Pragma ("GCC diagnostic push") \
803 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
804 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
805 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
806 >    _Pragma ("GCC diagnostic pop")
807   #else
808 < #if (defined __STDC__ || defined __C99__FUNC__ \
755 <     || defined __cplusplus || defined _MSC_VER)
756 < static int
757 < YYID (int yyi)
758 < #else
759 < static int
760 < YYID (yyi)
761 <    int yyi;
808 > # define YY_INITIAL_VALUE(Value) Value
809   #endif
810 < {
811 <  return yyi;
812 < }
810 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
811 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
812 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
813 > #endif
814 > #ifndef YY_INITIAL_VALUE
815 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
816   #endif
817  
818 +
819   #if ! defined yyoverflow || YYERROR_VERBOSE
820  
821   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 782 | Line 833 | YYID (yyi)
833   #    define alloca _alloca
834   #   else
835   #    define YYSTACK_ALLOC alloca
836 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
786 <     || defined __cplusplus || defined _MSC_VER)
836 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
837   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
838        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
839   #     ifndef EXIT_SUCCESS
# Line 795 | Line 845 | YYID (yyi)
845   # endif
846  
847   # ifdef YYSTACK_ALLOC
848 <   /* Pacify GCC's `empty if-body' warning.  */
849 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
848 >   /* Pacify GCC's 'empty if-body' warning.  */
849 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
850   #  ifndef YYSTACK_ALLOC_MAXIMUM
851      /* The OS might guarantee only one guard page at the bottom of the stack,
852         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 812 | Line 862 | YYID (yyi)
862   #  endif
863   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
864         && ! ((defined YYMALLOC || defined malloc) \
865 <             && (defined YYFREE || defined free)))
865 >             && (defined YYFREE || defined free)))
866   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
867   #   ifndef EXIT_SUCCESS
868   #    define EXIT_SUCCESS 0
# Line 820 | Line 870 | YYID (yyi)
870   #  endif
871   #  ifndef YYMALLOC
872   #   define YYMALLOC malloc
873 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
824 <     || defined __cplusplus || defined _MSC_VER)
873 > #   if ! defined malloc && ! defined EXIT_SUCCESS
874   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
875   #   endif
876   #  endif
877   #  ifndef YYFREE
878   #   define YYFREE free
879 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
831 <     || defined __cplusplus || defined _MSC_VER)
879 > #   if ! defined free && ! defined EXIT_SUCCESS
880   void free (void *); /* INFRINGES ON USER NAME SPACE */
881   #   endif
882   #  endif
# Line 838 | Line 886 | void free (void *); /* INFRINGES ON USER
886  
887   #if (! defined yyoverflow \
888       && (! defined __cplusplus \
889 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
889 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
890  
891   /* A type that is properly aligned for any stack member.  */
892   union yyalloc
# Line 863 | Line 911 | union yyalloc
911     elements in the stack, and YYPTR gives the new location of the
912     stack.  Advance YYPTR to a properly aligned location for the next
913     stack.  */
914 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
915 <    do                                                                  \
916 <      {                                                                 \
917 <        YYSIZE_T yynewbytes;                                            \
918 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
919 <        Stack = &yyptr->Stack_alloc;                                    \
920 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
921 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
922 <      }                                                                 \
923 <    while (YYID (0))
914 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
915 >    do                                                                  \
916 >      {                                                                 \
917 >        YYSIZE_T yynewbytes;                                            \
918 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
919 >        Stack = &yyptr->Stack_alloc;                                    \
920 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
921 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
922 >      }                                                                 \
923 >    while (0)
924  
925   #endif
926  
# Line 891 | Line 939 | union yyalloc
939            for (yyi = 0; yyi < (Count); yyi++)   \
940              (Dst)[yyi] = (Src)[yyi];            \
941          }                                       \
942 <      while (YYID (0))
942 >      while (0)
943   #  endif
944   # endif
945   #endif /* !YYCOPY_NEEDED */
# Line 899 | Line 947 | union yyalloc
947   /* YYFINAL -- State number of the termination state.  */
948   #define YYFINAL  2
949   /* YYLAST -- Last index in YYTABLE.  */
950 < #define YYLAST   1132
950 > #define YYLAST   1377
951  
952   /* YYNTOKENS -- Number of terminals.  */
953 < #define YYNTOKENS  220
953 > #define YYNTOKENS  239
954   /* YYNNTS -- Number of nonterminals.  */
955 < #define YYNNTS  282
955 > #define YYNNTS  297
956   /* YYNRULES -- Number of rules.  */
957 < #define YYNRULES  626
958 < /* YYNRULES -- Number of states.  */
959 < #define YYNSTATES  1224
957 > #define YYNRULES  669
958 > /* YYNSTATES -- Number of states.  */
959 > #define YYNSTATES  1318
960  
961 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
961 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
962 >   by yylex, with out-of-bounds checking.  */
963   #define YYUNDEFTOK  2
964 < #define YYMAXUTOK   469
964 > #define YYMAXUTOK   487
965  
966 < #define YYTRANSLATE(YYX)                                                \
966 > #define YYTRANSLATE(YYX)                                                \
967    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
968  
969 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
969 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
970 >   as returned by yylex, without out-of-bounds checking.  */
971   static const yytype_uint8 yytranslate[] =
972   {
973         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
974         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
976         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
977 <       2,     2,     2,     2,   219,     2,     2,     2,     2,     2,
978 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   215,
979 <       2,   218,     2,     2,     2,     2,     2,     2,     2,     2,
977 >       2,     2,     2,     2,   237,     2,     2,     2,     2,     2,
978 >       2,     2,     2,     2,     2,     2,     2,     2,   238,   233,
979 >       2,   236,     2,     2,     2,     2,     2,     2,     2,     2,
980         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
984         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
985 <       2,     2,     2,   217,     2,   216,     2,     2,     2,     2,
985 >       2,     2,     2,   235,     2,   234,     2,     2,     2,     2,
986         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
987         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
988         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 966 | Line 1016 | static const yytype_uint8 yytranslate[]
1016       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1017       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1018       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1019 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214
1019 >     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1020 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1021 >     225,   226,   227,   228,   229,   230,   231,   232
1022   };
1023  
1024   #if YYDEBUG
1025 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
974 <   YYRHS.  */
975 < static const yytype_uint16 yyprhs[] =
976 < {
977 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
978 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
979 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
980 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
981 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
982 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
983 <     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
984 <     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
985 <     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
986 <     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
987 <     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
988 <     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
989 <     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
990 <     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
991 <     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
992 <     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
993 <     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
994 <     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
995 <     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
996 <     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
997 <     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
998 <     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
999 <     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1000 <     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1001 <     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1002 <     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1003 <     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1004 <     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1005 <     814,   816,   821,   826,   831,   832,   839,   842,   844,   846,
1006 <     848,   850,   853,   858,   863,   868,   874,   877,   879,   881,
1007 <     883,   888,   889,   896,   899,   901,   903,   905,   907,   910,
1008 <     915,   920,   921,   927,   931,   933,   935,   937,   939,   941,
1009 <     943,   945,   947,   949,   951,   953,   954,   961,   964,   966,
1010 <     968,   970,   973,   978,   979,   985,   989,   991,   993,   995,
1011 <     997,   999,  1001,  1003,  1005,  1007,  1009,  1011,  1012,  1019,
1012 <    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1013 <    1042,  1044,  1046,  1048,  1050,  1053,  1058,  1063,  1068,  1073,
1014 <    1078,  1083,  1088,  1093,  1094,  1100,  1104,  1106,  1108,  1110,
1015 <    1115,  1120,  1125,  1130,  1135,  1136,  1143,  1144,  1150,  1154,
1016 <    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1176,  1181,
1017 <    1182,  1189,  1192,  1194,  1196,  1198,  1200,  1205,  1210,  1216,
1018 <    1219,  1221,  1223,  1225,  1230,  1231,  1238,  1239,  1245,  1249,
1019 <    1251,  1253,  1256,  1258,  1260,  1262,  1264,  1266,  1271,  1276,
1020 <    1282,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1021 <    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1022 <    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1023 <    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1024 <    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1025 <    1383,  1385,  1387,  1392,  1397,  1402,  1407,  1412,  1417,  1422,
1026 <    1427,  1432,  1437,  1442,  1447,  1452,  1457,  1462,  1467,  1472,
1027 <    1477,  1482,  1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,
1028 <    1527,  1532,  1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,
1029 <    1577,  1582,  1587,  1592,  1597,  1602,  1607,  1612,  1617,  1618,
1030 <    1624,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1031 <    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1032 <    1666,  1668,  1670,  1671,  1677,  1681,  1683,  1685,  1687,  1689,
1033 <    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1034 <    1711,  1713,  1715,  1717,  1719,  1721,  1723,  1728,  1733,  1738,
1035 <    1744,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1036 <    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1779,  1784,  1789,
1037 <    1794,  1799,  1804,  1809,  1814,  1819,  1824,  1829,  1834,  1839,
1038 <    1844,  1849,  1855,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1039 <    1872,  1874,  1879,  1884,  1889,  1894,  1899
1040 < };
1041 <
1042 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1043 < static const yytype_int16 yyrhs[] =
1044 < {
1045 <     221,     0,    -1,    -1,   221,   222,    -1,   254,    -1,   260,
1046 <      -1,   274,    -1,   476,    -1,   292,    -1,   309,    -1,   323,
1047 <      -1,   232,    -1,   493,    -1,   338,    -1,   345,    -1,   349,
1048 <      -1,   359,    -1,   368,    -1,   388,    -1,   398,    -1,   404,
1049 <      -1,   418,    -1,   408,    -1,   227,    -1,     1,   215,    -1,
1050 <       1,   216,    -1,    -1,   224,    -1,    99,   223,    -1,    99,
1051 <     137,   223,    -1,    99,   138,   223,    -1,    99,   139,   223,
1052 <      -1,    99,   140,   223,    -1,    99,   141,   223,    -1,    -1,
1053 <     226,    -1,    99,   225,    -1,    99,     9,   225,    -1,    99,
1054 <      10,   225,    -1,    99,    11,   225,    -1,    88,   217,   228,
1055 <     216,   215,    -1,   228,   229,    -1,   229,    -1,   230,    -1,
1056 <     231,    -1,     1,   215,    -1,    87,   218,   117,   215,    -1,
1057 <     113,   218,   117,   215,    -1,   145,   217,   233,   216,   215,
1058 <      -1,   233,   234,    -1,   234,    -1,   245,    -1,   250,    -1,
1059 <     253,    -1,   247,    -1,   248,    -1,   249,    -1,   252,    -1,
1060 <     243,    -1,   242,    -1,   251,    -1,   246,    -1,   241,    -1,
1061 <     235,    -1,   236,    -1,   244,    -1,     1,   215,    -1,   131,
1062 <     218,   237,   215,    -1,   132,   218,   239,   215,    -1,   237,
1063 <     219,   238,    -1,   238,    -1,   133,    -1,   134,    -1,   239,
1064 <     219,   240,    -1,   240,    -1,   133,    -1,   134,    -1,   129,
1065 <     218,   117,   215,    -1,   127,   218,   117,   215,    -1,   130,
1066 <     218,   117,   215,    -1,   170,   218,   117,   215,    -1,    89,
1067 <     218,   117,   215,    -1,   146,   218,   117,   215,    -1,    24,
1068 <     218,   117,   215,    -1,    92,   218,   117,   215,    -1,    91,
1069 <     218,   117,   215,    -1,   209,   218,   117,   215,    -1,   210,
1070 <     218,   117,   215,    -1,   180,   218,    99,   215,    -1,    57,
1071 <     218,   159,   215,    -1,     4,   217,   255,   216,   215,    -1,
1072 <     255,   256,    -1,   256,    -1,   257,    -1,   259,    -1,   258,
1073 <      -1,     1,   215,    -1,    89,   218,   117,   215,    -1,    31,
1074 <     218,   117,   215,    -1,    24,   218,   117,   215,    -1,    71,
1075 <     217,   261,   216,   215,    -1,   261,   262,    -1,   262,    -1,
1076 <     263,    -1,   264,    -1,     1,   215,    -1,   208,   218,   159,
1077 <     215,    -1,    -1,   265,   214,   217,   266,   216,   215,    -1,
1078 <     266,   267,    -1,   267,    -1,   268,    -1,   270,    -1,   269,
1079 <      -1,     1,   215,    -1,    89,   218,   117,   215,    -1,   213,
1080 <     218,   226,   215,    -1,   213,   218,   194,   215,    -1,    -1,
1081 <     150,   271,   218,   272,   215,    -1,   272,   219,   273,    -1,
1082 <     273,    -1,   206,    -1,   102,    -1,    40,    -1,   173,    -1,
1083 <      64,    -1,    62,    -1,   172,    -1,    -1,   102,   275,   217,
1084 <     276,   216,   215,    -1,   276,   277,    -1,   277,    -1,   278,
1085 <      -1,   279,    -1,   280,    -1,   284,    -1,   283,    -1,   281,
1086 <      -1,   282,    -1,   288,    -1,     1,   215,    -1,    89,   218,
1087 <     117,   215,    -1,   206,   218,   117,   215,    -1,   112,   218,
1088 <     117,   215,    -1,    32,   218,   159,   215,    -1,   128,   218,
1089 <     117,   215,    -1,    17,   218,   117,   215,    -1,    -1,   191,
1090 <     285,   218,   286,   215,    -1,   286,   219,   287,    -1,   287,
1091 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1092 <      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1093 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1094 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1095 <      -1,    -1,    36,   289,   218,   290,   215,    -1,   290,   219,
1096 <     291,    -1,   291,    -1,    47,    -1,   124,    -1,    64,    -1,
1097 <     205,    -1,   173,    -1,   193,    -1,   211,    -1,    40,    -1,
1098 <      25,    -1,   200,    -1,   123,    -1,     4,    -1,    94,    -1,
1099 <     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1100 <      87,    -1,    -1,    17,   293,   217,   294,   216,   215,    -1,
1101 <     294,   295,    -1,   295,    -1,   296,    -1,   306,    -1,   307,
1102 <      -1,   297,    -1,   308,    -1,   298,    -1,   299,    -1,   300,
1103 <      -1,   301,    -1,   302,    -1,   303,    -1,   304,    -1,   305,
1104 <      -1,     1,   215,    -1,    89,   218,   117,   215,    -1,   115,
1105 <     218,   224,   215,    -1,   101,   218,    99,   215,    -1,    19,
1106 <     218,   224,   215,    -1,    81,   218,    99,   215,    -1,    76,
1107 <     218,    99,   215,    -1,    78,   218,    99,   215,    -1,    77,
1108 <     218,    99,   215,    -1,   142,   218,   226,   215,    -1,   183,
1109 <     218,   226,   215,    -1,    15,   218,    99,   215,    -1,    16,
1110 <     218,    99,   215,    -1,   100,   218,    99,   215,    -1,    -1,
1111 <      70,   310,   217,   315,   216,   215,    -1,    -1,    36,   312,
1112 <     218,   313,   215,    -1,   313,   219,   314,    -1,   314,    -1,
1113 <     190,    -1,    51,    -1,   185,    -1,   315,   316,    -1,   316,
1114 <      -1,   317,    -1,   311,    -1,   321,    -1,   322,    -1,     1,
1115 <     215,    -1,    -1,   116,   218,   319,   318,   215,    -1,   319,
1116 <     219,   320,    -1,   320,    -1,    99,    -1,    99,   163,    99,
1117 <      -1,    61,   218,   117,   215,    -1,    56,   218,   117,   215,
1118 <      -1,    -1,    48,   324,   217,   325,   216,   215,    -1,   325,
1119 <     326,    -1,   326,    -1,   327,    -1,   328,    -1,   329,    -1,
1120 <     331,    -1,   335,    -1,   336,    -1,   337,    -1,   330,    -1,
1121 <       1,   215,    -1,   206,   218,   117,   215,    -1,   112,   218,
1122 <     117,   215,    -1,    17,   218,   117,   215,    -1,    32,   218,
1123 <     159,   215,    -1,    -1,    36,   332,   218,   333,   215,    -1,
1124 <     333,   219,   334,    -1,   334,    -1,   153,    -1,    33,    -1,
1125 <      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1126 <     136,    -1,   199,    -1,    90,    -1,   152,   218,   117,   215,
1127 <      -1,   121,   218,   117,   215,    -1,   120,   218,    99,   215,
1128 <      -1,    -1,   135,   339,   217,   340,   216,   215,    -1,   340,
1129 <     341,    -1,   341,    -1,   342,    -1,   343,    -1,   344,    -1,
1130 <       1,   215,    -1,   119,   218,   117,   215,    -1,    14,   218,
1131 <     117,   215,    -1,    93,   218,   117,   215,    -1,   201,   217,
1132 <     346,   216,   215,    -1,   346,   347,    -1,   347,    -1,   348,
1133 <      -1,     1,    -1,    89,   218,   117,   215,    -1,    -1,   148,
1134 <     350,   217,   351,   216,   215,    -1,   351,   352,    -1,   352,
1135 <      -1,   353,    -1,   354,    -1,   355,    -1,     1,   215,    -1,
1136 <      89,   218,   117,   215,    -1,   206,   218,   117,   215,    -1,
1137 <      -1,   150,   356,   218,   357,   215,    -1,   357,   219,   358,
1138 <      -1,   358,    -1,    64,    -1,   205,    -1,   173,    -1,   193,
1139 <      -1,   211,    -1,   196,    -1,   135,    -1,   195,    -1,   179,
1140 <      -1,   164,    -1,    -1,   149,   360,   217,   361,   216,   215,
1141 <      -1,   361,   362,    -1,   362,    -1,   363,    -1,   364,    -1,
1142 <       1,   215,    -1,    89,   218,   117,   215,    -1,    -1,   150,
1143 <     365,   218,   366,   215,    -1,   366,   219,   367,    -1,   367,
1144 <      -1,    64,    -1,   205,    -1,   173,    -1,   193,    -1,   211,
1145 <      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1146 <      -1,    -1,    18,   369,   217,   370,   216,   215,    -1,   370,
1147 <     371,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1148 <     375,    -1,   376,    -1,   378,    -1,   377,    -1,   387,    -1,
1149 <     379,    -1,   384,    -1,   385,    -1,   386,    -1,   383,    -1,
1150 <       1,   215,    -1,    89,   218,   117,   215,    -1,    56,   218,
1151 <     117,   215,    -1,   209,   218,   117,   215,    -1,   143,   218,
1152 <     117,   215,    -1,     3,   218,   117,   215,    -1,   116,   218,
1153 <      99,   215,    -1,     5,   218,   177,   215,    -1,     5,   218,
1154 <     178,   215,    -1,    -1,    36,   380,   218,   381,   215,    -1,
1155 <     381,   219,   382,    -1,   382,    -1,     8,    -1,   190,    -1,
1156 <      32,   218,   159,   215,    -1,    58,   218,   117,   215,    -1,
1157 <      68,   218,   117,   215,    -1,    17,   218,   117,   215,    -1,
1158 <     170,   218,   117,   215,    -1,    -1,    62,   389,   217,   394,
1159 <     216,   215,    -1,    -1,   150,   391,   218,   392,   215,    -1,
1160 <     392,   219,   393,    -1,   393,    -1,   122,    -1,   394,   395,
1161 <      -1,   395,    -1,   396,    -1,   397,    -1,   390,    -1,     1,
1162 <      -1,   206,   218,   117,   215,    -1,   119,   218,   117,   215,
1163 <      -1,    -1,    23,   399,   217,   400,   216,   215,    -1,   400,
1164 <     401,    -1,   401,    -1,   402,    -1,   403,    -1,     1,    -1,
1165 <      61,   218,   117,   215,    -1,   119,   218,   117,   215,    -1,
1166 <      34,   217,   405,   216,   215,    -1,   405,   406,    -1,   406,
1167 <      -1,   407,    -1,     1,    -1,    61,   218,   117,   215,    -1,
1168 <      -1,    38,   409,   217,   414,   216,   215,    -1,    -1,   150,
1169 <     411,   218,   412,   215,    -1,   412,   219,   413,    -1,   413,
1170 <      -1,   122,    -1,   414,   415,    -1,   415,    -1,   416,    -1,
1171 <     417,    -1,   410,    -1,     1,    -1,    89,   218,   117,   215,
1172 <      -1,   119,   218,   117,   215,    -1,    39,   217,   419,   216,
1173 <     215,    -1,   419,   420,    -1,   420,    -1,   429,    -1,   430,
1174 <      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1175 <      -1,   437,    -1,   438,    -1,   439,    -1,   428,    -1,   441,
1176 <      -1,   442,    -1,   457,    -1,   444,    -1,   446,    -1,   448,
1177 <      -1,   447,    -1,   451,    -1,   445,    -1,   452,    -1,   453,
1178 <      -1,   454,    -1,   455,    -1,   456,    -1,   469,    -1,   458,
1179 <      -1,   459,    -1,   460,    -1,   465,    -1,   449,    -1,   450,
1180 <      -1,   475,    -1,   473,    -1,   474,    -1,   431,    -1,   464,
1181 <      -1,   440,    -1,   462,    -1,   463,    -1,   427,    -1,   422,
1182 <      -1,   423,    -1,   424,    -1,   425,    -1,   426,    -1,   443,
1183 <      -1,   421,    -1,   461,    -1,     1,    -1,    83,   218,    99,
1184 <     215,    -1,    42,   218,   159,   215,    -1,    41,   218,   224,
1185 <     215,    -1,    44,   218,   224,   215,    -1,    45,   218,    99,
1186 <     215,    -1,    46,   218,    99,   215,    -1,   147,   218,   159,
1187 <     215,    -1,    63,   218,   224,   215,    -1,    55,   218,   159,
1188 <     215,    -1,    59,   218,   159,   215,    -1,    28,   218,   159,
1189 <     215,    -1,    35,   218,   159,   215,    -1,     6,   218,   159,
1190 <     215,    -1,    80,   218,   224,   215,    -1,    79,   218,    99,
1191 <     215,    -1,    72,   218,    99,   215,    -1,     7,   218,   224,
1192 <     215,    -1,   162,   218,   224,   215,    -1,   161,   218,   224,
1193 <     215,    -1,    50,   218,    99,   215,    -1,    60,   218,   159,
1194 <     215,    -1,   212,   218,   159,   215,    -1,   154,   218,   159,
1195 <     215,    -1,   157,   218,   159,   215,    -1,   158,   218,   159,
1196 <     215,    -1,   156,   218,   159,   215,    -1,   156,   218,   160,
1197 <     215,    -1,   155,   218,   159,   215,    -1,   155,   218,   160,
1198 <     215,    -1,   110,   218,   224,   215,    -1,    12,   218,   224,
1199 <     215,    -1,   103,   218,   159,   215,    -1,   111,   218,   224,
1200 <     215,    -1,   151,   218,   159,   215,    -1,    97,   218,   159,
1201 <     215,    -1,   204,   218,   159,   215,    -1,   105,   218,   159,
1202 <     215,    -1,    84,   218,   117,   215,    -1,    29,   218,    99,
1203 <     215,    -1,    82,   218,    99,   215,    -1,   207,   218,   159,
1204 <     215,    -1,    30,   218,   117,   215,    -1,   202,   218,   117,
1205 <     215,    -1,   114,   218,   159,   215,    -1,    26,   218,   159,
1206 <     215,    -1,   203,   218,   224,   215,    -1,    -1,   107,   466,
1207 <     218,   467,   215,    -1,   467,   219,   468,    -1,   468,    -1,
1208 <     165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,    -1,
1209 <     175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,    -1,
1210 <     192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,    -1,
1211 <     176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,    -1,
1212 <      -1,   104,   470,   218,   471,   215,    -1,   471,   219,   472,
1213 <      -1,   472,    -1,   165,    -1,   168,    -1,   169,    -1,   171,
1214 <      -1,   172,    -1,   175,    -1,   188,    -1,    51,    -1,   181,
1215 <      -1,   184,    -1,   192,    -1,   189,    -1,   174,    -1,   182,
1216 <      -1,   186,    -1,   176,    -1,   198,    -1,   166,    -1,   167,
1217 <      -1,   179,    -1,    85,   218,    99,   215,    -1,    86,   218,
1218 <      99,   215,    -1,    20,   218,    99,   215,    -1,    14,   217,
1219 <     477,   216,   215,    -1,   477,   478,    -1,   478,    -1,   486,
1220 <      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   485,
1221 <      -1,   487,    -1,   488,    -1,   489,    -1,   480,    -1,   490,
1222 <      -1,   491,    -1,   492,    -1,   479,    -1,     1,    -1,    27,
1223 <     218,   159,   215,    -1,   126,   218,   159,   215,    -1,    66,
1224 <     218,   224,   215,    -1,    67,   218,   224,   215,    -1,    75,
1225 <     218,    99,   215,    -1,    74,   218,    99,   215,    -1,   118,
1226 <     218,   159,   215,    -1,    73,   218,    99,   215,    -1,    22,
1227 <     218,    99,   215,    -1,    21,   218,    99,   215,    -1,    95,
1228 <     218,   159,   215,    -1,    96,   218,   159,   215,    -1,   108,
1229 <     218,    99,   215,    -1,   109,   218,   224,   215,    -1,   144,
1230 <     217,   494,   216,   215,    -1,   494,   495,    -1,   495,    -1,
1231 <     496,    -1,   497,    -1,   499,    -1,   500,    -1,   498,    -1,
1232 <     501,    -1,     1,    -1,    37,   218,   159,   215,    -1,    54,
1233 <     218,   159,   215,    -1,    52,   218,   117,   215,    -1,    69,
1234 <     218,   224,   215,    -1,    51,   218,   159,   215,    -1,    53,
1235 <     218,   159,   215,    -1
1236 < };
1237 <
1238 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1025 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1026   static const yytype_uint16 yyrline[] =
1027   {
1028 <       0,   355,   355,   356,   359,   360,   361,   362,   363,   364,
1029 <     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1030 <     375,   376,   377,   378,   379,   380,   384,   384,   385,   389,
1031 <     393,   397,   401,   405,   411,   411,   412,   413,   414,   415,
1032 <     422,   425,   425,   426,   426,   426,   428,   434,   441,   443,
1033 <     443,   444,   444,   445,   445,   446,   446,   447,   447,   448,
1034 <     448,   449,   449,   450,   450,   451,   452,   455,   456,   458,
1035 <     458,   459,   465,   473,   473,   474,   480,   488,   527,   586,
1036 <     614,   622,   637,   652,   661,   675,   684,   712,   742,   767,
1037 <     776,   778,   778,   779,   779,   780,   780,   782,   791,   800,
1038 <     812,   813,   813,   815,   815,   816,   818,   825,   825,   838,
1039 <     839,   841,   841,   842,   842,   844,   852,   855,   861,   860,
1040 <     866,   866,   867,   871,   875,   879,   883,   887,   891,   902,
1041 <     901,   978,   978,   979,   979,   979,   980,   980,   980,   981,
1042 <     981,   981,   983,   989,   995,  1001,  1012,  1018,  1025,  1024,
1043 <    1030,  1030,  1031,  1035,  1039,  1043,  1047,  1051,  1055,  1059,
1044 <    1063,  1067,  1071,  1075,  1079,  1083,  1087,  1091,  1095,  1099,
1045 <    1103,  1107,  1114,  1113,  1119,  1119,  1120,  1124,  1128,  1132,
1046 <    1136,  1140,  1144,  1148,  1152,  1156,  1160,  1164,  1168,  1172,
1047 <    1176,  1180,  1184,  1188,  1192,  1203,  1202,  1253,  1253,  1254,
1048 <    1255,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
1049 <    1264,  1264,  1265,  1267,  1273,  1279,  1285,  1291,  1297,  1303,
1050 <    1309,  1315,  1321,  1328,  1334,  1340,  1350,  1349,  1356,  1355,
1051 <    1360,  1360,  1361,  1365,  1369,  1375,  1375,  1376,  1376,  1376,
1052 <    1376,  1376,  1378,  1378,  1380,  1380,  1382,  1396,  1416,  1422,
1053 <    1432,  1431,  1473,  1473,  1474,  1474,  1474,  1474,  1475,  1475,
1054 <    1475,  1476,  1476,  1478,  1484,  1490,  1496,  1508,  1507,  1513,
1055 <    1513,  1514,  1518,  1522,  1526,  1530,  1534,  1538,  1542,  1546,
1056 <    1550,  1556,  1570,  1579,  1593,  1592,  1601,  1601,  1602,  1602,
1057 <    1602,  1602,  1604,  1610,  1619,  1628,  1630,  1630,  1631,  1631,
1058 <    1633,  1649,  1648,  1673,  1673,  1674,  1674,  1674,  1674,  1676,
1059 <    1682,  1702,  1701,  1707,  1707,  1708,  1712,  1716,  1720,  1724,
1060 <    1728,  1732,  1736,  1740,  1744,  1754,  1753,  1774,  1774,  1775,
1061 <    1775,  1775,  1777,  1784,  1783,  1789,  1789,  1790,  1794,  1798,
1062 <    1802,  1806,  1810,  1814,  1818,  1822,  1826,  1836,  1835,  1901,
1063 <    1901,  1902,  1902,  1902,  1903,  1903,  1904,  1904,  1904,  1905,
1064 <    1905,  1905,  1906,  1906,  1907,  1909,  1915,  1921,  1927,  1940,
1065 <    1953,  1959,  1963,  1972,  1971,  1976,  1976,  1977,  1981,  1987,
1066 <    1998,  2004,  2010,  2016,  2032,  2031,  2094,  2093,  2099,  2099,
1067 <    2100,  2106,  2106,  2107,  2107,  2107,  2107,  2109,  2129,  2139,
1068 <    2138,  2165,  2165,  2166,  2166,  2166,  2168,  2174,  2183,  2185,
1069 <    2185,  2186,  2186,  2188,  2206,  2205,  2251,  2250,  2256,  2256,
1070 <    2257,  2263,  2263,  2264,  2264,  2264,  2264,  2266,  2272,  2281,
1071 <    2284,  2284,  2285,  2285,  2286,  2286,  2287,  2287,  2288,  2288,
1072 <    2289,  2289,  2290,  2291,  2292,  2292,  2293,  2293,  2294,  2294,
1073 <    2295,  2295,  2296,  2296,  2297,  2297,  2298,  2299,  2299,  2300,
1074 <    2300,  2301,  2301,  2302,  2302,  2303,  2303,  2304,  2305,  2305,
1075 <    2306,  2307,  2308,  2308,  2309,  2309,  2310,  2311,  2312,  2313,
1076 <    2313,  2314,  2317,  2322,  2328,  2334,  2340,  2345,  2350,  2355,
1077 <    2360,  2365,  2370,  2375,  2380,  2385,  2390,  2395,  2400,  2405,
1078 <    2410,  2416,  2427,  2432,  2437,  2442,  2447,  2452,  2455,  2460,
1079 <    2463,  2468,  2473,  2478,  2483,  2488,  2493,  2498,  2503,  2508,
1080 <    2519,  2524,  2529,  2534,  2543,  2552,  2557,  2562,  2568,  2567,
1081 <    2572,  2572,  2573,  2576,  2579,  2582,  2585,  2588,  2591,  2594,
1082 <    2597,  2600,  2603,  2606,  2609,  2612,  2615,  2618,  2621,  2624,
1083 <    2627,  2630,  2636,  2635,  2640,  2640,  2641,  2644,  2647,  2650,
1084 <    2653,  2656,  2659,  2662,  2665,  2668,  2671,  2674,  2677,  2680,
1085 <    2683,  2686,  2689,  2692,  2695,  2698,  2703,  2708,  2713,  2722,
1086 <    2725,  2725,  2726,  2727,  2727,  2728,  2728,  2729,  2729,  2730,
1087 <    2731,  2731,  2732,  2733,  2733,  2734,  2734,  2736,  2741,  2746,
1088 <    2751,  2756,  2761,  2766,  2771,  2776,  2781,  2786,  2791,  2796,
1089 <    2801,  2809,  2812,  2812,  2813,  2813,  2814,  2815,  2815,  2816,
1090 <    2817,  2819,  2825,  2831,  2840,  2854,  2860
1028 >       0,   383,   383,   384,   387,   388,   389,   390,   391,   392,
1029 >     393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
1030 >     403,   404,   405,   406,   407,   408,   409,   413,   413,   414,
1031 >     415,   416,   417,   418,   419,   420,   421,   424,   424,   425,
1032 >     426,   427,   428,   435,   438,   438,   439,   439,   439,   441,
1033 >     447,   454,   456,   456,   457,   458,   459,   460,   461,   462,
1034 >     463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1035 >     473,   474,   475,   476,   479,   480,   482,   482,   483,   489,
1036 >     497,   497,   498,   504,   512,   554,   612,   640,   648,   661,
1037 >     689,   704,   719,   728,   742,   751,   779,   809,   834,   856,
1038 >     878,   887,   889,   889,   890,   891,   892,   893,   895,   904,
1039 >     913,   926,   925,   943,   943,   944,   944,   944,   946,   952,
1040 >     961,   962,   962,   964,   964,   965,   967,   974,   974,   987,
1041 >     988,   990,   990,   991,   991,   993,  1001,  1004,  1010,  1009,
1042 >    1015,  1015,  1016,  1020,  1024,  1028,  1032,  1036,  1040,  1044,
1043 >    1048,  1059,  1058,  1138,  1138,  1139,  1140,  1141,  1142,  1143,
1044 >    1144,  1145,  1146,  1147,  1148,  1149,  1151,  1157,  1163,  1169,
1045 >    1180,  1186,  1192,  1203,  1210,  1209,  1215,  1215,  1216,  1220,
1046 >    1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,  1256,  1260,
1047 >    1264,  1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,  1300,
1048 >    1307,  1306,  1312,  1312,  1313,  1317,  1321,  1325,  1329,  1333,
1049 >    1337,  1341,  1345,  1349,  1353,  1357,  1361,  1365,  1369,  1373,
1050 >    1377,  1381,  1385,  1389,  1393,  1397,  1401,  1412,  1411,  1473,
1051 >    1473,  1474,  1475,  1476,  1477,  1478,  1479,  1480,  1481,  1482,
1052 >    1483,  1484,  1485,  1486,  1486,  1487,  1488,  1489,  1490,  1492,
1053 >    1498,  1504,  1510,  1516,  1522,  1528,  1534,  1540,  1546,  1552,
1054 >    1559,  1565,  1571,  1577,  1586,  1596,  1595,  1601,  1601,  1602,
1055 >    1606,  1617,  1616,  1623,  1622,  1627,  1627,  1628,  1632,  1636,
1056 >    1642,  1642,  1643,  1643,  1643,  1643,  1643,  1645,  1645,  1647,
1057 >    1647,  1649,  1663,  1681,  1687,  1697,  1696,  1738,  1738,  1739,
1058 >    1740,  1741,  1742,  1743,  1744,  1745,  1746,  1747,  1749,  1755,
1059 >    1761,  1767,  1779,  1778,  1784,  1784,  1785,  1789,  1793,  1797,
1060 >    1801,  1805,  1809,  1813,  1817,  1821,  1827,  1841,  1850,  1864,
1061 >    1863,  1878,  1878,  1879,  1879,  1879,  1879,  1881,  1887,  1893,
1062 >    1903,  1905,  1905,  1906,  1906,  1908,  1924,  1923,  1948,  1948,
1063 >    1949,  1949,  1949,  1949,  1951,  1957,  1977,  1976,  1982,  1982,
1064 >    1983,  1987,  1991,  1995,  1999,  2003,  2007,  2011,  2015,  2019,
1065 >    2029,  2028,  2049,  2049,  2050,  2050,  2050,  2052,  2059,  2058,
1066 >    2064,  2064,  2065,  2069,  2073,  2077,  2081,  2085,  2089,  2093,
1067 >    2097,  2101,  2111,  2110,  2182,  2182,  2183,  2184,  2185,  2186,
1068 >    2187,  2188,  2189,  2190,  2191,  2192,  2193,  2194,  2195,  2196,
1069 >    2197,  2199,  2205,  2211,  2217,  2230,  2243,  2249,  2255,  2259,
1070 >    2268,  2267,  2272,  2272,  2273,  2277,  2283,  2294,  2300,  2306,
1071 >    2312,  2328,  2327,  2353,  2353,  2354,  2354,  2354,  2356,  2376,
1072 >    2386,  2385,  2412,  2412,  2413,  2413,  2413,  2415,  2421,  2430,
1073 >    2432,  2432,  2433,  2433,  2435,  2453,  2452,  2475,  2475,  2476,
1074 >    2476,  2476,  2478,  2484,  2493,  2496,  2496,  2497,  2498,  2499,
1075 >    2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,  2509,
1076 >    2510,  2511,  2512,  2513,  2514,  2515,  2516,  2517,  2518,  2519,
1077 >    2520,  2521,  2522,  2523,  2524,  2525,  2526,  2527,  2528,  2529,
1078 >    2530,  2531,  2532,  2533,  2534,  2535,  2536,  2537,  2538,  2539,
1079 >    2540,  2541,  2542,  2543,  2544,  2545,  2546,  2547,  2550,  2555,
1080 >    2561,  2567,  2573,  2579,  2584,  2589,  2594,  2599,  2604,  2609,
1081 >    2614,  2619,  2624,  2629,  2634,  2639,  2644,  2650,  2661,  2666,
1082 >    2671,  2676,  2681,  2686,  2691,  2694,  2699,  2702,  2707,  2712,
1083 >    2717,  2722,  2727,  2732,  2737,  2742,  2747,  2752,  2757,  2762,
1084 >    2771,  2780,  2785,  2790,  2795,  2801,  2800,  2805,  2805,  2806,
1085 >    2809,  2812,  2815,  2818,  2821,  2824,  2827,  2830,  2833,  2836,
1086 >    2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,  2863,  2866,
1087 >    2869,  2875,  2874,  2879,  2879,  2880,  2883,  2886,  2889,  2892,
1088 >    2895,  2898,  2901,  2904,  2907,  2910,  2913,  2916,  2919,  2922,
1089 >    2925,  2928,  2931,  2934,  2937,  2942,  2947,  2952,  2961,  2964,
1090 >    2964,  2965,  2966,  2967,  2968,  2969,  2970,  2971,  2972,  2973,
1091 >    2974,  2975,  2976,  2977,  2978,  2979,  2981,  2986,  2991,  2996,
1092 >    3001,  3006,  3011,  3016,  3021,  3026,  3031,  3036,  3041,  3046,
1093 >    3054,  3057,  3057,  3058,  3059,  3060,  3061,  3062,  3063,  3064,
1094 >    3065,  3066,  3068,  3074,  3080,  3086,  3092,  3101,  3116,  3122
1095   };
1096   #endif
1097  
# Line 1313 | Line 1104 | static const char *const yytname[] =
1104    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1105    "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1106    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1107 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1108 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1109 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1110 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1111 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1112 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1113 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1114 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1115 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1107 >  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1108 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1109 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1110 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1111 >  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1112 >  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1113 >  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1114 >  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1115 >  "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS",
1116 >  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1117    "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1118 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1119 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1120 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1121 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1122 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1123 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1124 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1125 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1118 >  "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME", "IP", "IRCD_AUTH",
1119 >  "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1120 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_CLIENT_COUNT",
1121 >  "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1122 >  "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL",
1123 >  "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1124 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1125 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1126 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1127 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1128    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1129 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1130 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1337 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1129 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1130 >  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1131    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1132 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1133 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1134 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1135 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1136 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1137 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1138 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1139 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1140 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1141 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1142 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1143 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1144 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1145 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1146 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1147 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1148 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1149 <  "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART", "T_SERVICE",
1150 <  "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE",
1151 <  "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1152 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1153 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1154 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1155 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1156 <  "serverinfo_item", "serverinfo_ssl_client_method",
1132 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1133 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1134 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1135 >  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1136 >  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1137 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1138 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1139 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1140 >  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY",
1141 >  "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1142 >  "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1143 >  "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS", "T_INVISIBLE", "T_IPV4",
1144 >  "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", "T_NCHANGE",
1145 >  "T_NONONREG", "T_RECVQ", "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE",
1146 >  "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", "T_SHARED", "T_SIZE",
1147 >  "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", "T_SSL_CIPHER_LIST",
1148 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1149 >  "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1150 >  "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1151 >  "THROTTLE_COUNT", "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1152 >  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1153 >  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1154 >  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1155 >  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1156 >  "sizespec_", "sizespec", "modules_entry", "modules_items",
1157 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1158 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1159    "serverinfo_ssl_server_method", "client_method_types",
1160    "client_method_type_item", "server_method_types",
1161    "server_method_type_item", "serverinfo_ssl_certificate_file",
1162    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1163 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1163 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1164 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1165    "serverinfo_description", "serverinfo_network_name",
1166    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1167 <  "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1168 <  "admin_item", "admin_name", "admin_email", "admin_description",
1169 <  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1170 <  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1171 <  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1172 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1167 >  "serverinfo_max_clients", "serverinfo_max_nick_length",
1168 >  "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1169 >  "admin_items", "admin_item", "admin_name", "admin_email",
1170 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1171 >  "motd_mask", "motd_file", "logging_entry", "logging_items",
1172 >  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1173 >  "logging_file_items", "logging_file_item", "logging_file_name",
1174 >  "logging_file_size", "logging_file_type", "$@3",
1175 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1176    "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1177 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1178 <  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1179 <  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1180 <  "class_entry", "$@6", "class_items", "class_item", "class_name",
1181 <  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1182 <  "class_max_number", "class_max_global", "class_max_local",
1183 <  "class_max_ident", "class_sendq", "class_recvq",
1184 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1185 <  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1186 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1187 <  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1188 <  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1189 <  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1190 <  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1191 <  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1192 <  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1193 <  "service_entry", "service_items", "service_item", "service_name",
1194 <  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1195 <  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1196 <  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1197 <  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1198 <  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1177 >  "oper_encrypted", "oper_rsa_public_key_file",
1178 >  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1179 >  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1180 >  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1181 >  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1182 >  "class_name", "class_ping_time", "class_number_per_ip",
1183 >  "class_connectfreq", "class_max_channels", "class_max_number",
1184 >  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1185 >  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1186 >  "class_number_per_cidr", "class_min_idle", "class_max_idle",
1187 >  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1188 >  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1189 >  "listen_flags_item", "listen_items", "listen_item", "listen_port",
1190 >  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1191 >  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1192 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1193 >  "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1194 >  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1195 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1196 >  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1197 >  "shared_items", "shared_item", "shared_name", "shared_user",
1198 >  "shared_type", "$@16", "shared_types", "shared_type_item",
1199 >  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1200 >  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1201 >  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1202    "connect_host", "connect_vhost", "connect_send_password",
1203 <  "connect_accept_password", "connect_port", "connect_aftype",
1204 <  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1205 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1206 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1207 <  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1208 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1203 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1204 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1205 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1206 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1207 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1208 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1209    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1210 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1409 <  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1210 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1211    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1212    "general_entry", "general_items", "general_item", "general_max_watch",
1213 <  "general_gline_enable", "general_gline_duration",
1214 <  "general_gline_request_duration", "general_gline_min_cidr",
1215 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1216 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1217 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1213 >  "general_cycle_on_host_change", "general_gline_enable",
1214 >  "general_gline_duration", "general_gline_request_duration",
1215 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1216 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1217 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1218    "general_failed_oper_notice", "general_anti_nick_flood",
1219    "general_max_nick_time", "general_max_nick_changes",
1220    "general_max_accept", "general_anti_spam_exit_message_time",
1221    "general_ts_warn_delta", "general_ts_max_delta",
1222    "general_havent_read_conf", "general_invisible_on_connect",
1223 <  "general_warn_no_nline", "general_stats_e_disabled",
1223 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1224    "general_stats_o_oper_only", "general_stats_P_oper_only",
1225 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1226 <  "general_pace_wait", "general_caller_id_wait",
1227 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1228 <  "general_short_motd", "general_no_oper_flood",
1229 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1230 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1225 >  "general_stats_u_oper_only", "general_stats_k_oper_only",
1226 >  "general_stats_i_oper_only", "general_pace_wait",
1227 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1228 >  "general_pace_wait_simple", "general_short_motd",
1229 >  "general_no_oper_flood", "general_true_no_oper_flood",
1230 >  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1231    "general_use_egd", "general_egdpool_path", "general_services_name",
1232 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1233 <  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1234 <  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1235 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1236 <  "general_default_floodcount", "channel_entry", "channel_items",
1237 <  "channel_item", "channel_disable_fake_channels",
1238 <  "channel_restrict_channels", "channel_knock_delay",
1239 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1240 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1232 >  "general_ping_cookie", "general_disable_auth", "general_throttle_count",
1233 >  "general_throttle_time", "general_oper_umodes", "$@24", "umode_oitems",
1234 >  "umode_oitem", "general_oper_only_umodes", "$@25", "umode_items",
1235 >  "umode_item", "general_min_nonwildcard",
1236 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1237 >  "channel_entry", "channel_items", "channel_item",
1238 >  "channel_disable_fake_channels", "channel_invite_client_count",
1239 >  "channel_invite_client_time", "channel_knock_client_count",
1240 >  "channel_knock_client_time", "channel_knock_delay_channel",
1241 >  "channel_max_channels", "channel_max_bans",
1242    "channel_default_split_user_count", "channel_default_split_server_count",
1243    "channel_no_create_on_split", "channel_no_join_on_split",
1244    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1245    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1246 <  "serverhide_hide_servers", "serverhide_hidden_name",
1246 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1247 >  "serverhide_hide_services", "serverhide_hidden_name",
1248    "serverhide_links_delay", "serverhide_hidden",
1249 <  "serverhide_hide_server_ips", YY_NULL
1249 >  "serverhide_hide_server_ips", YY_NULLPTR
1250   };
1251   #endif
1252  
1253   # ifdef YYPRINT
1254 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1255 <   token YYLEX-NUM.  */
1254 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1255 >   (internal) symbol number NUM (which must be that of a token).  */
1256   static const yytype_uint16 yytoknum[] =
1257   {
1258         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1473 | Line 1276 | static const yytype_uint16 yytoknum[] =
1276       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1277       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1278       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1279 <     465,   466,   467,   468,   469,    59,   125,   123,    61,    44
1279 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1280 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1281 >     485,   486,   487,    59,   125,   123,    61,    44,    58
1282   };
1283   # endif
1284  
1285 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1481 < static const yytype_uint16 yyr1[] =
1482 < {
1483 <       0,   220,   221,   221,   222,   222,   222,   222,   222,   222,
1484 <     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1485 <     222,   222,   222,   222,   222,   222,   223,   223,   224,   224,
1486 <     224,   224,   224,   224,   225,   225,   226,   226,   226,   226,
1487 <     227,   228,   228,   229,   229,   229,   230,   231,   232,   233,
1488 <     233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1489 <     234,   234,   234,   234,   234,   234,   234,   235,   236,   237,
1490 <     237,   238,   238,   239,   239,   240,   240,   241,   242,   243,
1491 <     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1492 <     254,   255,   255,   256,   256,   256,   256,   257,   258,   259,
1493 <     260,   261,   261,   262,   262,   262,   263,   265,   264,   266,
1494 <     266,   267,   267,   267,   267,   268,   269,   269,   271,   270,
1495 <     272,   272,   273,   273,   273,   273,   273,   273,   273,   275,
1496 <     274,   276,   276,   277,   277,   277,   277,   277,   277,   277,
1497 <     277,   277,   278,   279,   280,   281,   282,   283,   285,   284,
1498 <     286,   286,   287,   287,   287,   287,   287,   287,   287,   287,
1499 <     287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1500 <     287,   287,   289,   288,   290,   290,   291,   291,   291,   291,
1501 <     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1502 <     291,   291,   291,   291,   291,   293,   292,   294,   294,   295,
1503 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1504 <     295,   295,   295,   296,   297,   298,   299,   300,   301,   302,
1505 <     303,   304,   305,   306,   307,   308,   310,   309,   312,   311,
1506 <     313,   313,   314,   314,   314,   315,   315,   316,   316,   316,
1507 <     316,   316,   318,   317,   319,   319,   320,   320,   321,   322,
1508 <     324,   323,   325,   325,   326,   326,   326,   326,   326,   326,
1509 <     326,   326,   326,   327,   328,   329,   330,   332,   331,   333,
1510 <     333,   334,   334,   334,   334,   334,   334,   334,   334,   334,
1511 <     334,   335,   336,   337,   339,   338,   340,   340,   341,   341,
1512 <     341,   341,   342,   343,   344,   345,   346,   346,   347,   347,
1513 <     348,   350,   349,   351,   351,   352,   352,   352,   352,   353,
1514 <     354,   356,   355,   357,   357,   358,   358,   358,   358,   358,
1515 <     358,   358,   358,   358,   358,   360,   359,   361,   361,   362,
1516 <     362,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1517 <     367,   367,   367,   367,   367,   367,   367,   369,   368,   370,
1518 <     370,   371,   371,   371,   371,   371,   371,   371,   371,   371,
1519 <     371,   371,   371,   371,   371,   372,   373,   374,   375,   376,
1520 <     377,   378,   378,   380,   379,   381,   381,   382,   382,   383,
1521 <     384,   385,   386,   387,   389,   388,   391,   390,   392,   392,
1522 <     393,   394,   394,   395,   395,   395,   395,   396,   397,   399,
1523 <     398,   400,   400,   401,   401,   401,   402,   403,   404,   405,
1524 <     405,   406,   406,   407,   409,   408,   411,   410,   412,   412,
1525 <     413,   414,   414,   415,   415,   415,   415,   416,   417,   418,
1526 <     419,   419,   420,   420,   420,   420,   420,   420,   420,   420,
1527 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1528 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1529 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1530 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1531 <     420,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1532 <     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1533 <     439,   440,   441,   442,   443,   444,   445,   446,   446,   447,
1534 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1535 <     457,   458,   459,   460,   461,   462,   463,   464,   466,   465,
1536 <     467,   467,   468,   468,   468,   468,   468,   468,   468,   468,
1537 <     468,   468,   468,   468,   468,   468,   468,   468,   468,   468,
1538 <     468,   468,   470,   469,   471,   471,   472,   472,   472,   472,
1539 <     472,   472,   472,   472,   472,   472,   472,   472,   472,   472,
1540 <     472,   472,   472,   472,   472,   472,   473,   474,   475,   476,
1541 <     477,   477,   478,   478,   478,   478,   478,   478,   478,   478,
1542 <     478,   478,   478,   478,   478,   478,   478,   479,   480,   481,
1543 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1544 <     492,   493,   494,   494,   495,   495,   495,   495,   495,   495,
1545 <     495,   496,   497,   498,   499,   500,   501
1546 < };
1285 > #define YYPACT_NINF -789
1286  
1287 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1288 < static const yytype_uint8 yyr2[] =
1287 > #define yypact_value_is_default(Yystate) \
1288 >  (!!((Yystate) == (-789)))
1289 >
1290 > #define YYTABLE_NINF -128
1291 >
1292 > #define yytable_value_is_error(Yytable_value) \
1293 >  0
1294 >
1295 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1296 >     STATE-NUM.  */
1297 > static const yytype_int16 yypact[] =
1298   {
1299 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1300 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1301 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1302 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1303 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1304 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1305 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1306 <       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1307 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1308 <       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1309 <       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1310 <       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1311 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1312 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1313 <       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1314 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1315 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1316 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1317 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1318 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1319 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1320 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1321 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1322 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1323 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1324 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1325 <       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1326 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1327 <       1,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1328 <       1,     2,     4,     4,     4,     5,     2,     1,     1,     1,
1329 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1330 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1331 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1332 <       1,     2,     4,     0,     5,     3,     1,     1,     1,     1,
1333 <       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
1334 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1335 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     4,
1336 <       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
1337 <       4,     4,     4,     4,     0,     6,     0,     5,     3,     1,
1338 <       1,     2,     1,     1,     1,     1,     1,     4,     4,     0,
1339 <       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
1340 <       1,     1,     1,     4,     0,     6,     0,     5,     3,     1,
1341 <       1,     2,     1,     1,     1,     1,     1,     4,     4,     5,
1342 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1343 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1344 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1345 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1346 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1347 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1348 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1349 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1350 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1351 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1352 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1353 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1354 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1355 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1356 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     5,
1357 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1358 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1359 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1360 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1361 <       1,     4,     4,     4,     4,     4,     4
1299 >    -789,   656,  -789,   -59,  -226,  -220,  -789,  -789,  -789,  -217,
1300 >    -789,  -198,  -789,  -789,  -789,  -195,  -789,  -789,  -789,  -192,
1301 >    -189,  -789,  -181,  -171,  -789,  -789,  -789,  -789,  -789,  -789,
1302 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1303 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   307,
1304 >     925,  -169,  -160,  -158,    22,  -155,   387,  -136,  -121,  -119,
1305 >      50,  -116,  -114,   -97,   761,   433,   -84,    34,     2,   -82,
1306 >     -73,   -47,   -34,   -27,     9,  -789,  -789,  -789,  -789,  -789,
1307 >     -22,    -7,    -1,    44,    68,    79,    82,    84,    88,    92,
1308 >      98,   102,   104,   112,   266,  -789,  -789,  -789,  -789,  -789,
1309 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1310 >     681,   563,    19,  -789,   115,    21,  -789,  -789,    26,  -789,
1311 >     119,   129,   131,   141,   143,   145,   147,   148,   150,   154,
1312 >     155,   156,   159,   160,   164,   167,   175,   176,   177,   179,
1313 >     180,   183,   184,   186,   188,   189,   190,  -789,   194,  -789,
1314 >     207,   209,   210,   211,   215,   216,   217,   218,   220,   221,
1315 >     224,   225,   226,   227,   228,   230,   231,   232,   234,   235,
1316 >      61,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1317 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1318 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1319 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1320 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1321 >    -789,  -789,   343,    69,   301,   -70,   236,   239,    16,  -789,
1322 >    -789,  -789,   125,   388,   275,  -789,   241,   243,   251,   252,
1323 >     253,   255,   257,   259,   308,  -789,  -789,  -789,  -789,  -789,
1324 >    -789,  -789,  -789,  -789,   -29,   260,   263,   269,   273,   285,
1325 >     286,   288,   293,   294,   295,   296,   297,   300,   304,   305,
1326 >     310,   317,   319,   320,   168,  -789,  -789,  -789,  -789,  -789,
1327 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1328 >    -789,  -789,  -789,  -789,  -789,    25,    53,   321,    10,  -789,
1329 >    -789,  -789,    89,  -789,   322,    97,  -789,  -789,    93,  -789,
1330 >     258,   398,   432,    73,  -789,   249,   270,   345,   449,   450,
1331 >     451,   450,   457,   450,   450,   460,   461,   359,   361,   344,
1332 >    -789,   348,   342,   349,   350,  -789,   352,   353,   362,   364,
1333 >     365,   366,   370,   375,   376,   378,   383,   384,   386,   146,
1334 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1335 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   377,   389,
1336 >     391,   393,   395,   396,   397,  -789,   401,   403,   404,   407,
1337 >     412,   414,   415,    11,  -789,  -789,  -789,  -789,  -789,  -789,
1338 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1339 >     417,   418,     7,  -789,  -789,  -789,   468,   413,  -789,  -789,
1340 >     419,   422,    38,  -789,  -789,  -789,   382,   450,   450,   409,
1341 >     547,   446,   552,   539,   453,   450,   454,   559,   566,   450,
1342 >     567,   466,   469,   470,   450,   574,   575,   450,   578,   580,
1343 >     586,   587,   486,   439,   488,   472,   489,   450,   450,   491,
1344 >     495,   497,  -190,  -183,   498,   499,   500,   589,   605,   450,
1345 >     505,   506,   450,   450,   508,   509,   492,  -789,   496,   502,
1346 >     507,  -789,   510,   511,   514,   515,   516,    57,  -789,  -789,
1347 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   517,   518,
1348 >      41,  -789,  -789,  -789,   501,   523,   524,  -789,   525,  -789,
1349 >      18,  -789,  -789,  -789,  -789,  -789,   601,   603,   512,  -789,
1350 >     530,   534,   535,    29,  -789,  -789,  -789,   542,   536,   540,
1351 >    -789,   544,   549,   553,   557,   560,  -789,   561,    62,  -789,
1352 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1353 >     545,   564,   571,   573,    12,  -789,  -789,  -789,  -789,   520,
1354 >     526,   529,   604,   584,   588,   597,   450,   555,  -789,  -789,
1355 >     606,   599,   675,   620,   706,   692,   693,   695,   696,   697,
1356 >     698,   700,   702,   718,   704,   142,   149,   705,   707,   600,
1357 >    -789,   602,   607,  -789,    30,  -789,  -789,  -789,  -789,   621,
1358 >     608,  -789,   609,   710,   612,  -789,   613,   614,  -789,   616,
1359 >      23,  -789,  -789,  -789,  -789,   615,   625,   628,  -789,   631,
1360 >     633,   636,   638,   374,   639,   642,   644,   645,   646,   647,
1361 >     649,   651,   655,   657,  -789,  -789,   726,   737,   450,   617,
1362 >     742,   777,   779,   450,   780,   781,   450,   715,   782,   784,
1363 >     450,   791,   791,   673,  -789,  -789,   783,   192,   786,   709,
1364 >     790,   792,   672,   793,   795,   799,   798,   807,   813,   817,
1365 >     712,  -789,   824,   827,   722,  -789,   727,  -789,   837,   838,
1366 >     733,  -789,   734,   735,   736,   739,   741,   744,   745,   746,
1367 >     749,   750,   751,   752,   753,   754,   757,   758,   759,   760,
1368 >     763,   765,   766,   770,   771,   772,   773,   774,   778,   764,
1369 >     785,   688,   787,   788,   789,   794,   796,   797,   802,   803,
1370 >     804,   805,   806,   808,   809,   810,   811,   812,   814,   815,
1371 >     816,   818,   819,   820,  -789,  -789,   843,   800,   776,   848,
1372 >     869,   870,   883,   886,   821,  -789,   887,   889,   822,  -789,
1373 >    -789,   890,   892,   823,   911,   825,  -789,   828,   829,  -789,
1374 >    -789,   897,   898,   830,  -789,  -789,   899,   831,   832,   901,
1375 >     904,   905,   913,   835,   833,   929,   834,  -789,  -789,   930,
1376 >     933,   937,   839,  -789,   840,   841,   842,   844,   845,   846,
1377 >     847,   849,  -789,   850,   851,   852,   853,   854,   855,   856,
1378 >     857,   858,   859,   860,   861,   862,   863,   864,  -789,  -789,
1379 >    -188,  -789,  -789,  -789,  -185,  -789,   865,   866,  -789,  -789,
1380 >     938,   867,   868,  -789,   871,  -789,   182,   872,  -789,  -789,
1381 >     939,   873,   943,   874,  -789,  -789,  -789,  -789,  -789,  -789,
1382 >    -789,  -789,   450,   450,   450,   450,   450,   450,   450,  -789,
1383 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1384 >    -789,   875,   877,   878,   -32,   879,   880,   881,   882,   884,
1385 >     885,   888,   891,   893,   894,   895,   289,   896,   900,  -789,
1386 >     902,   903,   906,   907,   908,   909,   910,    -3,   912,   914,
1387 >     915,   916,   917,   918,   919,  -789,   920,   921,  -789,  -789,
1388 >     922,   923,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1389 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1390 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1391 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1392 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1393 >    -180,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1394 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1395 >    -789,  -789,  -789,  -789,  -789,  -178,  -789,  -789,  -789,  -789,
1396 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1397 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   924,
1398 >     926,   541,   927,   928,   931,   932,   934,  -789,   935,   936,
1399 >    -789,   940,   941,     1,   947,   942,  -789,  -789,  -789,  -789,
1400 >     944,   945,  -789,   948,   949,   494,   950,   951,   952,   953,
1401 >     954,   730,   955,  -789,   956,   957,   958,  -789,  -789,  -789,
1402 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1403 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1404 >    -789,  -789,   142,  -789,   149,  -789,  -789,   959,   576,  -789,
1405 >    -789,   960,   961,   962,  -789,    32,  -789,  -789,  -789,  -789,
1406 >    -789,   963,   748,   966,  -789,  -789,  -789,  -789,  -789,  -789,
1407 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -177,  -789,  -789,
1408 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1409 >     791,   791,   791,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1410 >    -789,  -789,  -789,  -789,  -789,  -789,  -172,  -789,  -789,  -789,
1411 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1412 >     764,  -789,   688,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1413 >    -789,  -789,  -789,  -789,  -789,   -65,  -789,  -789,  -789,  -789,
1414 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   -43,
1415 >    -789,   964,   911,   967,  -789,  -789,  -789,  -789,  -789,   965,
1416 >    -789,  -789,   968,  -789,  -789,  -789,  -789,   969,  -789,  -789,
1417 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   -41,  -789,
1418 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1419 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1420 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,   -30,  -789,  -789,
1421 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1422 >    -789,  -789,  -789,  -789,  -789,  -789,   -18,  -789,  -789,   973,
1423 >     -74,   972,   971,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1424 >    -789,  -789,  -789,  -789,  -789,   -17,  -789,  -789,  -789,   -32,
1425 >    -789,  -789,  -789,  -789,    -3,  -789,  -789,  -789,   541,  -789,
1426 >       1,  -789,  -789,  -789,   983,   986,   987,  -789,   494,  -789,
1427 >     730,  -789,   576,   976,   977,   978,   410,  -789,  -789,   748,
1428 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1429 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1430 >    -789,  -789,    70,  -789,  -789,  -789,   410,  -789
1431   };
1432  
1433 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1434 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1435 <   means the default is an error.  */
1433 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1434 >     Performed when YYTABLE does not specify something else to do.  Zero
1435 >     means the default is an error.  */
1436   static const yytype_uint16 yydefact[] =
1437   {
1438 <       2,     0,     1,     0,     0,     0,   195,   347,   399,     0,
1439 <     414,     0,   250,   384,   226,     0,     0,   129,   284,     0,
1440 <       0,   301,   325,     0,     3,    23,    11,     4,     5,     6,
1441 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1442 <      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1438 >       2,     0,     1,     0,     0,     0,   227,   392,   440,     0,
1439 >     455,     0,   295,   431,   271,     0,   111,   151,   329,     0,
1440 >       0,   370,     0,     0,   346,     3,    23,    11,     4,    24,
1441 >       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1442 >      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1443 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1444         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1445 +       0,     0,     0,     0,     0,   103,   104,   106,   105,   635,
1446         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1447 <       0,     0,    92,    93,    95,    94,   596,     0,     0,     0,
1447 >       0,     0,     0,     0,     0,   620,   634,   622,   623,   624,
1448 >     625,   626,   627,   621,   628,   629,   630,   631,   632,   633,
1449 >       0,     0,     0,   453,     0,     0,   451,   452,     0,   517,
1450         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630       0,     0,   581,   595,   591,   583,   584,   585,   586,   587,
1631     582,   588,   589,   590,   592,   593,   594,     0,     0,     0,
1632     412,     0,     0,   410,   411,     0,   481,     0,     0,     0,
1451         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1452 +       0,     0,     0,     0,     0,     0,     0,   591,     0,   565,
1453         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1635       0,     0,     0,     0,     0,     0,   552,     0,   528,     0,
1454         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1455 <       0,     0,     0,     0,     0,     0,     0,   431,   479,   473,
1456 <     474,   475,   476,   477,   472,   442,   432,   433,   467,   434,
1457 <     435,   436,   437,   438,   439,   440,   441,   469,   443,   444,
1458 <     478,   446,   451,   447,   449,   448,   462,   463,   450,   452,
1459 <     453,   454,   455,   456,   445,   458,   459,   460,   480,   470,
1460 <     471,   468,   461,   457,   465,   466,   464,     0,     0,     0,
1461 <       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1462 <       0,    42,    43,    44,     0,     0,   620,     0,     0,     0,
1463 <       0,     0,     0,     0,   613,   614,   615,   618,   616,   617,
1646 <     619,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1647 <       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1648 <      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1649 <      52,    60,    57,    53,     0,     0,   299,     0,     0,   297,
1650 <     298,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1455 >       0,   466,   514,   516,   508,   509,   510,   511,   512,   507,
1456 >     477,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1457 >     476,   504,   478,   479,   513,   481,   486,   487,   482,   484,
1458 >     483,   497,   498,   485,   488,   489,   490,   491,   480,   493,
1459 >     494,   495,   515,   505,   506,   502,   503,   496,   492,   500,
1460 >     501,   499,     0,     0,     0,     0,     0,     0,     0,    45,
1461 >      46,    47,     0,     0,     0,   661,     0,     0,     0,     0,
1462 >       0,     0,     0,     0,     0,   652,   653,   654,   655,   656,
1463 >     659,   657,   658,   660,     0,     0,     0,     0,     0,     0,
1464         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1465 <       0,     0,   580,     0,     0,     0,     0,     0,     0,     0,
1466 <       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1467 <     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1468 <     201,   203,     0,     0,     0,     0,     0,   373,     0,     0,
1469 <       0,     0,     0,     0,     0,     0,     0,   350,   351,   352,
1657 <     353,   354,   355,   357,   356,   359,   363,   360,   361,   362,
1658 <     358,   405,     0,     0,     0,   402,   403,   404,     0,     0,
1659 <     409,   426,     0,     0,   416,   425,     0,   422,   423,   424,
1465 >       0,     0,     0,     0,     0,    53,    69,    70,    68,    65,
1466 >      63,    71,    72,    64,    54,    67,    57,    58,    59,    55,
1467 >      66,    60,    61,    62,    56,     0,     0,     0,     0,   122,
1468 >     123,   124,     0,   344,     0,     0,   342,   343,     0,   107,
1469 >       0,     0,     0,     0,   102,     0,     0,     0,     0,     0,
1470         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1471 +     619,     0,     0,     0,     0,   265,     0,     0,     0,     0,
1472         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1473 +     230,   231,   234,   236,   237,   238,   239,   240,   241,   242,
1474 +     243,   244,   232,   233,   235,   245,   246,   247,     0,     0,
1475 +       0,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1476 +       0,     0,     0,     0,   395,   396,   397,   398,   399,   400,
1477 +     401,   403,   402,   405,   409,   406,   407,   408,   404,   446,
1478 +       0,     0,     0,   443,   444,   445,     0,     0,   450,   461,
1479 +       0,     0,     0,   458,   459,   460,     0,     0,     0,     0,
1480         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1665     430,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1666       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1667     396,     0,   386,     0,   395,     0,   392,   393,   394,     0,
1668     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1669     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1670       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1671     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1672       0,     0,     0,     0,   287,   288,   289,   290,     0,     0,
1673       0,     0,     0,     0,     0,   612,    66,     0,     0,     0,
1483         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484 <       0,     0,     0,    49,     0,     0,   311,     0,     0,   304,
1485 <     305,   306,   307,     0,     0,   333,     0,   328,   329,   330,
1486 <       0,     0,   296,     0,     0,     0,    90,     0,     0,     0,
1487 <      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1488 <       0,     0,   579,   212,     0,     0,     0,     0,     0,     0,
1489 <       0,     0,     0,     0,     0,     0,     0,     0,   197,   364,
1484 >       0,     0,     0,     0,     0,     0,     0,   465,     0,     0,
1485 >       0,   312,     0,     0,     0,     0,     0,     0,   298,   299,
1486 >     300,   301,   306,   302,   303,   304,   305,   437,     0,     0,
1487 >       0,   434,   435,   436,     0,     0,     0,   273,     0,   283,
1488 >       0,   281,   282,   284,   285,    48,     0,     0,     0,    44,
1489 >       0,     0,     0,     0,   114,   115,   116,     0,     0,     0,
1490 >     200,     0,     0,     0,     0,     0,   174,     0,     0,   154,
1491 >     155,   156,   157,   160,   161,   162,   163,   159,   158,   164,
1492 >       0,     0,     0,     0,     0,   332,   333,   334,   335,     0,
1493 >       0,     0,     0,     0,     0,     0,     0,     0,   651,    73,
1494         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1682       0,     0,     0,     0,   349,     0,     0,     0,   401,     0,
1683     408,     0,     0,     0,     0,   421,     0,     0,     0,     0,
1495         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1496 +      52,     0,     0,   378,     0,   373,   374,   375,   125,     0,
1497 +       0,   121,     0,     0,     0,   341,     0,     0,   356,     0,
1498 +       0,   349,   350,   351,   352,     0,     0,     0,   101,     0,
1499 +       0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
1500 +       0,     0,     0,     0,   618,   248,     0,     0,     0,     0,
1501         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1502 +       0,     0,     0,     0,   229,   410,     0,     0,     0,     0,
1503         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1504 +       0,   394,     0,     0,     0,   442,     0,   449,     0,     0,
1505 +       0,   457,     0,     0,     0,     0,     0,     0,     0,     0,
1506         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1688       0,     0,     0,     0,     0,     0,     0,   429,   262,     0,
1689       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1690       0,     0,     0,   391,   241,     0,     0,     0,     0,     0,
1691     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1692       0,     0,     0,     0,     0,     0,     0,   131,   291,     0,
1693       0,     0,     0,   286,     0,     0,     0,     0,     0,     0,
1694     611,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1695      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1696       0,     0,    48,   308,     0,     0,     0,     0,   303,   331,
1697       0,     0,     0,   327,     0,   295,    99,    98,    97,   606,
1698     605,   597,    26,    26,    26,    26,    26,    28,    27,   599,
1699     600,   604,   602,   601,   607,   608,   609,   610,   603,   598,
1507         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1508 <       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1509 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   348,
1510 <       0,     0,   400,   413,     0,     0,     0,   415,   494,   498,
1511 <     512,   578,   526,   492,   520,   523,   493,   484,   483,   485,
1512 <     486,   487,   501,   490,   491,   502,   489,   497,   496,   495,
1513 <     521,   482,   519,   576,   577,   516,   513,   563,   556,   573,
1514 <     574,   557,   558,   559,   560,   568,   561,   571,   575,   564,
1515 <     569,   565,   570,   562,   567,   566,   572,     0,   555,   518,
1516 <     538,   532,   549,   550,   533,   534,   535,   536,   544,   537,
1517 <     547,   551,   540,   545,   541,   546,   539,   543,   542,   548,
1518 <       0,   531,   511,   514,   525,   488,   515,   504,   509,   510,
1519 <     507,   508,   505,   506,   500,   499,   524,   527,   517,   522,
1520 <     503,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1521 <       0,     0,     0,   385,     0,     0,     0,   246,   242,   245,
1522 <     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1523 <     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1524 <       0,   130,     0,     0,     0,   285,   621,   625,   623,   626,
1525 <     622,   624,    83,    89,    81,    85,    84,    78,    77,    79,
1526 <      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1527 <       0,     0,   302,     0,     0,   326,   300,    29,    30,    31,
1528 <      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1529 <     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1530 <     369,   371,   372,   382,   379,   377,   378,     0,   376,   366,
1531 <     380,   381,   365,   370,   368,   383,   367,   406,   407,   427,
1532 <     428,   420,     0,   419,   553,     0,   529,     0,   265,   266,
1533 <     275,   272,   277,   274,   273,   280,   276,   278,   271,   279,
1534 <       0,   270,   264,   283,   282,   281,   263,   398,   390,     0,
1535 <     389,   397,   233,   234,   232,     0,   231,   249,   248,     0,
1536 <       0,     0,   114,     0,     0,     0,     0,   109,   147,   145,
1537 <     187,   184,   183,   176,   178,   194,   188,   191,   186,   177,
1538 <     192,   180,   189,   193,   181,   190,   185,   179,   182,     0,
1539 <     175,   142,   144,   146,   158,   152,   169,   170,   153,   154,
1540 <     155,   156,   164,   157,   167,   171,   160,   165,   161,   166,
1541 <     159,   163,   162,   168,     0,   151,   143,   293,   294,   292,
1542 <      69,    73,   309,   315,   321,   324,   317,   323,   318,   322,
1543 <     320,   316,   319,     0,   314,   310,   332,   337,   343,   346,
1544 <     339,   345,   340,   344,   342,   338,   341,     0,   336,    37,
1545 <      38,    39,   374,     0,   417,     0,   554,   530,   268,     0,
1546 <     387,     0,   229,     0,   247,   244,   243,     0,     0,     0,
1547 <       0,   108,   173,     0,   149,     0,   312,     0,   334,     0,
1548 <     375,   418,   269,   388,   230,   115,   124,   127,   126,   123,
1549 <     128,   125,   122,     0,   121,   117,   116,   174,   150,   313,
1550 <     335,   119,     0,   120
1508 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1509 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1510 >       0,     0,     0,     0,   464,   307,     0,     0,     0,     0,
1511 >       0,     0,     0,     0,     0,   297,     0,     0,     0,   433,
1512 >     286,     0,     0,     0,     0,     0,   280,     0,     0,    43,
1513 >     117,     0,     0,     0,   113,   165,     0,     0,     0,     0,
1514 >       0,     0,     0,     0,     0,     0,     0,   153,   336,     0,
1515 >       0,     0,     0,   331,     0,     0,     0,     0,     0,     0,
1516 >       0,     0,   650,     0,     0,     0,     0,     0,     0,     0,
1517 >       0,     0,     0,     0,     0,     0,     0,     0,    78,    79,
1518 >       0,    77,    82,    83,     0,    81,     0,     0,    51,   376,
1519 >       0,     0,     0,   372,     0,   120,     0,     0,   340,   353,
1520 >       0,     0,     0,     0,   348,   110,   109,   108,   645,   644,
1521 >     636,   637,    27,    27,    27,    27,    27,    27,    27,    29,
1522 >      28,   638,   648,   649,   639,   640,   641,   643,   642,   646,
1523 >     647,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524 >       0,     0,     0,     0,     0,     0,    37,     0,     0,   228,
1525 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1526 >       0,     0,     0,     0,     0,   393,     0,     0,   441,   454,
1527 >       0,     0,   456,   530,   534,   549,   519,   617,   562,   556,
1528 >     559,   529,   521,   520,   523,   524,   522,   537,   527,   528,
1529 >     538,   526,   533,   532,   531,   557,   518,   615,   616,   553,
1530 >     601,   595,   611,   596,   597,   598,   606,   614,   599,   608,
1531 >     612,   602,   613,   603,   607,   600,   610,   605,   604,   609,
1532 >       0,   594,   555,   574,   575,   576,   569,   587,   570,   571,
1533 >     572,   582,   590,   573,   584,   588,   578,   589,   579,   583,
1534 >     577,   586,   581,   580,   585,     0,   568,   550,   548,   551,
1535 >     561,   552,   540,   546,   547,   544,   545,   541,   542,   543,
1536 >     560,   563,   564,   525,   554,   536,   535,   558,   539,     0,
1537 >       0,     0,     0,     0,     0,     0,     0,   296,     0,     0,
1538 >     432,     0,     0,     0,   291,   287,   290,   272,    49,    50,
1539 >       0,     0,   112,     0,     0,     0,     0,     0,     0,     0,
1540 >       0,     0,     0,   152,     0,     0,     0,   330,   663,   662,
1541 >     668,   666,   669,   664,   665,   667,    92,   100,    91,    98,
1542 >      99,    90,    94,    93,    85,    84,    89,    86,    88,    97,
1543 >      87,    74,     0,    75,     0,    95,    96,     0,     0,   371,
1544 >     126,     0,     0,     0,   138,     0,   130,   131,   133,   132,
1545 >     345,     0,     0,     0,   347,    30,    31,    32,    33,    34,
1546 >      35,    36,   260,   261,   252,   270,   269,     0,   268,   253,
1547 >     255,   257,   264,   256,   254,   263,   249,   262,   251,   250,
1548 >      37,    37,    37,    39,    38,   258,   259,   415,   418,   419,
1549 >     429,   426,   412,   427,   424,   425,     0,   423,   428,   411,
1550 >     417,   414,   416,   430,   413,   447,   448,   462,   463,   592,
1551 >       0,   566,     0,   310,   311,   320,   317,   322,   318,   319,
1552 >     325,   321,   323,   316,   324,     0,   315,   309,   328,   327,
1553 >     326,   308,   439,   438,   294,   293,   278,   279,   277,     0,
1554 >     276,     0,     0,     0,   118,   119,   173,   169,   220,   207,
1555 >     217,   216,   205,   210,   226,   219,   224,   209,   212,   221,
1556 >     223,   218,   225,   213,   215,   222,   211,   214,     0,   203,
1557 >     166,   168,   170,   171,   172,   183,   184,   185,   178,   196,
1558 >     179,   180,   181,   191,   199,   182,   193,   197,   187,   198,
1559 >     188,   192,   186,   195,   190,   189,   194,     0,   177,   167,
1560 >     339,   337,   338,    76,    80,   377,   382,   388,   391,   384,
1561 >     390,   385,   389,   387,   383,   386,     0,   381,   134,     0,
1562 >       0,     0,     0,   129,   354,   360,   366,   369,   362,   368,
1563 >     363,   367,   365,   361,   364,     0,   359,   355,   266,     0,
1564 >      40,    41,    42,   421,     0,   593,   567,   313,     0,   274,
1565 >       0,   292,   289,   288,     0,     0,     0,   201,     0,   175,
1566 >       0,   379,     0,     0,     0,     0,     0,   128,   357,     0,
1567 >     267,   422,   314,   275,   206,   204,   208,   202,   176,   380,
1568 >     135,   137,   136,   144,   149,   148,   143,   146,   150,   147,
1569 >     142,   145,     0,   141,   358,   139,     0,   140
1570   };
1571  
1572 < /* YYDEFGOTO[NTERM-NUM].  */
1572 >  /* YYPGOTO[NTERM-NUM].  */
1573 > static const yytype_int16 yypgoto[] =
1574 > {
1575 >    -789,  -789,  -789,  -396,  -317,  -788,  -641,  -789,  -789,   974,
1576 >    -789,  -789,  -789,  -789,   946,  -789,  -789,  -789,    54,  -789,
1577 >      17,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1578 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1579 >    1007,  -789,  -789,  -789,  -789,  -789,  -789,   610,  -789,  -789,
1580 >    -789,  -789,   836,  -789,  -789,  -789,  -789,    37,  -789,  -789,
1581 >    -789,  -789,  -789,  -194,  -789,  -789,  -789,   618,  -789,  -789,
1582 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -150,
1583 >    -789,  -789,  -789,  -153,  -789,  -789,  -789,   826,  -789,  -789,
1584 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1585 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -128,  -789,  -789,
1586 >    -789,  -789,  -789,  -138,  -789,   637,  -789,  -789,  -789,   -24,
1587 >    -789,  -789,  -789,  -789,  -789,   667,  -789,  -789,  -789,  -789,
1588 >    -789,  -789,  -789,  -110,  -789,  -789,  -789,  -789,  -789,  -789,
1589 >     619,  -789,  -789,  -789,  -789,  -789,   970,  -789,  -789,  -789,
1590 >    -789,   562,  -789,  -789,  -789,  -789,  -789,  -123,  -789,  -789,
1591 >    -789,   592,  -789,  -789,  -789,  -789,  -111,  -789,  -789,  -789,
1592 >     876,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1593 >    -789,  -789,   -92,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1594 >    -789,   690,  -789,  -789,  -789,  -789,  -789,   975,  -789,  -789,
1595 >    -789,  -789,  1079,  -789,  -789,  -789,  -789,   801,  -789,  -789,
1596 >    -789,  -789,  1025,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1597 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1598 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1599 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1600 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1601 >    -789,    80,  -789,  -789,  -789,    71,  -789,  -789,  -789,  -789,
1602 >    -789,  1111,  -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,
1603 >    -789,  -789,  -789,  -789,  -789,  -789,  -789,  -789,   979,  -789,
1604 >    -789,  -789,  -789,  -789,  -789,  -789,  -789
1605 > };
1606 >
1607 >  /* YYDEFGOTO[NTERM-NUM].  */
1608   static const yytype_int16 yydefgoto[] =
1609   {
1610 <      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1611 <     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1612 <     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1613 <     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1614 <      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1615 <     950,  1084,  1213,  1214,    29,    60,   499,   500,   501,   502,
1616 <     503,   504,   505,   506,   507,   714,  1134,  1135,   508,   710,
1617 <    1109,  1110,    30,    49,   327,   328,   329,   330,   331,   332,
1618 <     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1619 <      57,   474,   695,  1075,  1076,   475,   476,   477,  1081,   938,
1620 <     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1621 <     455,   456,   681,  1060,  1061,   457,   458,   459,    33,    61,
1622 <     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1623 <      64,   548,   549,   550,   551,   552,   755,  1153,  1154,    36,
1624 <      65,   556,   557,   558,   559,   761,  1167,  1168,    37,    50,
1625 <     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1626 <     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1627 <     464,   690,  1069,  1070,   465,   466,   467,   468,    39,    51,
1628 <     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1629 <     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1630 <     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1631 <     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1632 <     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1633 <     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1634 <     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1635 <     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1610 >      -1,     1,    25,   839,   840,  1103,  1104,    26,   228,   229,
1611 >     230,   231,    27,   274,   275,   276,   277,   800,   801,   804,
1612 >     805,   278,   279,   280,   281,   282,   283,   284,   285,   286,
1613 >     287,   288,   289,   290,   291,   292,   293,   294,    28,    74,
1614 >      75,    76,    77,    78,    29,    61,   513,   514,   515,   516,
1615 >      30,   298,   299,   300,   301,   302,  1065,  1066,  1067,  1068,
1616 >    1069,  1241,  1312,  1313,    31,    62,   528,   529,   530,   531,
1617 >     532,   533,   534,   535,   536,   537,   538,   764,  1217,  1218,
1618 >     539,   758,  1188,  1189,    32,    51,   349,   350,   351,   352,
1619 >     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
1620 >     363,   364,   365,   366,   367,   629,  1087,  1088,    33,    59,
1621 >     499,   743,  1159,  1160,   500,   501,   502,  1163,  1005,  1006,
1622 >     503,   504,    34,    57,   477,   478,   479,   480,   481,   482,
1623 >     483,   728,  1145,  1146,   484,   485,   486,    35,    63,   544,
1624 >     545,   546,   547,   548,    36,   305,   306,   307,    37,    69,
1625 >     600,   601,   602,   603,   604,   821,  1255,  1256,    38,    66,
1626 >     584,   585,   586,   587,   811,  1236,  1237,    39,    52,   383,
1627 >     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
1628 >     652,  1116,  1117,   394,   395,   396,   397,   398,    40,    58,
1629 >     490,   491,   492,   493,    41,    53,   402,   403,   404,   405,
1630 >      42,   115,   116,   117,    43,    55,   412,   413,   414,   415,
1631 >      44,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1632 >     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1633 >     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1634 >     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1635 >     209,   210,   211,   212,   213,   214,   215,   216,   217,   445,
1636 >     965,   966,   218,   443,   940,   941,   219,   220,   221,    45,
1637        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1638 <     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1639 <     249,   250
1638 >     104,   105,   106,   107,   108,   109,    46,   244,   245,   246,
1639 >     247,   248,   249,   250,   251,   252,   253
1640   };
1641  
1642 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1643 <   STATE-NUM.  */
1644 < #define YYPACT_NINF -678
1645 < static const yytype_int16 yypact[] =
1642 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1643 >     positive, shift that token.  If negative, reduce the rule whose
1644 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1645 > static const yytype_int16 yytable[] =
1646   {
1647 <    -678,   581,  -678,  -132,  -213,  -211,  -678,  -678,  -678,  -200,
1648 <    -678,  -194,  -678,  -678,  -678,  -191,  -189,  -678,  -678,  -181,
1649 <    -179,  -678,  -678,  -176,  -678,  -678,  -678,  -678,  -678,  -678,
1650 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1651 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,   285,   812,  -143,
1652 <    -106,  -103,    18,   -88,   349,   -79,   -73,   -68,    62,    68,
1653 <     -66,   -57,   388,   387,   -43,   -21,    15,  -182,   -16,   -11,
1654 <      -9,     8,  -678,  -678,  -678,  -678,  -678,    -4,    59,    71,
1655 <      94,    97,   110,   131,   134,   136,   141,   142,   144,   145,
1656 <     146,   155,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1657 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,   622,   419,    29,
1658 <    -678,   147,    44,  -678,  -678,   198,  -678,   148,   158,   163,
1659 <     164,   165,   167,   168,   169,   174,   179,   182,   183,   188,
1660 <     189,   192,   195,   196,   200,   205,   212,   227,   229,   230,
1661 <     232,   243,   246,   248,   249,   250,  -678,   251,  -678,   252,
1662 <     254,   255,   256,   263,   264,   267,   268,   271,   273,   274,
1663 <     275,   276,   277,   279,   280,   281,    36,  -678,  -678,  -678,
1664 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1665 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1666 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1667 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1668 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,   448,     4,   257,
1669 <      65,   283,    45,  -678,  -678,  -678,    80,    88,   284,   294,
1670 <      49,  -678,  -678,  -678,   426,    13,  -678,   295,   302,   303,
1671 <     304,   305,   307,     7,  -678,  -678,  -678,  -678,  -678,  -678,
1672 <    -678,   187,   308,   309,   310,   311,   312,   314,   316,   318,
1673 <     319,   321,   322,   323,   324,   325,   326,    74,  -678,  -678,
1674 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1675 <    -678,  -678,  -678,  -678,    11,    28,  -678,   327,    53,  -678,
1676 <    -678,  -678,   253,   286,   299,   202,  -678,   384,   447,   390,
1677 <     456,   456,   459,   460,   464,   405,   406,   467,   456,   413,
1678 <     414,   332,  -678,   359,   357,   358,   361,   365,   366,   369,
1679 <     370,   373,   374,   375,   376,   383,   385,   156,  -678,  -678,
1680 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1681 <    -678,  -678,   362,   392,   393,   394,   395,  -678,   396,   398,
1682 <     400,   403,   404,   407,   408,   412,   210,  -678,  -678,  -678,
1683 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1684 <    -678,  -678,   415,   416,    66,  -678,  -678,  -678,   488,   391,
1685 <    -678,  -678,   418,   421,  -678,  -678,    39,  -678,  -678,  -678,
1686 <     472,   456,   456,   541,   483,   485,   546,   529,   489,   456,
1687 <     490,   456,   548,   551,   554,   496,   497,   499,   456,   560,
1688 <     562,   456,   563,   564,   547,   566,   568,   509,   511,   454,
1689 <     515,   457,   456,   456,   517,   519,   520,   521,   181,   184,
1690 <     523,   526,   456,   456,   569,   456,   528,   532,   533,   473,
1691 <    -678,   478,   479,   486,  -678,   487,   491,   492,   494,   495,
1692 <     199,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1693 <    -678,   500,  -678,   501,  -678,    69,  -678,  -678,  -678,   481,
1694 <    -678,   502,   506,   513,  -678,    51,  -678,  -678,  -678,  -678,
1695 <    -678,   542,   493,  -678,   498,  -678,   585,   589,   512,  -678,
1696 <     518,   514,   516,  -678,   525,   535,   538,  -678,   540,    56,
1697 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   531,
1698 <     545,   549,   550,    33,  -678,  -678,  -678,  -678,   555,   558,
1699 <     590,   576,   591,   456,   536,  -678,  -678,   649,   601,   652,
1700 <     653,   655,   656,   662,   669,    46,   213,   670,   672,   695,
1701 <     679,   683,   587,  -678,   588,   586,  -678,   598,    20,  -678,
1702 <    -678,  -678,  -678,   605,   608,  -678,   152,  -678,  -678,  -678,
1703 <     689,   623,  -678,   625,   627,   629,  -678,   630,   631,   632,
1704 <     193,   633,   634,   636,   639,   640,   641,   646,   648,   650,
1705 <     651,   658,  -678,  -678,   724,   759,   456,   765,   768,   771,
1706 <     772,   755,   775,   777,   456,   778,   778,   665,  -678,  -678,
1707 <     764,   180,   766,   723,   666,   773,   774,   776,   779,   789,
1708 <     780,   781,   782,   674,  -678,   783,   784,   677,  -678,   680,
1709 <    -678,   785,   786,   676,   690,  -678,   691,   694,   696,   697,
1710 <     698,   699,   700,   701,   702,   703,   704,   707,   708,   709,
1711 <     710,   711,   712,   713,   714,   716,   717,   718,   719,   720,
1712 <     721,   722,   725,   726,   727,   573,   728,   609,   729,   730,
1713 <     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1714 <     741,   742,   743,   744,   745,   746,   747,  -678,  -678,   787,
1715 <     751,   748,   822,   864,   847,   848,   850,   753,  -678,   852,
1716 <     752,   854,   757,  -678,  -678,   756,   856,   858,   877,   762,
1717 <    -678,   763,  -678,   185,   767,   769,  -678,  -678,   862,   821,
1718 <     770,   866,   868,   869,   788,   870,   790,  -678,  -678,   872,
1719 <     873,   874,   792,  -678,   793,   794,   795,   796,   797,   798,
1720 <    -678,   799,   800,   801,   802,   803,   804,   805,   806,  -678,
1721 <    -678,  -204,  -678,  -678,  -678,  -197,  -678,   807,   808,   809,
1722 <     810,   811,  -678,  -678,   875,   813,   876,   814,  -678,  -678,
1723 <     878,   815,   817,  -678,   819,  -678,  -678,  -678,  -678,  -678,
1724 <    -678,  -678,   456,   456,   456,   456,   456,  -678,  -678,  -678,
1725 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1726 <     820,   823,   824,   825,   826,   827,   828,   829,   830,   831,
1727 <     832,   297,   833,   834,  -678,   835,   836,   837,   838,   839,
1728 <       5,   840,   841,   842,   843,   844,   845,   846,   849,  -678,
1729 <     851,   853,  -678,  -678,   855,   857,   859,  -678,  -678,  -678,
1730 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1731 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1732 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1733 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1734 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -195,  -678,  -678,
1735 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1736 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1737 <    -184,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1738 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1739 <    -678,   860,   861,   537,   863,   865,   867,   871,   879,  -678,
1740 <     880,   881,   882,  -678,   -26,   883,   884,   899,   818,  -678,
1741 <    -678,  -678,   885,   886,  -678,   887,   129,  -678,  -678,  -678,
1742 <    -678,  -678,  -678,   888,   891,   484,   892,   893,   894,   643,
1743 <     895,  -678,   896,   897,   898,  -678,  -678,  -678,  -678,  -678,
1744 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1745 <    -678,    46,  -678,   213,  -678,  -678,  -678,  -678,  -678,   900,
1746 <     657,   901,  -678,   902,   664,  -678,  -678,  -678,  -678,  -678,
1747 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1748 <    -678,  -678,  -678,   778,   778,   778,  -678,  -678,  -678,  -678,
1749 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -166,  -678,  -678,
1750 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1751 <    -678,  -678,  -164,  -678,  -678,   573,  -678,   609,  -678,  -678,
1752 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1753 <    -147,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -130,
1754 <    -678,  -678,  -678,  -678,  -678,   -46,  -678,  -678,  -678,   903,
1755 <     877,   904,  -678,   910,   905,   -92,   906,  -678,  -678,  -678,
1756 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1757 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,    -7,
1758 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1759 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1760 <    -678,  -678,  -678,  -678,    76,  -678,  -678,  -678,  -678,  -678,
1761 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1762 <    -678,  -678,  -678,    82,  -678,  -678,  -678,  -678,  -678,  -678,
1763 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,    85,  -678,  -678,
1764 <    -678,  -678,  -678,     5,  -678,   859,  -678,  -678,  -678,   537,
1765 <    -678,   881,  -678,   -26,  -678,  -678,  -678,   907,   265,   909,
1766 <     911,  -678,  -678,   484,  -678,   643,  -678,   657,  -678,   664,
1767 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1768 <    -678,  -678,  -678,    95,  -678,  -678,  -678,  -678,  -678,  -678,
1769 <    -678,  -678,   265,  -678
1647 >     867,   868,   614,   303,   616,  1114,   618,   619,   399,    49,
1648 >      70,   296,   368,   540,   369,    50,   370,   225,    54,   494,
1649 >     399,  1085,   113,   113,   596,   708,   581,   409,   371,   709,
1650 >     510,   581,   710,  1061,    71,   296,   711,    56,   866,   409,
1651 >      60,    72,   487,    64,   372,  1051,    65,   541,  1053,  1052,
1652 >    1156,   225,  1054,  1129,    67,  1131,  1258,  1130,   468,  1132,
1653 >    1259,  1263,   119,   517,    68,  1264,   110,   120,   121,   373,
1654 >     487,   374,   400,   122,   469,   111,   495,   112,   375,   518,
1655 >     118,   123,   124,   496,   400,   497,   114,   114,   125,   376,
1656 >     470,   126,   127,   542,   596,   519,  1086,   128,   303,   222,
1657 >     673,   674,   129,   130,   304,   131,   132,   133,   681,   134,
1658 >     511,    73,   685,   377,   223,   226,   224,   690,   135,   232,
1659 >     693,   233,   136,   137,   471,   597,   510,   582,   410,   520,
1660 >     703,   704,   582,   138,  1062,  1284,   401,   378,   234,   227,
1661 >     410,   543,   717,   139,   498,   720,   721,   331,   401,   226,
1662 >     140,   295,   141,   308,   142,   411,   143,   379,   144,   145,
1663 >     309,   332,   333,   505,   521,   334,   380,   411,  1267,   254,
1664 >     488,   146,  1268,   227,    47,    48,   147,   148,   149,   472,
1665 >     150,   151,   152,  1061,   522,   153,  -127,   473,   474,   310,
1666 >    1269,  1157,  1277,   255,  1270,   597,  1278,  1115,   488,   304,
1667 >     523,  1158,   311,  1279,   559,   512,   511,  1280,   475,   312,
1668 >    -127,   154,   381,   335,   315,  1281,  1288,   524,   525,  1282,
1669 >    1289,   155,   156,   157,   158,   159,   160,   256,  1063,   316,
1670 >     336,   337,   338,   339,   340,   317,   257,   297,   341,   781,
1671 >     382,   664,   342,   313,   590,   660,   772,   598,   343,   583,
1672 >     508,   599,   745,   161,   583,   407,  1064,   823,   258,   344,
1673 >     345,   297,   259,   753,   812,   592,  1242,    79,   526,   489,
1674 >     260,   346,   670,   261,   262,   738,   540,   162,   163,   164,
1675 >     318,   165,   166,   167,  1062,   476,   588,   168,    80,    81,
1676 >     527,   734,   169,   347,    82,   466,   766,   489,  1100,  1101,
1677 >    1102,   512,   494,  1315,   319,   263,   608,  1316,    70,   235,
1678 >     541,   853,  1260,  1261,  1262,   320,   858,   598,   321,   861,
1679 >     322,   599,   264,   865,   323,   265,   266,   267,   324,    83,
1680 >      84,   594,    71,   348,   325,    85,    86,   236,   326,    72,
1681 >     327,    87,    88,    89,   468,   237,   798,   799,   328,    90,
1682 >      91,   406,   268,   802,   803,   416,   542,   238,   239,   495,
1683 >     469,   609,   240,   241,   242,   417,   496,   418,   497,   269,
1684 >     270,   271,   871,   872,    92,    93,   470,   419,  1063,   420,
1685 >     643,   421,   610,   422,   423,   605,   424,   243,   119,   517,
1686 >     425,   426,   427,   120,   121,   428,   429,   272,   273,   122,
1687 >     430,   866,   579,   431,   543,   518,  1064,   123,   124,    73,
1688 >     471,   432,   433,   434,   125,   435,   436,   126,   127,   437,
1689 >     438,   519,   439,   128,   440,   441,   442,   498,   129,   130,
1690 >     444,   131,   132,   133,   254,   134,  1075,  1076,  1077,  1078,
1691 >    1079,  1080,  1081,   446,   135,   447,   448,   449,   136,   137,
1692 >    1303,   450,   451,   452,   453,   520,   454,   455,   255,   138,
1693 >     456,   457,   458,   459,   460,   472,   461,   462,   463,   139,
1694 >     464,   465,   506,   473,   474,   507,   140,   549,   141,   550,
1695 >     142,  1304,   143,  1305,   144,   145,   613,   551,   552,   553,
1696 >     521,   554,   256,   555,   475,   556,   560,   146,  1168,   561,
1697 >     329,   257,   147,   148,   149,   562,   150,   151,   152,   563,
1698 >     522,   153,  1169,   832,   833,   834,   835,   836,   837,   838,
1699 >    1170,   564,   565,   258,   566,   606,   523,   259,  1306,   567,
1700 >     568,   569,   570,   571,  1171,   260,   572,   154,   261,   262,
1701 >     573,   574,   557,   524,   525,  1307,   575,   155,   156,   157,
1702 >     158,   159,   160,   576,  1135,   577,   578,   589,   593,   607,
1703 >     611,   612,   613,   615,   368,  1172,   369,  1173,   370,   617,
1704 >     263,   476,   620,   621,   622,  1136,   623,   624,   626,   161,
1705 >     371,   625,  1308,  1309,  1137,   627,   628,   264,   630,   631,
1706 >     265,   266,   267,  1174,   526,   666,   372,   672,   632,  1285,
1707 >     633,   634,   635,   162,   163,   164,   636,   165,   166,   167,
1708 >     645,   637,   638,   168,   639,  1138,   527,   268,   169,   640,
1709 >     641,   373,   642,   374,   675,   646,  1175,   647,  1176,   648,
1710 >     375,   649,   650,   651,   269,   270,   271,   653,  1310,   654,
1711 >     655,   376,  1311,   656,  1139,  1140,   667,  1177,   657,  1226,
1712 >     658,   659,  1141,   662,   663,   668,     2,     3,   669,   676,
1713 >       4,   677,   272,   273,   678,   377,   679,  1178,   680,   682,
1714 >       5,   683,  1179,     6,     7,   699,  1180,  1142,   684,   686,
1715 >       8,   687,   331,  1181,   688,   689,   691,   692,  1182,   378,
1716 >     694,     9,   695,  1143,    10,    11,   332,   333,   696,   697,
1717 >     334,   698,  1183,   700,   702,  1184,   705,  1185,   701,   379,
1718 >     706,  1227,   707,   712,   713,   714,   715,   716,   380,  1186,
1719 >     718,   719,    12,   722,   723,   724,  1187,    13,   747,   725,
1720 >     748,   777,   786,   783,   740,   774,    14,   943,   726,   944,
1721 >     945,   775,  1228,   727,   776,   749,   729,   730,   335,  1229,
1722 >     731,   732,   733,   736,   737,  1144,    15,    16,  1230,   741,
1723 >     742,   744,   235,   750,   381,   336,   337,   338,   339,   340,
1724 >     751,   752,   756,   341,    17,   755,   757,   342,   768,  1195,
1725 >     759,  1196,  1197,   343,  1231,   760,  1232,  1233,   782,   761,
1726 >     236,    18,   382,   762,   344,   345,   763,   765,   237,   778,
1727 >     769,  1234,   785,   779,    19,    20,   346,   770,  1235,   771,
1728 >     238,   239,   780,   920,   784,   240,   241,   242,   787,   788,
1729 >     789,  1245,   790,   791,   792,   793,    21,   794,   347,   795,
1730 >     796,   797,   806,   808,   807,   809,   814,   817,   851,    22,
1731 >     243,   815,   862,   810,   816,   818,   819,    23,   825,   852,
1732 >     820,    24,   822,   854,   855,   946,   947,   948,   826,   949,
1733 >     950,   827,   951,   952,   828,   953,   829,   954,   348,   830,
1734 >     955,   831,   841,   956,   957,   842,   958,   843,   844,   845,
1735 >     846,   959,   847,  1246,   848,   960,   961,   962,   849,   856,
1736 >     850,   857,   859,   860,   863,   963,   864,  1198,  1199,  1200,
1737 >     964,  1201,  1202,   866,  1203,  1204,   869,  1205,   877,  1206,
1738 >     870,   880,  1207,   873,  1247,  1208,  1209,   875,  1210,   876,
1739 >     878,  1248,   879,  1211,   874,   881,    79,  1212,  1213,  1214,
1740 >    1249,   921,   922,   923,   882,   924,   925,  1215,   926,   927,
1741 >     883,   928,  1216,   929,   884,   885,   930,    80,    81,   931,
1742 >     932,   886,   933,    82,   887,   888,  1250,   934,  1251,  1252,
1743 >     889,   935,   936,   937,   890,   891,   892,   893,   894,   895,
1744 >     989,   938,   896,  1253,   897,   992,   939,   898,   899,   900,
1745 >    1254,   993,   901,   902,   903,   904,   905,   906,    83,    84,
1746 >     907,   908,   909,   910,    85,    86,   911,   994,   912,   913,
1747 >      87,    88,    89,   914,   915,   916,   917,   918,    90,    91,
1748 >     995,   919,   991,   996,   998,   990,   999,  1001,   942,  1002,
1749 >     967,   968,   969,  1004,  1010,  1011,  1013,   970,  1016,   971,
1750 >     972,  1017,  1018,    92,    93,   973,   974,   975,   976,   977,
1751 >    1019,   978,   979,   980,   981,   982,  1014,   983,   984,   985,
1752 >    1020,   986,   987,   988,   997,  1000,  1022,  1024,  1007,  1003,
1753 >    1025,  1008,  1009,  1012,  1026,  1057,  1071,  1023,  1015,  1021,
1754 >    1073,  1224,  1027,  1028,  1029,  1030,  1271,  1031,  1032,  1033,
1755 >    1034,   314,  1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,
1756 >    1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,  1055,  1056,
1757 >    1283,  1059,  1243,  1058,  1060,  1070,  1223,  1074,  1082,  1072,
1758 >    1083,  1084,  1089,  1090,  1091,  1092,  1294,  1093,  1094,  1295,
1759 >    1296,  1095,  1317,   754,  1096,  1297,  1097,  1098,  1099,  1105,
1760 >    1298,  1290,  1293,  1106,   591,  1107,  1108,   746,  1272,  1109,
1761 >    1110,  1111,  1112,  1113,   735,  1118,   767,  1119,  1120,  1121,
1762 >    1122,  1123,  1124,  1125,  1126,  1127,  1128,  1133,  1292,  1134,
1763 >    1147,  1148,   824,   773,  1149,  1150,  1314,  1151,  1152,  1153,
1764 >    1161,  1299,  1291,  1154,  1155,   644,   813,  1164,  1165,  1162,
1765 >     739,  1166,  1167,  1190,  1191,  1192,  1193,  1194,  1219,  1220,
1766 >    1221,  1222,  1225,  1238,   408,   467,  1244,  1239,  1240,  1257,
1767 >    1273,  1265,   509,  1274,  1287,   330,  1275,  1276,  1286,  1300,
1768 >    1301,  1302,  1266,   671,     0,     0,     0,     0,     0,     0,
1769 >     580,     0,     0,   558,     0,     0,     0,     0,     0,     0,
1770 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1772 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   661,
1773 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774 >       0,     0,     0,     0,     0,   595,     0,     0,     0,     0,
1775 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1776 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1780 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1781 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784 >       0,     0,     0,     0,     0,     0,     0,   665
1785   };
1786  
1787 < /* YYPGOTO[NTERM-NUM].  */
1911 < static const yytype_int16 yypgoto[] =
1787 > static const yytype_int16 yycheck[] =
1788   {
1789 <    -678,  -678,  -678,  -451,  -298,  -677,  -595,  -678,  -678,   890,
1790 <    -678,  -678,  -678,  -678,   761,  -678,  -678,  -678,    16,  -678,
1791 <      17,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1792 <    -678,  -678,  -678,  -678,  -678,  -678,   923,  -678,  -678,  -678,
1793 <    -678,  -678,   908,  -678,  -678,  -678,  -678,    50,  -678,  -678,
1794 <    -678,  -678,  -678,  -224,  -678,  -678,  -678,   505,  -678,  -678,
1795 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -196,  -678,  -678,
1796 <    -678,  -192,  -678,  -678,  -678,   750,  -678,  -678,  -678,  -678,
1797 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1798 <    -678,  -678,  -678,  -678,  -153,  -678,   561,  -678,  -678,  -678,
1799 <     -17,  -678,  -678,  -678,  -678,  -678,   615,  -678,  -678,  -678,
1800 <    -678,  -678,  -678,  -678,  -112,  -678,  -678,  -678,  -678,  -678,
1801 <    -678,   556,  -678,  -678,  -678,  -678,  -678,   791,  -678,  -678,
1802 <    -678,  -678,   539,  -678,  -678,  -678,  -678,  -678,  -126,  -678,
1803 <    -678,  -678,   527,  -678,  -678,  -678,  -678,  -125,  -678,  -678,
1804 <    -678,   758,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1805 <    -678,  -678,  -100,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1806 <    -678,  -678,  -678,   -97,  -678,   616,  -678,  -678,  -678,  -678,
1807 <    -678,   715,  -678,  -678,  -678,  -678,   973,  -678,  -678,  -678,
1808 <    -678,  -678,  -678,   -87,  -678,   705,  -678,  -678,  -678,  -678,
1809 <     924,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1810 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1811 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1812 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1813 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,    54,  -678,
1814 <    -678,  -678,    47,  -678,  -678,  -678,  -678,  -678,  1002,  -678,
1815 <    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
1816 <    -678,  -678,  -678,  -678,  -678,   889,  -678,  -678,  -678,  -678,
1817 <    -678,  -678
1789 >     641,   642,   319,     1,   321,     8,   323,   324,     1,   235,
1790 >       1,     1,     1,     1,     3,   235,     5,     1,   235,     1,
1791 >       1,    53,     1,     1,     1,   215,     1,     1,    17,   219,
1792 >       1,     1,   215,     1,    25,     1,   219,   235,   112,     1,
1793 >     235,    32,     1,   235,    33,   233,   235,    35,   233,   237,
1794 >      49,     1,   237,   233,   235,   233,   233,   237,     1,   237,
1795 >     237,   233,     1,     1,   235,   237,   235,     6,     7,    58,
1796 >       1,    60,    65,    12,    17,   235,    58,   235,    67,    17,
1797 >     235,    20,    21,    65,    65,    67,    65,    65,    27,    78,
1798 >      33,    30,    31,    81,     1,    33,   128,    36,     1,   235,
1799 >     417,   418,    41,    42,   102,    44,    45,    46,   425,    48,
1800 >      81,   102,   429,   102,   235,    99,   235,   434,    57,   235,
1801 >     437,   235,    61,    62,    67,   102,     1,   102,   102,    67,
1802 >     447,   448,   102,    72,   102,   209,   129,   126,   235,   123,
1803 >     102,   129,   459,    82,   126,   462,   463,     1,   129,    99,
1804 >      89,   235,    91,   235,    93,   129,    95,   146,    97,    98,
1805 >     233,    15,    16,   233,   102,    19,   155,   129,   233,     1,
1806 >     129,   110,   237,   123,   233,   234,   115,   116,   117,   122,
1807 >     119,   120,   121,     1,   122,   124,   176,   130,   131,   236,
1808 >     233,   190,   233,    25,   237,   102,   237,   200,   129,   102,
1809 >     138,   200,   236,   233,   233,   176,    81,   237,   151,   236,
1810 >     176,   150,   201,    67,   236,   233,   233,   155,   156,   237,
1811 >     237,   160,   161,   162,   163,   164,   165,    59,   196,   236,
1812 >      84,    85,    86,    87,    88,   236,    68,   227,    92,   556,
1813 >     229,   234,    96,   234,   234,   234,   234,   224,   102,   224,
1814 >     234,   228,   234,   192,   224,   234,   224,   234,    90,   113,
1815 >     114,   227,    94,   234,   234,   176,   234,     1,   206,   228,
1816 >     102,   125,   234,   105,   106,   234,     1,   216,   217,   218,
1817 >     236,   220,   221,   222,   102,   228,   233,   226,    22,    23,
1818 >     228,   234,   231,   147,    28,   234,   234,   228,     9,    10,
1819 >      11,   176,     1,   233,   236,   137,   233,   237,     1,     1,
1820 >      35,   628,  1100,  1101,  1102,   236,   633,   224,   236,   636,
1821 >     236,   228,   154,   640,   236,   157,   158,   159,   236,    63,
1822 >      64,   234,    25,   187,   236,    69,    70,    29,   236,    32,
1823 >     236,    75,    76,    77,     1,    37,   204,   205,   236,    83,
1824 >      84,   236,   184,   204,   205,   236,    81,    49,    50,    58,
1825 >      17,   112,    54,    55,    56,   236,    65,   236,    67,   201,
1826 >     202,   203,   180,   181,   108,   109,    33,   236,   196,   236,
1827 >     234,   236,   112,   236,   236,   127,   236,    79,     1,     1,
1828 >     236,   236,   236,     6,     7,   236,   236,   229,   230,    12,
1829 >     236,   112,   234,   236,   129,    17,   224,    20,    21,   102,
1830 >      67,   236,   236,   236,    27,   236,   236,    30,    31,   236,
1831 >     236,    33,   236,    36,   236,   236,   236,   126,    41,    42,
1832 >     236,    44,    45,    46,     1,    48,   832,   833,   834,   835,
1833 >     836,   837,   838,   236,    57,   236,   236,   236,    61,    62,
1834 >      40,   236,   236,   236,   236,    67,   236,   236,    25,    72,
1835 >     236,   236,   236,   236,   236,   122,   236,   236,   236,    82,
1836 >     236,   236,   236,   130,   131,   236,    89,   236,    91,   236,
1837 >      93,    71,    95,    73,    97,    98,   112,   236,   236,   236,
1838 >     102,   236,    59,   236,   151,   236,   236,   110,     4,   236,
1839 >     234,    68,   115,   116,   117,   236,   119,   120,   121,   236,
1840 >     122,   124,    18,   139,   140,   141,   142,   143,   144,   145,
1841 >      26,   236,   236,    90,   236,   127,   138,    94,   118,   236,
1842 >     236,   236,   236,   236,    40,   102,   236,   150,   105,   106,
1843 >     236,   236,   234,   155,   156,   135,   236,   160,   161,   162,
1844 >     163,   164,   165,   236,    13,   236,   236,   236,   236,   127,
1845 >     215,   112,   112,   112,     1,    71,     3,    73,     5,   112,
1846 >     137,   228,   112,   112,   215,    34,   215,   233,   236,   192,
1847 >      17,   233,   172,   173,    43,   236,   236,   154,   236,   236,
1848 >     157,   158,   159,    99,   206,   127,    33,   215,   236,  1240,
1849 >     236,   236,   236,   216,   217,   218,   236,   220,   221,   222,
1850 >     233,   236,   236,   226,   236,    74,   228,   184,   231,   236,
1851 >     236,    58,   236,    60,   215,   236,   132,   236,   134,   236,
1852 >      67,   236,   236,   236,   201,   202,   203,   236,   228,   236,
1853 >     236,    78,   232,   236,   103,   104,   233,   153,   236,    73,
1854 >     236,   236,   111,   236,   236,   236,     0,     1,   236,   112,
1855 >       4,   215,   229,   230,   112,   102,   127,   173,   215,   215,
1856 >      14,   112,   178,    17,    18,   236,   182,   136,   112,   112,
1857 >      24,   215,     1,   189,   215,   215,   112,   112,   194,   126,
1858 >     112,    35,   112,   152,    38,    39,    15,    16,   112,   112,
1859 >      19,   215,   208,   215,   215,   211,   215,   213,   236,   146,
1860 >     215,   135,   215,   215,   215,   215,   127,   112,   155,   225,
1861 >     215,   215,    66,   215,   215,   233,   232,    71,   127,   233,
1862 >     127,   127,   112,   127,   233,   215,    80,    49,   236,    51,
1863 >      52,   215,   166,   236,   215,   233,   236,   236,    67,   173,
1864 >     236,   236,   236,   236,   236,   214,   100,   101,   182,   236,
1865 >     236,   236,     1,   233,   201,    84,    85,    86,    87,    88,
1866 >     236,   236,   236,    92,   118,   233,   236,    96,   233,    49,
1867 >     236,    51,    52,   102,   208,   236,   210,   211,   233,   236,
1868 >      29,   135,   229,   236,   113,   114,   236,   236,    37,   215,
1869 >     236,   225,   127,   215,   148,   149,   125,   236,   232,   236,
1870 >      49,    50,   215,    49,   215,    54,    55,    56,   112,   127,
1871 >     127,    73,   127,   127,   127,   127,   170,   127,   147,   127,
1872 >     112,   127,   127,   233,   127,   233,   215,   127,   112,   183,
1873 >      79,   233,   127,   236,   235,   233,   233,   191,   233,   112,
1874 >     236,   195,   236,   236,   112,   167,   168,   169,   233,   171,
1875 >     172,   233,   174,   175,   233,   177,   233,   179,   187,   233,
1876 >     182,   233,   233,   185,   186,   233,   188,   233,   233,   233,
1877 >     233,   193,   233,   135,   233,   197,   198,   199,   233,   112,
1878 >     233,   112,   112,   112,   112,   207,   112,   167,   168,   169,
1879 >     212,   171,   172,   112,   174,   175,   233,   177,   236,   179,
1880 >     127,   112,   182,   127,   166,   185,   186,   127,   188,   127,
1881 >     127,   173,   127,   193,   215,   127,     1,   197,   198,   199,
1882 >     182,   167,   168,   169,   127,   171,   172,   207,   174,   175,
1883 >     127,   177,   212,   179,   127,   233,   182,    22,    23,   185,
1884 >     186,   127,   188,    28,   127,   233,   208,   193,   210,   211,
1885 >     233,   197,   198,   199,   127,   127,   233,   233,   233,   233,
1886 >     127,   207,   233,   225,   233,   127,   212,   233,   233,   233,
1887 >     232,   112,   233,   233,   233,   233,   233,   233,    63,    64,
1888 >     233,   233,   233,   233,    69,    70,   233,   127,   233,   233,
1889 >      75,    76,    77,   233,   233,   233,   233,   233,    83,    84,
1890 >     127,   233,   236,   127,   127,   215,   127,   127,   233,   127,
1891 >     233,   233,   233,   112,   127,   127,   127,   233,   127,   233,
1892 >     233,   127,   127,   108,   109,   233,   233,   233,   233,   233,
1893 >     127,   233,   233,   233,   233,   233,   215,   233,   233,   233,
1894 >     215,   233,   233,   233,   233,   233,   127,   127,   233,   236,
1895 >     127,   233,   233,   233,   127,   127,   127,   233,   236,   236,
1896 >     127,  1054,   233,   233,   233,   233,   112,   233,   233,   233,
1897 >     233,    74,   233,   233,   233,   233,   233,   233,   233,   233,
1898 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1899 >     127,   233,  1065,   236,   233,   233,  1052,   233,   233,   236,
1900 >     233,   233,   233,   233,   233,   233,   133,   233,   233,   133,
1901 >     133,   233,  1316,   513,   233,  1278,   233,   233,   233,   233,
1902 >    1280,  1259,  1270,   233,   298,   233,   233,   500,  1162,   233,
1903 >     233,   233,   233,   233,   477,   233,   528,   233,   233,   233,
1904 >     233,   233,   233,   233,   233,   233,   233,   233,  1268,   233,
1905 >     233,   233,   600,   544,   233,   233,  1289,   233,   233,   233,
1906 >     223,  1282,  1264,   233,   233,   349,   584,   233,   233,   237,
1907 >     490,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1908 >     233,   233,   233,   233,   115,   170,   233,   236,   236,   233,
1909 >     233,  1130,   228,   238,   233,    94,   238,   238,   236,   233,
1910 >     233,   233,  1132,   412,    -1,    -1,    -1,    -1,    -1,    -1,
1911 >     274,    -1,    -1,   244,    -1,    -1,    -1,    -1,    -1,    -1,
1912 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1913 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1914 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
1915 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1916 >      -1,    -1,    -1,    -1,    -1,   305,    -1,    -1,    -1,    -1,
1917 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1918 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1919 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1920 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1921 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1922 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1923 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1924 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1925 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1926 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   402
1927   };
1928  
1929 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1930 <   positive, shift that token.  If negative, reduce the rule which
1931 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1947 < #define YYTABLE_NINF -108
1948 < static const yytype_int16 yytable[] =
1929 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1930 >     symbol of state STATE-NUM.  */
1931 > static const yytype_uint16 yystos[] =
1932   {
1933 <     802,   803,   571,   572,    47,   460,    48,   801,   236,    67,
1934 <     579,   980,   544,  1025,   509,   981,   286,    52,   982,   110,
1935 <    1044,   544,   983,    54,  1045,  1072,    58,   510,    59,   553,
1936 <     371,  1046,    68,   291,   509,  1047,    62,   116,    63,    69,
1937 <     381,    66,   117,   118,   237,   110,   220,   510,   119,  1172,
1938 <     227,  1174,   469,  1173,   286,  1175,   120,   490,   238,   239,
1939 <     240,   241,   121,   220,   122,   123,   124,   371,  1178,   227,
1940 <     460,   125,  1179,   491,   107,   251,   242,   126,   127,   111,
1941 <     128,   129,   130,    45,    46,  1180,   131,   470,   492,  1181,
1942 <     372,   132,   493,   627,   628,   133,   134,    70,   252,   135,
1943 <     545,   635,  1189,   637,   287,   111,   511,   471,   136,   545,
1944 <     644,   108,   472,   647,   109,   137,   138,   554,   139,   140,
1945 <     141,   142,   143,   461,   658,   659,   511,   372,   382,   115,
1946 <     942,   253,   512,   144,   670,   671,   228,   673,   217,   145,
1947 <     146,   147,   287,   148,   218,   494,   149,   150,   373,   219,
1948 <     151,   234,   512,   553,   462,   228,    76,   313,   383,  1073,
1949 <     235,   546,   229,   254,  1074,   255,   256,   473,   495,  1182,
1950 <     546,   314,   315,  1183,   284,   316,    77,    78,   555,   739,
1951 <     740,   229,    79,   152,   496,   373,   942,   153,   461,   384,
1952 <     154,   155,   156,   157,   158,  1026,   285,   159,   160,   381,
1953 <     441,   257,   292,   258,   259,   260,   261,   293,  1192,   294,
1954 <     463,   342,  1193,   343,   297,   344,   442,   547,   943,   462,
1955 <     262,    80,    81,   524,   295,   729,   547,   345,    82,    83,
1956 <      84,   443,   317,   318,   319,   444,   757,   320,   161,   162,
1957 <     163,   554,   346,   164,   263,   321,   347,   497,   165,   722,
1958 <      85,    86,   439,   221,   264,   624,   322,   323,   469,  -107,
1959 <     379,   482,   498,    87,    88,   488,   348,   699,   349,   561,
1960 <     221,   324,   716,    89,   943,   463,  -107,   298,   350,   944,
1961 <     480,    90,   617,   265,   266,   692,    67,   382,   792,   299,
1962 <     542,  1194,   570,   470,   484,  1195,   800,  1196,   325,   351,
1963 <    1198,  1197,   555,   485,  1199,  1206,  1013,  1014,  1015,    68,
1964 <    1221,   445,   300,   471,  1222,   301,    69,   383,   472,   446,
1965 <     447,   997,   998,   999,  1000,  1001,   352,  1207,   302,  1208,
1966 <     772,   773,   774,   775,   776,   944,  1169,  1170,  1171,   326,
1967 <     664,   665,   945,   666,   667,  1086,   743,   744,   384,   303,
1968 <     116,   448,   304,   353,   305,   117,   118,   806,   807,   306,
1969 <     307,   119,   308,   309,   310,   378,   390,  1209,   762,   120,
1970 <     563,   311,   597,   473,    70,   121,   391,   122,   123,   124,
1971 <     354,   392,   393,   394,   125,   395,   396,   397,   251,   236,
1972 <     126,   127,   398,   128,   129,   130,   801,   399,   945,   131,
1973 <     400,   401,   526,   564,   132,   449,   402,   403,   133,   134,
1974 <     404,   252,   135,   405,   406,   687,   565,   566,   407,   355,
1975 <     342,   136,   343,   408,   344,   237,   613,   490,   137,   138,
1976 <     409,   139,   140,   141,   142,   143,   345,  1210,  1211,   238,
1977 <     239,   240,   241,   491,   253,   410,   144,   411,   412,   441,
1978 <     413,   346,   145,   146,   147,   347,   148,   242,   492,   149,
1979 <     150,   414,   493,   151,   415,   442,   416,   417,   418,   420,
1980 <     422,  1212,   423,   424,   425,   348,   254,   349,   255,   256,
1981 <     443,   426,   427,   567,   444,   428,   429,   350,  1090,   430,
1982 <    1190,   431,   432,   433,   434,   435,   152,   436,   437,   438,
1983 <     153,   481,   486,   154,   155,   156,   157,   158,   351,  1091,
1984 <     159,   160,   487,   518,   257,   494,   258,   259,   260,   261,
1985 <     519,   520,   521,   522,  1092,   523,   527,   528,   529,   530,
1986 <     531,  1093,   532,   262,   533,   352,   534,   535,   495,   536,
1987 <     537,   538,   539,   540,   541,   560,   568,   582,  1094,   569,
1988 <    1050,   161,   162,   163,   496,   570,   164,   263,   573,   574,
1989 <     445,   165,   353,   575,   576,   577,   578,   264,   446,   447,
1990 <    1051,  1095,   580,   581,   583,   584,   585,   599,  1096,   586,
1991 <    1052,     2,     3,   587,   588,     4,  1053,   589,   590,   354,
1992 <    1097,   591,   592,   593,   594,     5,   265,   266,     6,     7,
1993 <     448,   595,  1054,   596,     8,   619,   620,  1098,  1099,  1100,
1994 <     600,   601,   602,   603,   605,     9,   606,   497,   607,    10,
1995 <      11,   608,   609,   313,   857,   610,   611,  1055,   355,    12,
1996 <     612,   626,   498,   615,   616,  1056,   621,   314,   315,   622,
1997 <     629,   316,   630,    13,   631,   632,   633,   638,   634,   636,
1998 <     639,    14,    15,   640,   449,   641,   642,  1101,   643,   645,
1999 <     880,   646,   648,   649,   650,   651,  1102,   652,   653,    16,
2000 <     654,  1103,   655,  1057,   656,   657,   660,  1104,   661,   662,
2001 <     663,  1105,   668,    17,  1106,   669,   672,   674,   677,  1107,
2002 <    1058,   675,   676,   678,  1114,  1108,   694,   679,   317,   318,
2003 <     319,   701,   704,   320,   680,   682,   705,   726,   702,   683,
2004 <     684,   321,   685,   686,   724,   703,    18,   725,   689,   691,
2005 <     696,  1143,   322,   323,   697,    19,    20,   706,  1157,    21,
2006 <      22,   698,   708,   707,   709,   727,  1059,   324,   858,   859,
2007 <     860,   861,   862,   711,   863,   864,   718,   865,   866,   867,
2008 <     728,   730,   868,   712,   869,   870,   713,   871,   715,   872,
2009 <     732,   873,   874,   719,   325,   875,   731,   720,   721,   733,
2010 <     734,   876,   735,   736,   881,   882,   883,   884,   885,   737,
2011 <     886,   887,    23,   888,   889,   890,   738,   747,   891,   748,
2012 <     892,   893,  1144,   894,   749,   895,   750,   896,   897,  1158,
2013 <     751,   898,   752,   753,   754,   326,   764,   899,  1115,  1116,
2014 <    1117,  1118,  1119,    76,  1120,  1121,   756,  1122,  1123,  1124,
2015 <     759,  1145,  1125,   790,  1126,  1127,   760,  1128,  1159,  1129,
2016 <    1146,  1130,  1131,    77,    78,  1132,  1147,  1160,   765,    79,
2017 <     766,  1133,   767,  1161,   768,   769,   770,   771,   779,   780,
2018 <    1148,   781,  1149,  1150,   782,   783,   784,  1162,   791,  1163,
2019 <    1164,   785,  1151,   786,   793,   787,   788,   794,  1152,  1165,
2020 <     795,   796,   797,   789,   798,  1166,   799,   801,    80,    81,
2021 <     804,   805,   809,   808,   810,    82,    83,    84,   815,   819,
2022 <     811,   812,   822,   813,   826,   823,   814,   816,   817,   818,
2023 <     820,   821,   824,   825,   921,   827,   828,    85,    86,   829,
2024 <     922,   830,   831,   832,   833,   834,   835,   836,   837,   838,
2025 <      87,    88,   839,   840,   841,   842,   843,   844,   845,   846,
2026 <      89,   847,   848,   849,   850,   851,   852,   853,    90,   924,
2027 <     854,   855,   856,   879,   902,   903,   904,   905,   906,   907,
2028 <     908,   909,   910,   911,   912,   913,   914,   915,   916,   917,
2029 <     918,   919,   920,   925,   926,   927,   923,   928,   929,   930,
2030 <     931,   932,   933,   935,   934,   936,   937,   940,   941,   953,
2031 <     954,  1041,   951,   956,   952,   957,   958,   960,   955,   962,
2032 <     963,   964,   989,   991,   296,   993,  1087,  1140,  1223,  1218,
2033 <    1141,  1217,  1184,  1068,   717,   961,   959,   965,   966,   967,
2034 <     968,   969,   970,   971,   972,   973,   974,   975,   976,   977,
2035 <     978,   979,   984,   985,   986,   987,   988,  1187,   543,   992,
2036 <    1204,   990,   995,   994,   996,  1002,   700,  1080,  1003,  1004,
2037 <    1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,  1019,
2038 <    1020,  1021,  1022,  1023,  1024,  1029,  1030,  1031,  1032,  1033,
2039 <    1034,  1035,  1079,  1185,  1036,   688,  1037,  1202,  1038,   723,
2040 <    1039,  1219,  1040,  1200,  1220,  1048,  1049,   598,  1062,   562,
2041 <    1063,   693,  1064,   763,  1203,   380,  1065,   758,  1201,   618,
2042 <     440,   625,  1176,   312,  1066,  1067,     0,  1071,  1077,  1078,
2043 <    1082,  1177,     0,  1088,  1083,  1085,  1089,  1111,  1112,  1113,
2044 <    1136,  1137,  1138,  1139,   614,  1142,  1155,  1156,     0,  1186,
2045 <     489,  1191,  1205,  1188,  1215,     0,  1216,     0,     0,     0,
2046 <     483,     0,   525
1933 >       0,   240,     0,     1,     4,    14,    17,    18,    24,    35,
1934 >      38,    39,    66,    71,    80,   100,   101,   118,   135,   148,
1935 >     149,   170,   183,   191,   195,   241,   246,   251,   277,   283,
1936 >     289,   303,   323,   347,   361,   376,   383,   387,   397,   406,
1937 >     427,   433,   439,   443,   449,   508,   525,   233,   234,   235,
1938 >     235,   324,   407,   434,   235,   444,   235,   362,   428,   348,
1939 >     235,   284,   304,   377,   235,   235,   398,   235,   235,   388,
1940 >       1,    25,    32,   102,   278,   279,   280,   281,   282,     1,
1941 >      22,    23,    28,    63,    64,    69,    70,    75,    76,    77,
1942 >      83,    84,   108,   109,   509,   510,   511,   512,   513,   514,
1943 >     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1944 >     235,   235,   235,     1,    65,   440,   441,   442,   235,     1,
1945 >       6,     7,    12,    20,    21,    27,    30,    31,    36,    41,
1946 >      42,    44,    45,    46,    48,    57,    61,    62,    72,    82,
1947 >      89,    91,    93,    95,    97,    98,   110,   115,   116,   117,
1948 >     119,   120,   121,   124,   150,   160,   161,   162,   163,   164,
1949 >     165,   192,   216,   217,   218,   220,   221,   222,   226,   231,
1950 >     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
1951 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1952 >     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
1953 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1954 >     490,   491,   492,   493,   494,   495,   496,   497,   501,   505,
1955 >     506,   507,   235,   235,   235,     1,    99,   123,   247,   248,
1956 >     249,   250,   235,   235,   235,     1,    29,    37,    49,    50,
1957 >      54,    55,    56,    79,   526,   527,   528,   529,   530,   531,
1958 >     532,   533,   534,   535,     1,    25,    59,    68,    90,    94,
1959 >     102,   105,   106,   137,   154,   157,   158,   159,   184,   201,
1960 >     202,   203,   229,   230,   252,   253,   254,   255,   260,   261,
1961 >     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
1962 >     272,   273,   274,   275,   276,   235,     1,   227,   290,   291,
1963 >     292,   293,   294,     1,   102,   384,   385,   386,   235,   233,
1964 >     236,   236,   236,   234,   279,   236,   236,   236,   236,   236,
1965 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   234,
1966 >     510,     1,    15,    16,    19,    67,    84,    85,    86,    87,
1967 >      88,    92,    96,   102,   113,   114,   125,   147,   187,   325,
1968 >     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
1969 >     336,   337,   338,   339,   340,   341,   342,   343,     1,     3,
1970 >       5,    17,    33,    58,    60,    67,    78,   102,   126,   146,
1971 >     155,   201,   229,   408,   409,   410,   411,   412,   413,   414,
1972 >     415,   416,   417,   418,   422,   423,   424,   425,   426,     1,
1973 >      65,   129,   435,   436,   437,   438,   236,   234,   441,     1,
1974 >     102,   129,   445,   446,   447,   448,   236,   236,   236,   236,
1975 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1976 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1977 >     236,   236,   236,   502,   236,   498,   236,   236,   236,   236,
1978 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1979 >     236,   236,   236,   236,   236,   236,   234,   451,     1,    17,
1980 >      33,    67,   122,   130,   131,   151,   228,   363,   364,   365,
1981 >     366,   367,   368,   369,   373,   374,   375,     1,   129,   228,
1982 >     429,   430,   431,   432,     1,    58,    65,    67,   126,   349,
1983 >     353,   354,   355,   359,   360,   233,   236,   236,   234,   248,
1984 >       1,    81,   176,   285,   286,   287,   288,     1,    17,    33,
1985 >      67,   102,   122,   138,   155,   156,   206,   228,   305,   306,
1986 >     307,   308,   309,   310,   311,   312,   313,   314,   315,   319,
1987 >       1,    35,    81,   129,   378,   379,   380,   381,   382,   236,
1988 >     236,   236,   236,   236,   236,   236,   236,   234,   527,   233,
1989 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1990 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   234,
1991 >     253,     1,   102,   224,   399,   400,   401,   402,   233,   236,
1992 >     234,   291,   176,   236,   234,   385,     1,   102,   224,   228,
1993 >     389,   390,   391,   392,   393,   127,   127,   127,   233,   112,
1994 >     112,   215,   112,   112,   243,   112,   243,   112,   243,   243,
1995 >     112,   112,   215,   215,   233,   233,   236,   236,   236,   344,
1996 >     236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1997 >     236,   236,   236,   234,   326,   233,   236,   236,   236,   236,
1998 >     236,   236,   419,   236,   236,   236,   236,   236,   236,   236,
1999 >     234,   409,   236,   236,   234,   436,   127,   233,   236,   236,
2000 >     234,   446,   215,   243,   243,   215,   112,   215,   112,   127,
2001 >     215,   243,   215,   112,   112,   243,   112,   215,   215,   215,
2002 >     243,   112,   112,   243,   112,   112,   112,   112,   215,   236,
2003 >     215,   236,   215,   243,   243,   215,   215,   215,   215,   219,
2004 >     215,   219,   215,   215,   215,   127,   112,   243,   215,   215,
2005 >     243,   243,   215,   215,   233,   233,   236,   236,   370,   236,
2006 >     236,   236,   236,   236,   234,   364,   236,   236,   234,   430,
2007 >     233,   236,   236,   350,   236,   234,   354,   127,   127,   233,
2008 >     233,   236,   236,   234,   286,   233,   236,   236,   320,   236,
2009 >     236,   236,   236,   236,   316,   236,   234,   306,   233,   236,
2010 >     236,   236,   234,   379,   215,   215,   215,   127,   215,   215,
2011 >     215,   243,   233,   127,   215,   127,   112,   112,   127,   127,
2012 >     127,   127,   127,   127,   127,   127,   112,   127,   204,   205,
2013 >     256,   257,   204,   205,   258,   259,   127,   127,   233,   233,
2014 >     236,   403,   234,   400,   215,   233,   235,   127,   233,   233,
2015 >     236,   394,   236,   234,   390,   233,   233,   233,   233,   233,
2016 >     233,   233,   139,   140,   141,   142,   143,   144,   145,   242,
2017 >     243,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2018 >     233,   112,   112,   243,   236,   112,   112,   112,   243,   112,
2019 >     112,   243,   127,   112,   112,   243,   112,   245,   245,   233,
2020 >     127,   180,   181,   127,   215,   127,   127,   236,   127,   127,
2021 >     112,   127,   127,   127,   127,   233,   127,   127,   233,   233,
2022 >     127,   127,   233,   233,   233,   233,   233,   233,   233,   233,
2023 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2024 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2025 >      49,   167,   168,   169,   171,   172,   174,   175,   177,   179,
2026 >     182,   185,   186,   188,   193,   197,   198,   199,   207,   212,
2027 >     503,   504,   233,    49,    51,    52,   167,   168,   169,   171,
2028 >     172,   174,   175,   177,   179,   182,   185,   186,   188,   193,
2029 >     197,   198,   199,   207,   212,   499,   500,   233,   233,   233,
2030 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2031 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   127,
2032 >     215,   236,   127,   112,   127,   127,   127,   233,   127,   127,
2033 >     233,   127,   127,   236,   112,   357,   358,   233,   233,   233,
2034 >     127,   127,   233,   127,   215,   236,   127,   127,   127,   127,
2035 >     215,   236,   127,   233,   127,   127,   127,   233,   233,   233,
2036 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2037 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2038 >     233,   233,   237,   233,   237,   233,   233,   127,   236,   233,
2039 >     233,     1,   102,   196,   224,   295,   296,   297,   298,   299,
2040 >     233,   127,   236,   127,   233,   242,   242,   242,   242,   242,
2041 >     242,   242,   233,   233,   233,    53,   128,   345,   346,   233,
2042 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2043 >       9,    10,    11,   244,   245,   233,   233,   233,   233,   233,
2044 >     233,   233,   233,   233,     8,   200,   420,   421,   233,   233,
2045 >     233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
2046 >     237,   233,   237,   233,   233,    13,    34,    43,    74,   103,
2047 >     104,   111,   136,   152,   214,   371,   372,   233,   233,   233,
2048 >     233,   233,   233,   233,   233,   233,    49,   190,   200,   351,
2049 >     352,   223,   237,   356,   233,   233,   233,   233,     4,    18,
2050 >      26,    40,    71,    73,    99,   132,   134,   153,   173,   178,
2051 >     182,   189,   194,   208,   211,   213,   225,   232,   321,   322,
2052 >     233,   233,   233,   233,   233,    49,    51,    52,   167,   168,
2053 >     169,   171,   172,   174,   175,   177,   179,   182,   185,   186,
2054 >     188,   193,   197,   198,   199,   207,   212,   317,   318,   233,
2055 >     233,   233,   233,   257,   259,   233,    73,   135,   166,   173,
2056 >     182,   208,   210,   211,   225,   232,   404,   405,   233,   236,
2057 >     236,   300,   234,   296,   233,    73,   135,   166,   173,   182,
2058 >     208,   210,   211,   225,   232,   395,   396,   233,   233,   237,
2059 >     244,   244,   244,   233,   237,   504,   500,   233,   237,   233,
2060 >     237,   112,   358,   233,   238,   238,   238,   233,   237,   233,
2061 >     237,   233,   237,   127,   209,   245,   236,   233,   233,   237,
2062 >     346,   421,   372,   352,   133,   133,   133,   322,   318,   405,
2063 >     233,   233,   233,    40,    71,    73,   118,   135,   172,   173,
2064 >     228,   232,   301,   302,   396,   233,   237,   302
2065   };
2066  
2067 < #define yypact_value_is_default(Yystate) \
2068 <  (!!((Yystate) == (-678)))
2068 <
2069 < #define yytable_value_is_error(Yytable_value) \
2070 <  YYID (0)
2071 <
2072 < static const yytype_int16 yycheck[] =
2067 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2068 > static const yytype_uint16 yyr1[] =
2069   {
2070 <     595,   596,   300,   301,   217,     1,   217,    99,     1,     1,
2071 <     308,   215,     1,     8,     1,   219,     1,   217,   215,     1,
2072 <     215,     1,   219,   217,   219,    51,   217,    14,   217,     1,
2073 <       1,   215,    24,   215,     1,   219,   217,     1,   217,    31,
2074 <       1,   217,     6,     7,    37,     1,     1,    14,    12,   215,
2075 <       1,   215,     1,   219,     1,   219,    20,     1,    51,    52,
2076 <      53,    54,    26,     1,    28,    29,    30,     1,   215,     1,
2077 <       1,    35,   219,    17,   217,     1,    69,    41,    42,    61,
2078 <      44,    45,    46,   215,   216,   215,    50,    36,    32,   219,
2079 <      61,    55,    36,   391,   392,    59,    60,    89,    24,    63,
2080 <      89,   399,   194,   401,    89,    61,    93,    56,    72,    89,
2081 <     408,   217,    61,   411,   217,    79,    80,    89,    82,    83,
2082 <      84,    85,    86,   119,   422,   423,    93,    61,    89,   217,
2083 <       1,    57,   119,    97,   432,   433,    87,   435,   217,   103,
2084 <     104,   105,    89,   107,   217,    89,   110,   111,   119,   217,
2085 <     114,   217,   119,     1,   150,    87,     1,     1,   119,   185,
2086 <     217,   150,   113,    89,   190,    91,    92,   116,   112,   215,
2087 <     150,    15,    16,   219,   217,    19,    21,    22,   150,   133,
2088 <     134,   113,    27,   147,   128,   119,     1,   151,   119,   150,
2089 <     154,   155,   156,   157,   158,   190,   217,   161,   162,     1,
2090 <       1,   127,   218,   129,   130,   131,   132,   218,   215,   218,
2091 <     206,     1,   219,     3,   218,     5,    17,   206,    89,   150,
2092 <     146,    66,    67,   216,   216,   523,   206,    17,    73,    74,
2093 <      75,    32,    76,    77,    78,    36,   216,    81,   202,   203,
2094 <     204,    89,    32,   207,   170,    89,    36,   191,   212,   216,
2095 <      95,    96,   216,   208,   180,   216,   100,   101,     1,   214,
2096 <     216,   216,   206,   108,   109,   216,    56,   216,    58,   216,
2097 <     208,   115,   216,   118,    89,   206,   214,   218,    68,   150,
2098 <     215,   126,   216,   209,   210,   216,     1,    89,   586,   218,
2099 <     216,   215,    99,    36,   214,   219,   594,   215,   142,    89,
2100 <     215,   219,   150,   215,   219,    40,     9,    10,    11,    24,
2101 <     215,   112,   218,    56,   219,   218,    31,   119,    61,   120,
2102 <     121,   772,   773,   774,   775,   776,   116,    62,   218,    64,
2103 <     137,   138,   139,   140,   141,   150,  1013,  1014,  1015,   183,
2104 <     159,   160,   213,   159,   160,   216,   133,   134,   150,   218,
2105 <       1,   152,   218,   143,   218,     6,     7,   177,   178,   218,
2106 <     218,    12,   218,   218,   218,   218,   218,   102,   216,    20,
2107 <     117,   216,   216,   116,    89,    26,   218,    28,    29,    30,
2108 <     170,   218,   218,   218,    35,   218,   218,   218,     1,     1,
2109 <      41,    42,   218,    44,    45,    46,    99,   218,   213,    50,
2110 <     218,   218,   215,   117,    55,   206,   218,   218,    59,    60,
2111 <     218,    24,    63,   218,   218,   216,   117,   215,   218,   209,
2112 <       1,    72,     3,   218,     5,    37,   216,     1,    79,    80,
2113 <     218,    82,    83,    84,    85,    86,    17,   172,   173,    51,
2114 <      52,    53,    54,    17,    57,   218,    97,   218,   218,     1,
2115 <     218,    32,   103,   104,   105,    36,   107,    69,    32,   110,
2116 <     111,   218,    36,   114,   218,    17,   218,   218,   218,   218,
2117 <     218,   206,   218,   218,   218,    56,    89,    58,    91,    92,
2118 <      32,   218,   218,    99,    36,   218,   218,    68,     4,   218,
2119 <    1085,   218,   218,   218,   218,   218,   147,   218,   218,   218,
2120 <     151,   218,   218,   154,   155,   156,   157,   158,    89,    25,
2121 <     161,   162,   218,   218,   127,    89,   129,   130,   131,   132,
2122 <     218,   218,   218,   218,    40,   218,   218,   218,   218,   218,
2123 <     218,    47,   218,   146,   218,   116,   218,   218,   112,   218,
2124 <     218,   218,   218,   218,   218,   218,    99,   215,    64,   159,
2125 <      13,   202,   203,   204,   128,    99,   207,   170,    99,    99,
2126 <     112,   212,   143,    99,   159,   159,    99,   180,   120,   121,
2127 <      33,    87,   159,   159,   215,   218,   218,   215,    94,   218,
2128 <      43,     0,     1,   218,   218,     4,    49,   218,   218,   170,
2129 <     106,   218,   218,   218,   218,    14,   209,   210,    17,    18,
2130 <     152,   218,    65,   218,    23,   117,   215,   123,   124,   125,
2131 <     218,   218,   218,   218,   218,    34,   218,   191,   218,    38,
2132 <      39,   218,   218,     1,    51,   218,   218,    90,   209,    48,
2133 <     218,   159,   206,   218,   218,    98,   218,    15,    16,   218,
2134 <      99,    19,   159,    62,   159,    99,   117,    99,   159,   159,
2135 <      99,    70,    71,    99,   206,   159,   159,   173,   159,    99,
2136 <      51,    99,    99,    99,   117,    99,   182,    99,   159,    88,
2141 <     159,   187,   218,   136,   159,   218,   159,   193,   159,   159,
2142 <     159,   197,   159,   102,   200,   159,   117,   159,   215,   205,
2143 <     153,   159,   159,   215,    51,   211,   215,   218,    76,    77,
2144 <      78,   159,   117,    81,   218,   218,   117,   117,   215,   218,
2145 <     218,    89,   218,   218,   159,   217,   135,   159,   218,   218,
2146 <     218,    64,   100,   101,   218,   144,   145,   215,    64,   148,
2147 <     149,   218,   218,   215,   218,   159,   199,   115,   165,   166,
2148 <     167,   168,   169,   218,   171,   172,   215,   174,   175,   176,
2149 <     159,   215,   179,   218,   181,   182,   218,   184,   218,   186,
2150 <     159,   188,   189,   218,   142,   192,   117,   218,   218,   117,
2151 <     117,   198,   117,   117,   165,   166,   167,   168,   169,   117,
2152 <     171,   172,   201,   174,   175,   176,   117,   117,   179,   117,
2153 <     181,   182,   135,   184,    99,   186,   117,   188,   189,   135,
2154 <     117,   192,   215,   215,   218,   183,   117,   198,   165,   166,
2155 <     167,   168,   169,     1,   171,   172,   218,   174,   175,   176,
2156 <     215,   164,   179,    99,   181,   182,   218,   184,   164,   186,
2157 <     173,   188,   189,    21,    22,   192,   179,   173,   215,    27,
2158 <     215,   198,   215,   179,   215,   215,   215,   215,   215,   215,
2159 <     193,   215,   195,   196,   215,   215,   215,   193,    99,   195,
2160 <     196,   215,   205,   215,    99,   215,   215,    99,   211,   205,
2161 <      99,    99,   117,   215,    99,   211,    99,    99,    66,    67,
2162 <     215,   117,   159,   117,   218,    73,    74,    75,    99,   215,
2163 <     117,   117,   215,   117,   218,   215,   117,   117,   117,   117,
2164 <     117,   117,   117,   117,   117,   215,   215,    95,    96,   215,
2165 <     159,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2166 <     108,   109,   215,   215,   215,   215,   215,   215,   215,   215,
2167 <     118,   215,   215,   215,   215,   215,   215,   215,   126,   117,
2168 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2169 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2170 <     215,   215,   215,    99,   117,   117,   218,   117,   215,   117,
2171 <     218,   117,   215,   117,   218,   117,    99,   215,   215,   117,
2172 <     159,   122,   215,   117,   215,   117,   117,   117,   218,   117,
2173 <     117,   117,   117,   117,    71,   117,   946,   981,  1222,  1195,
2174 <     983,  1193,    99,   122,   499,   215,   218,   215,   215,   215,
2175 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2176 <     215,   215,   215,   215,   215,   215,   215,   117,   267,   215,
2177 <    1183,   218,   215,   218,   215,   215,   475,   219,   215,   215,
2178 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2179 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2180 <     215,   215,   163,  1080,   215,   450,   215,  1179,   215,   513,
2181 <     215,  1197,   215,  1173,  1199,   215,   215,   327,   215,   288,
2182 <     215,   465,   215,   556,  1181,   112,   215,   548,  1175,   374,
2183 <     166,   386,  1045,    91,   215,   215,    -1,   215,   215,   215,
2184 <     215,  1047,    -1,   215,   218,   218,   215,   215,   215,   215,
2185 <     215,   215,   215,   215,   356,   215,   215,   215,    -1,   215,
2186 <     230,   215,   215,   218,   215,    -1,   215,    -1,    -1,    -1,
2187 <     222,    -1,   243
2070 >       0,   239,   240,   240,   241,   241,   241,   241,   241,   241,
2071 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2072 >     241,   241,   241,   241,   241,   241,   241,   242,   242,   243,
2073 >     243,   243,   243,   243,   243,   243,   243,   244,   244,   245,
2074 >     245,   245,   245,   246,   247,   247,   248,   248,   248,   249,
2075 >     250,   251,   252,   252,   253,   253,   253,   253,   253,   253,
2076 >     253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
2077 >     253,   253,   253,   253,   254,   255,   256,   256,   257,   257,
2078 >     258,   258,   259,   259,   260,   261,   262,   263,   264,   265,
2079 >     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2080 >     276,   277,   278,   278,   279,   279,   279,   279,   280,   281,
2081 >     282,   284,   283,   285,   285,   286,   286,   286,   287,   288,
2082 >     289,   290,   290,   291,   291,   291,   292,   294,   293,   295,
2083 >     295,   296,   296,   296,   296,   297,   298,   298,   300,   299,
2084 >     301,   301,   302,   302,   302,   302,   302,   302,   302,   302,
2085 >     302,   304,   303,   305,   305,   306,   306,   306,   306,   306,
2086 >     306,   306,   306,   306,   306,   306,   307,   308,   309,   310,
2087 >     311,   312,   313,   314,   316,   315,   317,   317,   318,   318,
2088 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2089 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2090 >     320,   319,   321,   321,   322,   322,   322,   322,   322,   322,
2091 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2092 >     322,   322,   322,   322,   322,   322,   322,   324,   323,   325,
2093 >     325,   326,   326,   326,   326,   326,   326,   326,   326,   326,
2094 >     326,   326,   326,   326,   326,   326,   326,   326,   326,   327,
2095 >     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
2096 >     338,   339,   340,   341,   342,   344,   343,   345,   345,   346,
2097 >     346,   348,   347,   350,   349,   351,   351,   352,   352,   352,
2098 >     353,   353,   354,   354,   354,   354,   354,   356,   355,   357,
2099 >     357,   358,   358,   359,   360,   362,   361,   363,   363,   364,
2100 >     364,   364,   364,   364,   364,   364,   364,   364,   365,   366,
2101 >     367,   368,   370,   369,   371,   371,   372,   372,   372,   372,
2102 >     372,   372,   372,   372,   372,   372,   373,   374,   375,   377,
2103 >     376,   378,   378,   379,   379,   379,   379,   380,   381,   382,
2104 >     383,   384,   384,   385,   385,   386,   388,   387,   389,   389,
2105 >     390,   390,   390,   390,   391,   392,   394,   393,   395,   395,
2106 >     396,   396,   396,   396,   396,   396,   396,   396,   396,   396,
2107 >     398,   397,   399,   399,   400,   400,   400,   401,   403,   402,
2108 >     404,   404,   405,   405,   405,   405,   405,   405,   405,   405,
2109 >     405,   405,   407,   406,   408,   408,   409,   409,   409,   409,
2110 >     409,   409,   409,   409,   409,   409,   409,   409,   409,   409,
2111 >     409,   410,   411,   412,   413,   414,   415,   416,   417,   417,
2112 >     419,   418,   420,   420,   421,   421,   422,   423,   424,   425,
2113 >     426,   428,   427,   429,   429,   430,   430,   430,   431,   432,
2114 >     434,   433,   435,   435,   436,   436,   436,   437,   438,   439,
2115 >     440,   440,   441,   441,   442,   444,   443,   445,   445,   446,
2116 >     446,   446,   447,   448,   449,   450,   450,   451,   451,   451,
2117 >     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2118 >     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2119 >     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2120 >     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
2121 >     451,   451,   451,   451,   451,   451,   451,   451,   452,   453,
2122 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2123 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2124 >     474,   475,   476,   477,   478,   478,   479,   479,   480,   481,
2125 >     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
2126 >     492,   493,   494,   495,   496,   498,   497,   499,   499,   500,
2127 >     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
2128 >     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
2129 >     500,   502,   501,   503,   503,   504,   504,   504,   504,   504,
2130 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2131 >     504,   504,   504,   504,   504,   505,   506,   507,   508,   509,
2132 >     509,   510,   510,   510,   510,   510,   510,   510,   510,   510,
2133 >     510,   510,   510,   510,   510,   510,   511,   512,   513,   514,
2134 >     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
2135 >     525,   526,   526,   527,   527,   527,   527,   527,   527,   527,
2136 >     527,   527,   528,   529,   530,   531,   532,   533,   534,   535
2137   };
2138  
2139 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2140 <   symbol of state STATE-NUM.  */
2192 < static const yytype_uint16 yystos[] =
2139 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2140 > static const yytype_uint8 yyr2[] =
2141   {
2142 <       0,   221,     0,     1,     4,    14,    17,    18,    23,    34,
2143 <      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
2144 <     145,   148,   149,   201,   222,   227,   232,   254,   260,   274,
2145 <     292,   309,   323,   338,   345,   349,   359,   368,   388,   398,
2146 <     404,   408,   418,   476,   493,   215,   216,   217,   217,   293,
2147 <     369,   399,   217,   409,   217,   324,   389,   310,   217,   217,
2148 <     275,   339,   217,   217,   350,   360,   217,     1,    24,    31,
2149 <      89,   255,   256,   257,   258,   259,     1,    21,    22,    27,
2150 <      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
2151 <     126,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2152 <     486,   487,   488,   489,   490,   491,   492,   217,   217,   217,
2153 <       1,    61,   405,   406,   407,   217,     1,     6,     7,    12,
2154 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2155 <      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2156 <      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2157 <     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
2158 <     162,   202,   203,   204,   207,   212,   419,   420,   421,   422,
2159 <     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
2160 <     433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
2161 <     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
2162 <     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
2163 <     463,   464,   465,   469,   473,   474,   475,   217,   217,   217,
2164 <       1,   208,   261,   262,   263,   264,   265,     1,    87,   113,
2165 <     228,   229,   230,   231,   217,   217,     1,    37,    51,    52,
2166 <      53,    54,    69,   494,   495,   496,   497,   498,   499,   500,
2167 <     501,     1,    24,    57,    89,    91,    92,   127,   129,   130,
2168 <     131,   132,   146,   170,   180,   209,   210,   233,   234,   235,
2169 <     236,   241,   242,   243,   244,   245,   246,   247,   248,   249,
2170 <     250,   251,   252,   253,   217,   217,     1,    89,   346,   347,
2171 <     348,   215,   218,   218,   218,   216,   256,   218,   218,   218,
2172 <     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2173 <     218,   216,   478,     1,    15,    16,    19,    76,    77,    78,
2174 <      81,    89,   100,   101,   115,   142,   183,   294,   295,   296,
2175 <     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2176 <     307,   308,     1,     3,     5,    17,    32,    36,    56,    58,
2177 <      68,    89,   116,   143,   170,   209,   370,   371,   372,   373,
2178 <     374,   375,   376,   377,   378,   379,   383,   384,   385,   386,
2179 <     387,     1,    61,   119,   400,   401,   402,   403,   218,   216,
2180 <     406,     1,    89,   119,   150,   410,   414,   415,   416,   417,
2181 <     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2182 <     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2183 <     218,   218,   218,   218,   218,   218,   218,   218,   218,   470,
2184 <     218,   466,   218,   218,   218,   218,   218,   218,   218,   218,
2185 <     218,   218,   218,   218,   218,   218,   218,   218,   218,   216,
2186 <     420,     1,    17,    32,    36,   112,   120,   121,   152,   206,
2187 <     325,   326,   327,   328,   329,   330,   331,   335,   336,   337,
2188 <       1,   119,   150,   206,   390,   394,   395,   396,   397,     1,
2189 <      36,    56,    61,   116,   311,   315,   316,   317,   321,   322,
2190 <     215,   218,   216,   262,   214,   215,   218,   218,   216,   229,
2191 <       1,    17,    32,    36,    89,   112,   128,   191,   206,   276,
2192 <     277,   278,   279,   280,   281,   282,   283,   284,   288,     1,
2193 <      14,    93,   119,   340,   341,   342,   343,   344,   218,   218,
2194 <     218,   218,   218,   218,   216,   495,   215,   218,   218,   218,
2195 <     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2196 <     218,   218,   216,   234,     1,    89,   150,   206,   351,   352,
2197 <     353,   354,   355,     1,    89,   150,   361,   362,   363,   364,
2198 <     218,   216,   347,   117,   117,   117,   215,    99,    99,   159,
2199 <      99,   224,   224,    99,    99,    99,   159,   159,    99,   224,
2200 <     159,   159,   215,   215,   218,   218,   218,   218,   218,   218,
2201 <     218,   218,   218,   218,   218,   218,   218,   216,   295,   215,
2202 <     218,   218,   218,   218,   380,   218,   218,   218,   218,   218,
2203 <     218,   218,   218,   216,   371,   218,   218,   216,   401,   117,
2204 <     215,   218,   218,   411,   216,   415,   159,   224,   224,    99,
2205 <     159,   159,    99,   117,   159,   224,   159,   224,    99,    99,
2206 <      99,   159,   159,   159,   224,    99,    99,   224,    99,    99,
2207 <     117,    99,    99,   159,   159,   218,   159,   218,   224,   224,
2208 <     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
2261 <     224,   224,   117,   224,   159,   159,   159,   215,   215,   218,
2262 <     218,   332,   218,   218,   218,   218,   218,   216,   326,   218,
2263 <     391,   218,   216,   395,   215,   312,   218,   218,   218,   216,
2264 <     316,   159,   215,   217,   117,   117,   215,   215,   218,   218,
2265 <     289,   218,   218,   218,   285,   218,   216,   277,   215,   218,
2266 <     218,   218,   216,   341,   159,   159,   117,   159,   159,   224,
2267 <     215,   117,   159,   117,   117,   117,   117,   117,   117,   133,
2268 <     134,   237,   238,   133,   134,   239,   240,   117,   117,    99,
2269 <     117,   117,   215,   215,   218,   356,   218,   216,   352,   215,
2270 <     218,   365,   216,   362,   117,   215,   215,   215,   215,   215,
2271 <     215,   215,   137,   138,   139,   140,   141,   223,   224,   215,
2272 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2273 <      99,    99,   224,    99,    99,    99,    99,   117,    99,    99,
2274 <     224,    99,   226,   226,   215,   117,   177,   178,   117,   159,
2275 <     218,   117,   117,   117,   117,    99,   117,   117,   117,   215,
2276 <     117,   117,   215,   215,   117,   117,   218,   215,   215,   215,
2277 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2278 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2279 <     215,   215,   215,   215,   215,   215,   215,    51,   165,   166,
2280 <     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
2281 <     182,   184,   186,   188,   189,   192,   198,   471,   472,   215,
2282 <      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
2283 <     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
2284 <     467,   468,   215,   215,   215,   215,   215,   215,   215,   215,
2285 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2286 <     215,   117,   159,   218,   117,    99,   117,   117,   117,   215,
2287 <     117,   218,   117,   215,   218,   117,   117,    99,   319,   320,
2288 <     215,   215,     1,    89,   150,   213,   266,   267,   268,   269,
2289 <     270,   215,   215,   117,   159,   218,   117,   117,   117,   218,
2290 <     117,   215,   117,   117,   117,   215,   215,   215,   215,   215,
2291 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2292 <     215,   219,   215,   219,   215,   215,   215,   215,   215,   117,
2293 <     218,   117,   215,   117,   218,   215,   215,   223,   223,   223,
2294 <     223,   223,   215,   215,   215,   215,   215,   215,   215,   215,
2295 <     215,   215,   215,     9,    10,    11,   225,   226,   215,   215,
2296 <     215,   215,   215,   215,   215,     8,   190,   381,   382,   215,
2297 <     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2298 <     215,   122,   412,   413,   215,   219,   215,   219,   215,   215,
2299 <      13,    33,    43,    49,    65,    90,    98,   136,   153,   199,
2300 <     333,   334,   215,   215,   215,   215,   215,   215,   122,   392,
2301 <     393,   215,    51,   185,   190,   313,   314,   215,   215,   163,
2302 <     219,   318,   215,   218,   271,   218,   216,   267,   215,   215,
2303 <       4,    25,    40,    47,    64,    87,    94,   106,   123,   124,
2304 <     125,   173,   182,   187,   193,   197,   200,   205,   211,   290,
2305 <     291,   215,   215,   215,    51,   165,   166,   167,   168,   169,
2306 <     171,   172,   174,   175,   176,   179,   181,   182,   184,   186,
2307 <     188,   189,   192,   198,   286,   287,   215,   215,   215,   215,
2308 <     238,   240,   215,    64,   135,   164,   173,   179,   193,   195,
2309 <     196,   205,   211,   357,   358,   215,   215,    64,   135,   164,
2310 <     173,   179,   193,   195,   196,   205,   211,   366,   367,   225,
2311 <     225,   225,   215,   219,   215,   219,   472,   468,   215,   219,
2312 <     215,   219,   215,   219,    99,   320,   215,   117,   218,   194,
2313 <     226,   215,   215,   219,   215,   219,   215,   219,   215,   219,
2314 <     382,   413,   334,   393,   314,   215,    40,    62,    64,   102,
2315 <     172,   173,   206,   272,   273,   215,   215,   291,   287,   358,
2316 <     367,   215,   219,   273
2142 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2143 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2144 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2145 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2146 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2147 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2148 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2149 >       1,     1,     1,     2,     4,     4,     3,     1,     1,     1,
2150 >       3,     1,     1,     1,     4,     4,     4,     4,     4,     4,
2151 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2152 >       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
2153 >       4,     0,     6,     2,     1,     1,     1,     2,     4,     4,
2154 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
2155 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
2156 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2157 >       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
2158 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2159 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2160 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2161 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2162 >       0,     5,     3,     1,     3,     1,     3,     1,     3,     1,
2163 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2164 >       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2165 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2167 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2168 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2169 >       1,     0,     6,     0,     5,     3,     1,     1,     1,     1,
2170 >       2,     1,     1,     1,     1,     1,     2,     0,     5,     3,
2171 >       1,     1,     3,     4,     4,     0,     6,     2,     1,     1,
2172 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2173 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2174 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     0,
2175 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2176 >       5,     2,     1,     1,     1,     4,     0,     6,     2,     1,
2177 >       1,     1,     1,     2,     4,     4,     0,     5,     3,     1,
2178 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2179 >       0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
2180 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2181 >       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2182 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2183 >       2,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2184 >       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
2185 >       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
2186 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
2187 >       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
2188 >       1,     1,     4,     4,     5,     2,     1,     1,     1,     1,
2189 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2190 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2191 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2192 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2193 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
2194 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2195 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2196 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2197 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2198 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2199 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2200 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2201 >       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2202 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2203 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
2204 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2205 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
2206 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2207 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2208 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4
2209   };
2210  
2211 < #define yyerrok         (yyerrstatus = 0)
2212 < #define yyclearin       (yychar = YYEMPTY)
2213 < #define YYEMPTY         (-2)
2214 < #define YYEOF           0
2215 <
2216 < #define YYACCEPT        goto yyacceptlab
2217 < #define YYABORT         goto yyabortlab
2218 < #define YYERROR         goto yyerrorlab
2219 <
2220 <
2329 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2330 <   to ease the transition to the new meaning of YYERROR, for GCC.
2331 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2332 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2333 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2334 <   discussed.  */
2335 <
2336 < #define YYFAIL          goto yyerrlab
2337 < #if defined YYFAIL
2338 <  /* This is here to suppress warnings from the GCC cpp's
2339 <     -Wunused-macros.  Normally we don't worry about that warning, but
2340 <     some users do, and we want to make it easy for users to remove
2341 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2342 < #endif
2211 >
2212 > #define yyerrok         (yyerrstatus = 0)
2213 > #define yyclearin       (yychar = YYEMPTY)
2214 > #define YYEMPTY         (-2)
2215 > #define YYEOF           0
2216 >
2217 > #define YYACCEPT        goto yyacceptlab
2218 > #define YYABORT         goto yyabortlab
2219 > #define YYERROR         goto yyerrorlab
2220 >
2221  
2222   #define YYRECOVERING()  (!!yyerrstatus)
2223  
# Line 2356 | Line 2234 | do
2234    else                                                          \
2235      {                                                           \
2236        yyerror (YY_("syntax error: cannot back up")); \
2237 <      YYERROR;                                                  \
2238 <    }                                                           \
2239 < while (YYID (0))
2237 >      YYERROR;                                                  \
2238 >    }                                                           \
2239 > while (0)
2240  
2241   /* Error token number */
2242 < #define YYTERROR        1
2243 < #define YYERRCODE       256
2242 > #define YYTERROR        1
2243 > #define YYERRCODE       256
2244  
2245  
2368 /* This macro is provided for backward compatibility. */
2369 #ifndef YY_LOCATION_PRINT
2370 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2371 #endif
2372
2373
2374 /* YYLEX -- calling `yylex' with the right arguments.  */
2375 #ifdef YYLEX_PARAM
2376 # define YYLEX yylex (YYLEX_PARAM)
2377 #else
2378 # define YYLEX yylex ()
2379 #endif
2246  
2247   /* Enable debugging if requested.  */
2248   #if YYDEBUG
# Line 2386 | Line 2252 | while (YYID (0))
2252   #  define YYFPRINTF fprintf
2253   # endif
2254  
2255 < # define YYDPRINTF(Args)                        \
2256 < do {                                            \
2257 <  if (yydebug)                                  \
2258 <    YYFPRINTF Args;                             \
2259 < } while (YYID (0))
2394 <
2395 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2396 < do {                                                                      \
2397 <  if (yydebug)                                                            \
2398 <    {                                                                     \
2399 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2400 <      yy_symbol_print (stderr,                                            \
2401 <                  Type, Value); \
2402 <      YYFPRINTF (stderr, "\n");                                           \
2403 <    }                                                                     \
2404 < } while (YYID (0))
2255 > # define YYDPRINTF(Args)                        \
2256 > do {                                            \
2257 >  if (yydebug)                                  \
2258 >    YYFPRINTF Args;                             \
2259 > } while (0)
2260  
2261 + /* This macro is provided for backward compatibility. */
2262 + #ifndef YY_LOCATION_PRINT
2263 + # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2264 + #endif
2265  
2407 /*--------------------------------.
2408 | Print this symbol on YYOUTPUT.  |
2409 `--------------------------------*/
2266  
2267 < /*ARGSUSED*/
2268 < #if (defined __STDC__ || defined __C99__FUNC__ \
2269 <     || defined __cplusplus || defined _MSC_VER)
2267 > # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2268 > do {                                                                      \
2269 >  if (yydebug)                                                            \
2270 >    {                                                                     \
2271 >      YYFPRINTF (stderr, "%s ", Title);                                   \
2272 >      yy_symbol_print (stderr,                                            \
2273 >                  Type, Value); \
2274 >      YYFPRINTF (stderr, "\n");                                           \
2275 >    }                                                                     \
2276 > } while (0)
2277 >
2278 >
2279 > /*----------------------------------------.
2280 > | Print this symbol's value on YYOUTPUT.  |
2281 > `----------------------------------------*/
2282 >
2283   static void
2284   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2416 #else
2417 static void
2418 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2419    FILE *yyoutput;
2420    int yytype;
2421    YYSTYPE const * const yyvaluep;
2422 #endif
2285   {
2286    FILE *yyo = yyoutput;
2287    YYUSE (yyo);
# Line 2428 | Line 2290 | yy_symbol_value_print (yyoutput, yytype,
2290   # ifdef YYPRINT
2291    if (yytype < YYNTOKENS)
2292      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2431 # else
2432  YYUSE (yyoutput);
2293   # endif
2294 <  switch (yytype)
2435 <    {
2436 <      default:
2437 <        break;
2438 <    }
2294 >  YYUSE (yytype);
2295   }
2296  
2297  
# Line 2443 | Line 2299 | yy_symbol_value_print (yyoutput, yytype,
2299   | Print this symbol on YYOUTPUT.  |
2300   `--------------------------------*/
2301  
2446 #if (defined __STDC__ || defined __C99__FUNC__ \
2447     || defined __cplusplus || defined _MSC_VER)
2302   static void
2303   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2450 #else
2451 static void
2452 yy_symbol_print (yyoutput, yytype, yyvaluep)
2453    FILE *yyoutput;
2454    int yytype;
2455    YYSTYPE const * const yyvaluep;
2456 #endif
2304   {
2305 <  if (yytype < YYNTOKENS)
2306 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2460 <  else
2461 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2305 >  YYFPRINTF (yyoutput, "%s %s (",
2306 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2307  
2308    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2309    YYFPRINTF (yyoutput, ")");
# Line 2469 | Line 2314 | yy_symbol_print (yyoutput, yytype, yyval
2314   | TOP (included).                                                   |
2315   `------------------------------------------------------------------*/
2316  
2472 #if (defined __STDC__ || defined __C99__FUNC__ \
2473     || defined __cplusplus || defined _MSC_VER)
2317   static void
2318   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2476 #else
2477 static void
2478 yy_stack_print (yybottom, yytop)
2479    yytype_int16 *yybottom;
2480    yytype_int16 *yytop;
2481 #endif
2319   {
2320    YYFPRINTF (stderr, "Stack now");
2321    for (; yybottom <= yytop; yybottom++)
# Line 2489 | Line 2326 | yy_stack_print (yybottom, yytop)
2326    YYFPRINTF (stderr, "\n");
2327   }
2328  
2329 < # define YY_STACK_PRINT(Bottom, Top)                            \
2330 < do {                                                            \
2331 <  if (yydebug)                                                  \
2332 <    yy_stack_print ((Bottom), (Top));                           \
2333 < } while (YYID (0))
2329 > # define YY_STACK_PRINT(Bottom, Top)                            \
2330 > do {                                                            \
2331 >  if (yydebug)                                                  \
2332 >    yy_stack_print ((Bottom), (Top));                           \
2333 > } while (0)
2334  
2335  
2336   /*------------------------------------------------.
2337   | Report that the YYRULE is going to be reduced.  |
2338   `------------------------------------------------*/
2339  
2503 #if (defined __STDC__ || defined __C99__FUNC__ \
2504     || defined __cplusplus || defined _MSC_VER)
2505 static void
2506 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2507 #else
2340   static void
2341 < yy_reduce_print (yyvsp, yyrule)
2510 <    YYSTYPE *yyvsp;
2511 <    int yyrule;
2512 < #endif
2341 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2342   {
2343 +  unsigned long int yylno = yyrline[yyrule];
2344    int yynrhs = yyr2[yyrule];
2345    int yyi;
2516  unsigned long int yylno = yyrline[yyrule];
2346    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2347 <             yyrule - 1, yylno);
2347 >             yyrule - 1, yylno);
2348    /* The symbols being reduced.  */
2349    for (yyi = 0; yyi < yynrhs; yyi++)
2350      {
2351        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2352 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2353 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2354 <                                       );
2352 >      yy_symbol_print (stderr,
2353 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2354 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2355 >                                              );
2356        YYFPRINTF (stderr, "\n");
2357      }
2358   }
2359  
2360 < # define YY_REDUCE_PRINT(Rule)          \
2361 < do {                                    \
2362 <  if (yydebug)                          \
2363 <    yy_reduce_print (yyvsp, Rule); \
2364 < } while (YYID (0))
2360 > # define YY_REDUCE_PRINT(Rule)          \
2361 > do {                                    \
2362 >  if (yydebug)                          \
2363 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2364 > } while (0)
2365  
2366   /* Nonzero means print parse trace.  It is left uninitialized so that
2367     multiple parsers can coexist.  */
# Line 2545 | Line 2375 | int yydebug;
2375  
2376  
2377   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2378 < #ifndef YYINITDEPTH
2378 > #ifndef YYINITDEPTH
2379   # define YYINITDEPTH 200
2380   #endif
2381  
# Line 2568 | Line 2398 | int yydebug;
2398   #   define yystrlen strlen
2399   #  else
2400   /* Return the length of YYSTR.  */
2571 #if (defined __STDC__ || defined __C99__FUNC__ \
2572     || defined __cplusplus || defined _MSC_VER)
2401   static YYSIZE_T
2402   yystrlen (const char *yystr)
2575 #else
2576 static YYSIZE_T
2577 yystrlen (yystr)
2578    const char *yystr;
2579 #endif
2403   {
2404    YYSIZE_T yylen;
2405    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2592 | Line 2415 | yystrlen (yystr)
2415   #  else
2416   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2417     YYDEST.  */
2595 #if (defined __STDC__ || defined __C99__FUNC__ \
2596     || defined __cplusplus || defined _MSC_VER)
2418   static char *
2419   yystpcpy (char *yydest, const char *yysrc)
2599 #else
2600 static char *
2601 yystpcpy (yydest, yysrc)
2602    char *yydest;
2603    const char *yysrc;
2604 #endif
2420   {
2421    char *yyd = yydest;
2422    const char *yys = yysrc;
# Line 2631 | Line 2446 | yytnamerr (char *yyres, const char *yyst
2446        char const *yyp = yystr;
2447  
2448        for (;;)
2449 <        switch (*++yyp)
2450 <          {
2451 <          case '\'':
2452 <          case ',':
2453 <            goto do_not_strip_quotes;
2454 <
2455 <          case '\\':
2456 <            if (*++yyp != '\\')
2457 <              goto do_not_strip_quotes;
2458 <            /* Fall through.  */
2459 <          default:
2460 <            if (yyres)
2461 <              yyres[yyn] = *yyp;
2462 <            yyn++;
2463 <            break;
2464 <
2465 <          case '"':
2466 <            if (yyres)
2467 <              yyres[yyn] = '\0';
2468 <            return yyn;
2469 <          }
2449 >        switch (*++yyp)
2450 >          {
2451 >          case '\'':
2452 >          case ',':
2453 >            goto do_not_strip_quotes;
2454 >
2455 >          case '\\':
2456 >            if (*++yyp != '\\')
2457 >              goto do_not_strip_quotes;
2458 >            /* Fall through.  */
2459 >          default:
2460 >            if (yyres)
2461 >              yyres[yyn] = *yyp;
2462 >            yyn++;
2463 >            break;
2464 >
2465 >          case '"':
2466 >            if (yyres)
2467 >              yyres[yyn] = '\0';
2468 >            return yyn;
2469 >          }
2470      do_not_strip_quotes: ;
2471      }
2472  
# Line 2674 | Line 2489 | static int
2489   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2490                  yytype_int16 *yyssp, int yytoken)
2491   {
2492 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2492 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2493    YYSIZE_T yysize = yysize0;
2494    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2495    /* Internationalized format string. */
2496 <  const char *yyformat = YY_NULL;
2496 >  const char *yyformat = YY_NULLPTR;
2497    /* Arguments of yyformat. */
2498    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2499    /* Number of reported tokens (one for the "unexpected", one per
# Line 2686 | Line 2501 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2501    int yycount = 0;
2502  
2503    /* There are many possibilities here to consider:
2689     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2690       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2691       for details.  YYERROR is fine as it does not invoke this
2692       function.
2504       - If this state is a consistent state with a default action, then
2505         the only way this function was invoked is if the default action
2506         is an error action.  In that case, don't check for expected
# Line 2739 | Line 2550 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2550                    }
2551                  yyarg[yycount++] = yytname[yyx];
2552                  {
2553 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2553 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2554                    if (! (yysize <= yysize1
2555                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2556                      return 2;
# Line 2806 | Line 2617 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2617   | Release the memory associated to this symbol.  |
2618   `-----------------------------------------------*/
2619  
2809 /*ARGSUSED*/
2810 #if (defined __STDC__ || defined __C99__FUNC__ \
2811     || defined __cplusplus || defined _MSC_VER)
2620   static void
2621   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2814 #else
2815 static void
2816 yydestruct (yymsg, yytype, yyvaluep)
2817    const char *yymsg;
2818    int yytype;
2819    YYSTYPE *yyvaluep;
2820 #endif
2622   {
2623    YYUSE (yyvaluep);
2823
2624    if (!yymsg)
2625      yymsg = "Deleting";
2626    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2627  
2628 <  switch (yytype)
2629 <    {
2630 <
2831 <      default:
2832 <        break;
2833 <    }
2628 >  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2629 >  YYUSE (yytype);
2630 >  YY_IGNORE_MAYBE_UNINITIALIZED_END
2631   }
2632  
2633  
# Line 2839 | Line 2636 | yydestruct (yymsg, yytype, yyvaluep)
2636   /* The lookahead symbol.  */
2637   int yychar;
2638  
2842
2843 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2844 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2845 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2846 #endif
2847 #ifndef YY_INITIAL_VALUE
2848 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2849 #endif
2850
2639   /* The semantic value of the lookahead symbol.  */
2640 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2853 <
2640 > YYSTYPE yylval;
2641   /* Number of syntax errors so far.  */
2642   int yynerrs;
2643  
# Line 2859 | Line 2646 | int yynerrs;
2646   | yyparse.  |
2647   `----------*/
2648  
2862 #ifdef YYPARSE_PARAM
2863 #if (defined __STDC__ || defined __C99__FUNC__ \
2864     || defined __cplusplus || defined _MSC_VER)
2865 int
2866 yyparse (void *YYPARSE_PARAM)
2867 #else
2868 int
2869 yyparse (YYPARSE_PARAM)
2870    void *YYPARSE_PARAM;
2871 #endif
2872 #else /* ! YYPARSE_PARAM */
2873 #if (defined __STDC__ || defined __C99__FUNC__ \
2874     || defined __cplusplus || defined _MSC_VER)
2649   int
2650   yyparse (void)
2877 #else
2878 int
2879 yyparse ()
2880
2881 #endif
2882 #endif
2651   {
2652      int yystate;
2653      /* Number of tokens to shift before error messages enabled.  */
2654      int yyerrstatus;
2655  
2656      /* The stacks and their tools:
2657 <       `yyss': related to states.
2658 <       `yyvs': related to semantic values.
2657 >       'yyss': related to states.
2658 >       'yyvs': related to semantic values.
2659  
2660         Refer to the stacks through separate pointers, to allow yyoverflow
2661         to reallocate them elsewhere.  */
# Line 2955 | Line 2723 | yyparse ()
2723  
2724   #ifdef yyoverflow
2725        {
2726 <        /* Give user a chance to reallocate the stack.  Use copies of
2727 <           these so that the &'s don't force the real ones into
2728 <           memory.  */
2729 <        YYSTYPE *yyvs1 = yyvs;
2730 <        yytype_int16 *yyss1 = yyss;
2731 <
2732 <        /* Each stack pointer address is followed by the size of the
2733 <           data in use in that stack, in bytes.  This used to be a
2734 <           conditional around just the two extra args, but that might
2735 <           be undefined if yyoverflow is a macro.  */
2736 <        yyoverflow (YY_("memory exhausted"),
2737 <                    &yyss1, yysize * sizeof (*yyssp),
2738 <                    &yyvs1, yysize * sizeof (*yyvsp),
2739 <                    &yystacksize);
2726 >        /* Give user a chance to reallocate the stack.  Use copies of
2727 >           these so that the &'s don't force the real ones into
2728 >           memory.  */
2729 >        YYSTYPE *yyvs1 = yyvs;
2730 >        yytype_int16 *yyss1 = yyss;
2731 >
2732 >        /* Each stack pointer address is followed by the size of the
2733 >           data in use in that stack, in bytes.  This used to be a
2734 >           conditional around just the two extra args, but that might
2735 >           be undefined if yyoverflow is a macro.  */
2736 >        yyoverflow (YY_("memory exhausted"),
2737 >                    &yyss1, yysize * sizeof (*yyssp),
2738 >                    &yyvs1, yysize * sizeof (*yyvsp),
2739 >                    &yystacksize);
2740  
2741 <        yyss = yyss1;
2742 <        yyvs = yyvs1;
2741 >        yyss = yyss1;
2742 >        yyvs = yyvs1;
2743        }
2744   #else /* no yyoverflow */
2745   # ifndef YYSTACK_RELOCATE
# Line 2979 | Line 2747 | yyparse ()
2747   # else
2748        /* Extend the stack our own way.  */
2749        if (YYMAXDEPTH <= yystacksize)
2750 <        goto yyexhaustedlab;
2750 >        goto yyexhaustedlab;
2751        yystacksize *= 2;
2752        if (YYMAXDEPTH < yystacksize)
2753 <        yystacksize = YYMAXDEPTH;
2753 >        yystacksize = YYMAXDEPTH;
2754  
2755        {
2756 <        yytype_int16 *yyss1 = yyss;
2757 <        union yyalloc *yyptr =
2758 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2759 <        if (! yyptr)
2760 <          goto yyexhaustedlab;
2761 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2762 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2756 >        yytype_int16 *yyss1 = yyss;
2757 >        union yyalloc *yyptr =
2758 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2759 >        if (! yyptr)
2760 >          goto yyexhaustedlab;
2761 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2762 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2763   #  undef YYSTACK_RELOCATE
2764 <        if (yyss1 != yyssa)
2765 <          YYSTACK_FREE (yyss1);
2764 >        if (yyss1 != yyssa)
2765 >          YYSTACK_FREE (yyss1);
2766        }
2767   # endif
2768   #endif /* no yyoverflow */
# Line 3003 | Line 2771 | yyparse ()
2771        yyvsp = yyvs + yysize - 1;
2772  
2773        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2774 <                  (unsigned long int) yystacksize));
2774 >                  (unsigned long int) yystacksize));
2775  
2776        if (yyss + yystacksize - 1 <= yyssp)
2777 <        YYABORT;
2777 >        YYABORT;
2778      }
2779  
2780    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3035 | Line 2803 | yybackup:
2803    if (yychar == YYEMPTY)
2804      {
2805        YYDPRINTF ((stderr, "Reading a token: "));
2806 <      yychar = YYLEX;
2806 >      yychar = yylex ();
2807      }
2808  
2809    if (yychar <= YYEOF)
# Line 3100 | Line 2868 | yyreduce:
2868    yylen = yyr2[yyn];
2869  
2870    /* If YYLEN is nonzero, implement the default value of the action:
2871 <     `$$ = $1'.
2871 >     '$$ = $1'.
2872  
2873       Otherwise, the following line sets YYVAL to garbage.
2874       This behavior is undocumented and Bison
# Line 3113 | Line 2881 | yyreduce:
2881    YY_REDUCE_PRINT (yyn);
2882    switch (yyn)
2883      {
2884 <        case 26:
2885 < /* Line 1792 of yacc.c  */
3118 < #line 384 "conf_parser.y"
2884 >        case 27:
2885 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2886      { (yyval.number) = 0; }
2887 <    break;
3121 <
3122 <  case 28:
3123 < /* Line 1792 of yacc.c  */
3124 < #line 386 "conf_parser.y"
3125 <    {
3126 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3127 <                }
2887 > #line 2888 "conf_parser.c" /* yacc.c:1646  */
2888      break;
2889  
2890    case 29:
2891 < /* Line 1792 of yacc.c  */
2892 < #line 390 "conf_parser.y"
2893 <    {
3134 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3135 <                }
2891 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2892 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2893 > #line 2894 "conf_parser.c" /* yacc.c:1646  */
2894      break;
2895  
2896    case 30:
2897 < /* Line 1792 of yacc.c  */
2898 < #line 394 "conf_parser.y"
2899 <    {
3142 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3143 <                }
2897 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2898 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2899 > #line 2900 "conf_parser.c" /* yacc.c:1646  */
2900      break;
2901  
2902    case 31:
2903 < /* Line 1792 of yacc.c  */
2904 < #line 398 "conf_parser.y"
2905 <    {
3150 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3151 <                }
2903 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2904 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2905 > #line 2906 "conf_parser.c" /* yacc.c:1646  */
2906      break;
2907  
2908    case 32:
2909 < /* Line 1792 of yacc.c  */
2910 < #line 402 "conf_parser.y"
2911 <    {
3158 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3159 <                }
2909 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2910 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2911 > #line 2912 "conf_parser.c" /* yacc.c:1646  */
2912      break;
2913  
2914    case 33:
2915 < /* Line 1792 of yacc.c  */
2916 < #line 406 "conf_parser.y"
2917 <    {
3166 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3167 <                }
2915 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2916 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2917 > #line 2918 "conf_parser.c" /* yacc.c:1646  */
2918      break;
2919  
2920    case 34:
2921 < /* Line 1792 of yacc.c  */
2922 < #line 411 "conf_parser.y"
2923 <    { (yyval.number) = 0; }
2921 > #line 419 "conf_parser.y" /* yacc.c:1646  */
2922 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2923 > #line 2924 "conf_parser.c" /* yacc.c:1646  */
2924 >    break;
2925 >
2926 >  case 35:
2927 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2928 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2929 > #line 2930 "conf_parser.c" /* yacc.c:1646  */
2930      break;
2931  
2932    case 36:
2933 < /* Line 1792 of yacc.c  */
2934 < #line 412 "conf_parser.y"
2935 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2933 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2934 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2935 > #line 2936 "conf_parser.c" /* yacc.c:1646  */
2936      break;
2937  
2938    case 37:
2939 < /* Line 1792 of yacc.c  */
2940 < #line 413 "conf_parser.y"
2941 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2939 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2940 >    { (yyval.number) = 0; }
2941 > #line 2942 "conf_parser.c" /* yacc.c:1646  */
2942      break;
2943  
2944 <  case 38:
2945 < /* Line 1792 of yacc.c  */
2946 < #line 414 "conf_parser.y"
2947 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2944 >  case 39:
2945 > #line 425 "conf_parser.y" /* yacc.c:1646  */
2946 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2947 > #line 2948 "conf_parser.c" /* yacc.c:1646  */
2948      break;
2949  
2950 <  case 39:
2951 < /* Line 1792 of yacc.c  */
2952 < #line 415 "conf_parser.y"
2953 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2950 >  case 40:
2951 > #line 426 "conf_parser.y" /* yacc.c:1646  */
2952 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2953 > #line 2954 "conf_parser.c" /* yacc.c:1646  */
2954 >    break;
2955 >
2956 >  case 41:
2957 > #line 427 "conf_parser.y" /* yacc.c:1646  */
2958 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2959 > #line 2960 "conf_parser.c" /* yacc.c:1646  */
2960 >    break;
2961 >
2962 >  case 42:
2963 > #line 428 "conf_parser.y" /* yacc.c:1646  */
2964 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2965 > #line 2966 "conf_parser.c" /* yacc.c:1646  */
2966      break;
2967  
2968 <  case 46:
2969 < /* Line 1792 of yacc.c  */
3202 < #line 429 "conf_parser.y"
2968 >  case 49:
2969 > #line 442 "conf_parser.y" /* yacc.c:1646  */
2970      {
2971    if (conf_parser_ctx.pass == 2)
2972      add_conf_module(libio_basename(yylval.string));
2973   }
2974 + #line 2975 "conf_parser.c" /* yacc.c:1646  */
2975      break;
2976  
2977 <  case 47:
2978 < /* Line 1792 of yacc.c  */
3211 < #line 435 "conf_parser.y"
2977 >  case 50:
2978 > #line 448 "conf_parser.y" /* yacc.c:1646  */
2979      {
2980    if (conf_parser_ctx.pass == 2)
2981      mod_add_path(yylval.string);
2982   }
2983 + #line 2984 "conf_parser.c" /* yacc.c:1646  */
2984      break;
2985  
2986 <  case 71:
2987 < /* Line 1792 of yacc.c  */
3220 < #line 460 "conf_parser.y"
2986 >  case 78:
2987 > #line 484 "conf_parser.y" /* yacc.c:1646  */
2988      {
2989   #ifdef HAVE_LIBCRYPTO
2990    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2991      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2992   #endif
2993   }
2994 + #line 2995 "conf_parser.c" /* yacc.c:1646  */
2995      break;
2996  
2997 <  case 72:
2998 < /* Line 1792 of yacc.c  */
3231 < #line 466 "conf_parser.y"
2997 >  case 79:
2998 > #line 490 "conf_parser.y" /* yacc.c:1646  */
2999      {
3000   #ifdef HAVE_LIBCRYPTO
3001    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3002      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3003   #endif
3004   }
3005 + #line 3006 "conf_parser.c" /* yacc.c:1646  */
3006      break;
3007  
3008 <  case 75:
3009 < /* Line 1792 of yacc.c  */
3242 < #line 475 "conf_parser.y"
3008 >  case 82:
3009 > #line 499 "conf_parser.y" /* yacc.c:1646  */
3010      {
3011   #ifdef HAVE_LIBCRYPTO
3012    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3013      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3014   #endif
3015   }
3016 + #line 3017 "conf_parser.c" /* yacc.c:1646  */
3017      break;
3018  
3019 <  case 76:
3020 < /* Line 1792 of yacc.c  */
3253 < #line 481 "conf_parser.y"
3019 >  case 83:
3020 > #line 505 "conf_parser.y" /* yacc.c:1646  */
3021      {
3022   #ifdef HAVE_LIBCRYPTO
3023    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3024      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3025   #endif
3026   }
3027 + #line 3028 "conf_parser.c" /* yacc.c:1646  */
3028      break;
3029  
3030 <  case 77:
3031 < /* Line 1792 of yacc.c  */
3264 < #line 489 "conf_parser.y"
3030 >  case 84:
3031 > #line 513 "conf_parser.y" /* yacc.c:1646  */
3032      {
3033   #ifdef HAVE_LIBCRYPTO
3034 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3034 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3035    {
3036      if (!ServerInfo.rsa_private_key_file)
3037      {
3038 <      yyerror("No rsa_private_key_file specified, SSL disabled");
3038 >      conf_error_report("No rsa_private_key_file specified, SSL disabled");
3039        break;
3040      }
3041  
# Line 3277 | Line 3044 | yyreduce:
3044          SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3045                                       SSL_FILETYPE_PEM) <= 0)
3046      {
3047 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3047 >      report_crypto_errors();
3048 >      conf_error_report("Could not open/read certificate file");
3049        break;
3050      }
3051  
# Line 3286 | Line 3054 | yyreduce:
3054          SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3055                                      SSL_FILETYPE_PEM) <= 0)
3056      {
3057 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3057 >      report_crypto_errors();
3058 >      conf_error_report("Could not read RSA private key");
3059        break;
3060      }
3061  
3062      if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3063          !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3064      {
3065 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3065 >      report_crypto_errors();
3066 >      conf_error_report("Could not read RSA private key");
3067        break;
3068      }
3069    }
3070   #endif
3071   }
3072 + #line 3073 "conf_parser.c" /* yacc.c:1646  */
3073      break;
3074  
3075 <  case 78:
3076 < /* Line 1792 of yacc.c  */
3306 < #line 528 "conf_parser.y"
3075 >  case 85:
3076 > #line 555 "conf_parser.y" /* yacc.c:1646  */
3077      {
3078   #ifdef HAVE_LIBCRYPTO
3079 <  if (conf_parser_ctx.pass == 1)
3310 <  {
3311 <    BIO *file;
3079 >  BIO *file = NULL;
3080  
3081 <    if (ServerInfo.rsa_private_key)
3082 <    {
3315 <      RSA_free(ServerInfo.rsa_private_key);
3316 <      ServerInfo.rsa_private_key = NULL;
3317 <    }
3081 >  if (conf_parser_ctx.pass != 1)
3082 >    break;
3083  
3084 <    if (ServerInfo.rsa_private_key_file)
3085 <    {
3086 <      MyFree(ServerInfo.rsa_private_key_file);
3087 <      ServerInfo.rsa_private_key_file = NULL;
3088 <    }
3084 >  if (ServerInfo.rsa_private_key)
3085 >  {
3086 >    RSA_free(ServerInfo.rsa_private_key);
3087 >    ServerInfo.rsa_private_key = NULL;
3088 >  }
3089  
3090 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3090 >  if (ServerInfo.rsa_private_key_file)
3091 >  {
3092 >    MyFree(ServerInfo.rsa_private_key_file);
3093 >    ServerInfo.rsa_private_key_file = NULL;
3094 >  }
3095  
3096 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3328 <    {
3329 <      yyerror("File open failed, ignoring");
3330 <      break;
3331 <    }
3096 >  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3097  
3098 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3098 >  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3099 >  {
3100 >    conf_error_report("File open failed, ignoring");
3101 >    break;
3102 >  }
3103  
3104 <    BIO_set_close(file, BIO_CLOSE);
3336 <    BIO_free(file);
3104 >  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3105  
3106 <    if (ServerInfo.rsa_private_key == NULL)
3107 <    {
3340 <      yyerror("Couldn't extract key, ignoring");
3341 <      break;
3342 <    }
3106 >  BIO_set_close(file, BIO_CLOSE);
3107 >  BIO_free(file);
3108  
3109 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3110 <    {
3111 <      RSA_free(ServerInfo.rsa_private_key);
3112 <      ServerInfo.rsa_private_key = NULL;
3109 >  if (ServerInfo.rsa_private_key == NULL)
3110 >  {
3111 >    conf_error_report("Couldn't extract key, ignoring");
3112 >    break;
3113 >  }
3114  
3115 <      yyerror("Invalid key, ignoring");
3116 <      break;
3117 <    }
3115 >  if (!RSA_check_key(ServerInfo.rsa_private_key))
3116 >  {
3117 >    RSA_free(ServerInfo.rsa_private_key);
3118 >    ServerInfo.rsa_private_key = NULL;
3119  
3120 <    /* require 2048 bit (256 byte) key */
3121 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3122 <    {
3356 <      RSA_free(ServerInfo.rsa_private_key);
3357 <      ServerInfo.rsa_private_key = NULL;
3120 >    conf_error_report("Invalid key, ignoring");
3121 >    break;
3122 >  }
3123  
3124 <      yyerror("Not a 2048 bit key, ignoring");
3125 <    }
3124 >  if (RSA_size(ServerInfo.rsa_private_key) < 128)
3125 >  {
3126 >    RSA_free(ServerInfo.rsa_private_key);
3127 >    ServerInfo.rsa_private_key = NULL;
3128 >
3129 >    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3130    }
3131   #endif
3132   }
3133 + #line 3134 "conf_parser.c" /* yacc.c:1646  */
3134      break;
3135  
3136 <  case 79:
3137 < /* Line 1792 of yacc.c  */
3368 < #line 587 "conf_parser.y"
3136 >  case 86:
3137 > #line 613 "conf_parser.y" /* yacc.c:1646  */
3138      {
3139   /* TBD - XXX: error reporting */
3140   #ifdef HAVE_LIBCRYPTO
# Line 3382 | Line 3151 | yyreduce:
3151        if (dh)
3152        {
3153          if (DH_size(dh) < 128)
3154 <          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3154 >          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3155          else
3156            SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3157  
# Line 3392 | Line 3161 | yyreduce:
3161    }
3162   #endif
3163   }
3164 + #line 3165 "conf_parser.c" /* yacc.c:1646  */
3165      break;
3166  
3167 <  case 80:
3168 < /* Line 1792 of yacc.c  */
3399 < #line 615 "conf_parser.y"
3167 >  case 87:
3168 > #line 641 "conf_parser.y" /* yacc.c:1646  */
3169      {
3170   #ifdef HAVE_LIBCRYPTO
3171    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3172      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3173   #endif
3174   }
3175 + #line 3176 "conf_parser.c" /* yacc.c:1646  */
3176 +    break;
3177 +
3178 +  case 88:
3179 + #line 649 "conf_parser.y" /* yacc.c:1646  */
3180 +    {
3181 + #ifdef HAVE_LIBCRYPTO
3182 +  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3183 +  {
3184 +    if ((ServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3185 +      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3186 +    else
3187 +      ServerInfo.message_digest_algorithm = EVP_sha256();
3188 +  }
3189 + #endif
3190 + }
3191 + #line 3192 "conf_parser.c" /* yacc.c:1646  */
3192 +    break;
3193 +
3194 +  case 89:
3195 + #line 662 "conf_parser.y" /* yacc.c:1646  */
3196 +    {
3197 + #ifdef HAVE_LIBCRYPTO
3198 + #if OPENSSL_VERSION_NUMBER >= 0x1000005FL && !defined(OPENSSL_NO_ECDH)
3199 +  int nid = 0;
3200 +  EC_KEY *key = NULL;
3201 +
3202 +  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3203 +  {
3204 +    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3205 +    {
3206 +        conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- unknown curve name");
3207 +        break;
3208 +    }
3209 +
3210 +    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3211 +    {
3212 +      conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- could not create curve");
3213 +      break;
3214 +    }
3215 +
3216 +    SSL_CTX_set_tmp_ecdh(ServerInfo.server_ctx, key);
3217 +    EC_KEY_free(key);
3218 + }
3219 + #endif
3220 + #endif
3221 + }
3222 + #line 3223 "conf_parser.c" /* yacc.c:1646  */
3223      break;
3224  
3225 <  case 81:
3226 < /* Line 1792 of yacc.c  */
3410 < #line 623 "conf_parser.y"
3225 >  case 90:
3226 > #line 690 "conf_parser.y" /* yacc.c:1646  */
3227      {
3228    /* this isn't rehashable */
3229    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3416 | Line 3232 | yyreduce:
3232        ServerInfo.name = xstrdup(yylval.string);
3233      else
3234      {
3235 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3235 >      conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3236        exit(0);
3237      }
3238    }
3239   }
3240 + #line 3241 "conf_parser.c" /* yacc.c:1646  */
3241      break;
3242  
3243 <  case 82:
3244 < /* Line 1792 of yacc.c  */
3428 < #line 638 "conf_parser.y"
3243 >  case 91:
3244 > #line 705 "conf_parser.y" /* yacc.c:1646  */
3245      {
3246    /* this isn't rehashable */
3247    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3434 | Line 3250 | yyreduce:
3250        ServerInfo.sid = xstrdup(yylval.string);
3251      else
3252      {
3253 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3253 >      conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3254        exit(0);
3255      }
3256    }
3257   }
3258 + #line 3259 "conf_parser.c" /* yacc.c:1646  */
3259      break;
3260  
3261 <  case 83:
3262 < /* Line 1792 of yacc.c  */
3446 < #line 653 "conf_parser.y"
3261 >  case 92:
3262 > #line 720 "conf_parser.y" /* yacc.c:1646  */
3263      {
3264    if (conf_parser_ctx.pass == 2)
3265    {
# Line 3451 | Line 3267 | yyreduce:
3267      ServerInfo.description = xstrdup(yylval.string);
3268    }
3269   }
3270 + #line 3271 "conf_parser.c" /* yacc.c:1646  */
3271      break;
3272  
3273 <  case 84:
3274 < /* Line 1792 of yacc.c  */
3458 < #line 662 "conf_parser.y"
3273 >  case 93:
3274 > #line 729 "conf_parser.y" /* yacc.c:1646  */
3275      {
3276    if (conf_parser_ctx.pass == 2)
3277    {
3278      char *p;
3279  
3280 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3281 <      p = '\0';
3280 >    if ((p = strchr(yylval.string, ' ')))
3281 >      *p = '\0';
3282  
3283      MyFree(ServerInfo.network_name);
3284      ServerInfo.network_name = xstrdup(yylval.string);
3285    }
3286   }
3287 + #line 3288 "conf_parser.c" /* yacc.c:1646  */
3288      break;
3289  
3290 <  case 85:
3291 < /* Line 1792 of yacc.c  */
3475 < #line 676 "conf_parser.y"
3290 >  case 94:
3291 > #line 743 "conf_parser.y" /* yacc.c:1646  */
3292      {
3293 <  if (conf_parser_ctx.pass == 2)
3294 <  {
3295 <    MyFree(ServerInfo.network_desc);
3296 <    ServerInfo.network_desc = xstrdup(yylval.string);
3297 <  }
3293 >  if (conf_parser_ctx.pass != 2)
3294 >    break;
3295 >
3296 >  MyFree(ServerInfo.network_desc);
3297 >  ServerInfo.network_desc = xstrdup(yylval.string);
3298   }
3299 + #line 3300 "conf_parser.c" /* yacc.c:1646  */
3300      break;
3301  
3302 <  case 86:
3303 < /* Line 1792 of yacc.c  */
3487 < #line 685 "conf_parser.y"
3302 >  case 95:
3303 > #line 752 "conf_parser.y" /* yacc.c:1646  */
3304      {
3305    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3306    {
# Line 3500 | Line 3316 | yyreduce:
3316        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3317      else
3318      {
3319 <      assert(res != NULL);
3319 >      assert(res);
3320  
3321        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3322        ServerInfo.ip.ss.ss_family = res->ai_family;
# Line 3511 | Line 3327 | yyreduce:
3327      }
3328    }
3329   }
3330 + #line 3331 "conf_parser.c" /* yacc.c:1646  */
3331      break;
3332  
3333 <  case 87:
3334 < /* Line 1792 of yacc.c  */
3518 < #line 713 "conf_parser.y"
3333 >  case 96:
3334 > #line 780 "conf_parser.y" /* yacc.c:1646  */
3335      {
3336   #ifdef IPV6
3337    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3532 | Line 3348 | yyreduce:
3348        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3349      else
3350      {
3351 <      assert(res != NULL);
3351 >      assert(res);
3352  
3353        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3354        ServerInfo.ip6.ss.ss_family = res->ai_family;
# Line 3544 | Line 3360 | yyreduce:
3360    }
3361   #endif
3362   }
3363 + #line 3364 "conf_parser.c" /* yacc.c:1646  */
3364      break;
3365  
3366 <  case 88:
3367 < /* Line 1792 of yacc.c  */
3551 < #line 743 "conf_parser.y"
3366 >  case 97:
3367 > #line 810 "conf_parser.y" /* yacc.c:1646  */
3368      {
3369    if (conf_parser_ctx.pass != 2)
3370      break;
3371  
3372 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3372 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3373    {
3374 <    char buf[IRCD_BUFSIZE];
3374 >    char buf[IRCD_BUFSIZE] = "";
3375  
3376      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3377 <    yyerror(buf);
3377 >    conf_error_report(buf);
3378      ServerInfo.max_clients = MAXCLIENTS_MIN;
3379    }
3380 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3380 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3381    {
3382 <    char buf[IRCD_BUFSIZE];
3382 >    char buf[IRCD_BUFSIZE] = "";
3383  
3384      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3385 <    yyerror(buf);
3385 >    conf_error_report(buf);
3386      ServerInfo.max_clients = MAXCLIENTS_MAX;
3387    }
3388    else
3389 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3389 >    ServerInfo.max_clients = (yyvsp[-1].number);
3390   }
3391 + #line 3392 "conf_parser.c" /* yacc.c:1646  */
3392      break;
3393  
3394 <  case 89:
3395 < /* Line 1792 of yacc.c  */
3396 < #line 768 "conf_parser.y"
3394 >  case 98:
3395 > #line 835 "conf_parser.y" /* yacc.c:1646  */
3396 >    {
3397 >  if (conf_parser_ctx.pass != 2)
3398 >    break;
3399 >
3400 >  if ((yyvsp[-1].number) < 9)
3401 >  {
3402 >    conf_error_report("max_nick_length too low, setting to 9");
3403 >    ServerInfo.max_nick_length = 9;
3404 >  }
3405 >  else if ((yyvsp[-1].number) > NICKLEN)
3406 >  {
3407 >    char buf[IRCD_BUFSIZE] = "";
3408 >
3409 >    snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3410 >    conf_error_report(buf);
3411 >    ServerInfo.max_nick_length = NICKLEN;
3412 >  }
3413 >  else
3414 >    ServerInfo.max_nick_length = (yyvsp[-1].number);
3415 > }
3416 > #line 3417 "conf_parser.c" /* yacc.c:1646  */
3417 >    break;
3418 >
3419 >  case 99:
3420 > #line 857 "conf_parser.y" /* yacc.c:1646  */
3421 >    {
3422 >  if (conf_parser_ctx.pass != 2)
3423 >    break;
3424 >
3425 >  if ((yyvsp[-1].number) < 80)
3426 >  {
3427 >    conf_error_report("max_topic_length too low, setting to 80");
3428 >    ServerInfo.max_topic_length = 80;
3429 >  }
3430 >  else if ((yyvsp[-1].number) > TOPICLEN)
3431 >  {
3432 >    char buf[IRCD_BUFSIZE] = "";
3433 >
3434 >    snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3435 >    conf_error_report(buf);
3436 >    ServerInfo.max_topic_length = TOPICLEN;
3437 >  }
3438 >  else
3439 >    ServerInfo.max_topic_length = (yyvsp[-1].number);
3440 > }
3441 > #line 3442 "conf_parser.c" /* yacc.c:1646  */
3442 >    break;
3443 >
3444 >  case 100:
3445 > #line 879 "conf_parser.y" /* yacc.c:1646  */
3446      {
3447    if (conf_parser_ctx.pass == 2)
3448      ServerInfo.hub = yylval.number;
3449   }
3450 + #line 3451 "conf_parser.c" /* yacc.c:1646  */
3451      break;
3452  
3453 <  case 97:
3454 < /* Line 1792 of yacc.c  */
3455 < #line 783 "conf_parser.y"
3453 >  case 108:
3454 > #line 896 "conf_parser.y" /* yacc.c:1646  */
3455 >    {
3456 >  if (conf_parser_ctx.pass != 2)
3457 >    break;
3458 >
3459 >  MyFree(AdminInfo.name);
3460 >  AdminInfo.name = xstrdup(yylval.string);
3461 > }
3462 > #line 3463 "conf_parser.c" /* yacc.c:1646  */
3463 >    break;
3464 >
3465 >  case 109:
3466 > #line 905 "conf_parser.y" /* yacc.c:1646  */
3467 >    {
3468 >  if (conf_parser_ctx.pass != 2)
3469 >    break;
3470 >
3471 >  MyFree(AdminInfo.email);
3472 >  AdminInfo.email = xstrdup(yylval.string);
3473 > }
3474 > #line 3475 "conf_parser.c" /* yacc.c:1646  */
3475 >    break;
3476 >
3477 >  case 110:
3478 > #line 914 "conf_parser.y" /* yacc.c:1646  */
3479 >    {
3480 >  if (conf_parser_ctx.pass != 2)
3481 >    break;
3482 >
3483 >  MyFree(AdminInfo.description);
3484 >  AdminInfo.description = xstrdup(yylval.string);
3485 > }
3486 > #line 3487 "conf_parser.c" /* yacc.c:1646  */
3487 >    break;
3488 >
3489 >  case 111:
3490 > #line 926 "conf_parser.y" /* yacc.c:1646  */
3491      {
3492    if (conf_parser_ctx.pass == 2)
3493 <  {
3592 <    MyFree(AdminInfo.name);
3593 <    AdminInfo.name = xstrdup(yylval.string);
3594 <  }
3493 >    reset_block_state();
3494   }
3495 + #line 3496 "conf_parser.c" /* yacc.c:1646  */
3496      break;
3497  
3498 <  case 98:
3499 < /* Line 1792 of yacc.c  */
3500 < #line 792 "conf_parser.y"
3498 >  case 112:
3499 > #line 930 "conf_parser.y" /* yacc.c:1646  */
3500 >    {
3501 >  dlink_node *ptr = NULL;
3502 >
3503 >  if (conf_parser_ctx.pass != 2)
3504 >    break;
3505 >
3506 >  if (!block_state.file.buf[0])
3507 >    break;
3508 >
3509 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3510 >    motd_add(ptr->data, block_state.file.buf);
3511 > }
3512 > #line 3513 "conf_parser.c" /* yacc.c:1646  */
3513 >    break;
3514 >
3515 >  case 118:
3516 > #line 947 "conf_parser.y" /* yacc.c:1646  */
3517      {
3518    if (conf_parser_ctx.pass == 2)
3519 <  {
3604 <    MyFree(AdminInfo.email);
3605 <    AdminInfo.email = xstrdup(yylval.string);
3606 <  }
3519 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3520   }
3521 + #line 3522 "conf_parser.c" /* yacc.c:1646  */
3522      break;
3523  
3524 <  case 99:
3525 < /* Line 1792 of yacc.c  */
3612 < #line 801 "conf_parser.y"
3524 >  case 119:
3525 > #line 953 "conf_parser.y" /* yacc.c:1646  */
3526      {
3527    if (conf_parser_ctx.pass == 2)
3528 <  {
3616 <    MyFree(AdminInfo.description);
3617 <    AdminInfo.description = xstrdup(yylval.string);
3618 <  }
3528 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3529   }
3530 + #line 3531 "conf_parser.c" /* yacc.c:1646  */
3531      break;
3532  
3533 <  case 106:
3534 < /* Line 1792 of yacc.c  */
3624 < #line 819 "conf_parser.y"
3533 >  case 126:
3534 > #line 968 "conf_parser.y" /* yacc.c:1646  */
3535      {
3536    if (conf_parser_ctx.pass == 2)
3537      ConfigLoggingEntry.use_logging = yylval.number;
3538   }
3539 + #line 3540 "conf_parser.c" /* yacc.c:1646  */
3540      break;
3541  
3542 <  case 107:
3543 < /* Line 1792 of yacc.c  */
3633 < #line 825 "conf_parser.y"
3542 >  case 127:
3543 > #line 974 "conf_parser.y" /* yacc.c:1646  */
3544      {
3545    if (conf_parser_ctx.pass == 2)
3546      reset_block_state();
3547   }
3548 + #line 3549 "conf_parser.c" /* yacc.c:1646  */
3549      break;
3550  
3551 <  case 108:
3552 < /* Line 1792 of yacc.c  */
3642 < #line 829 "conf_parser.y"
3551 >  case 128:
3552 > #line 978 "conf_parser.y" /* yacc.c:1646  */
3553      {
3554    if (conf_parser_ctx.pass != 2)
3555      break;
3556  
3557    if (block_state.type.value && block_state.file.buf[0])
3558 <    log_add_file(block_state.type.value, block_state.size.value,
3558 >    log_set_file(block_state.type.value, block_state.size.value,
3559                   block_state.file.buf);
3560   }
3561 + #line 3562 "conf_parser.c" /* yacc.c:1646  */
3562      break;
3563  
3564 <  case 115:
3565 < /* Line 1792 of yacc.c  */
3655 < #line 845 "conf_parser.y"
3564 >  case 135:
3565 > #line 994 "conf_parser.y" /* yacc.c:1646  */
3566      {
3567    if (conf_parser_ctx.pass != 2)
3568      break;
3569  
3570    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3571   }
3572 + #line 3573 "conf_parser.c" /* yacc.c:1646  */
3573      break;
3574  
3575 <  case 116:
3576 < /* Line 1792 of yacc.c  */
3666 < #line 853 "conf_parser.y"
3575 >  case 136:
3576 > #line 1002 "conf_parser.y" /* yacc.c:1646  */
3577      {
3578 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3578 >  block_state.size.value = (yyvsp[-1].number);
3579   }
3580 + #line 3581 "conf_parser.c" /* yacc.c:1646  */
3581      break;
3582  
3583 <  case 117:
3584 < /* Line 1792 of yacc.c  */
3674 < #line 856 "conf_parser.y"
3583 >  case 137:
3584 > #line 1005 "conf_parser.y" /* yacc.c:1646  */
3585      {
3586    block_state.size.value = 0;
3587   }
3588 + #line 3589 "conf_parser.c" /* yacc.c:1646  */
3589      break;
3590  
3591 <  case 118:
3592 < /* Line 1792 of yacc.c  */
3682 < #line 861 "conf_parser.y"
3591 >  case 138:
3592 > #line 1010 "conf_parser.y" /* yacc.c:1646  */
3593      {
3594    if (conf_parser_ctx.pass == 2)
3595      block_state.type.value = 0;
3596   }
3597 + #line 3598 "conf_parser.c" /* yacc.c:1646  */
3598      break;
3599  
3600 <  case 122:
3601 < /* Line 1792 of yacc.c  */
3691 < #line 868 "conf_parser.y"
3600 >  case 142:
3601 > #line 1017 "conf_parser.y" /* yacc.c:1646  */
3602      {
3603    if (conf_parser_ctx.pass == 2)
3604      block_state.type.value = LOG_TYPE_USER;
3605   }
3606 + #line 3607 "conf_parser.c" /* yacc.c:1646  */
3607      break;
3608  
3609 <  case 123:
3610 < /* Line 1792 of yacc.c  */
3700 < #line 872 "conf_parser.y"
3609 >  case 143:
3610 > #line 1021 "conf_parser.y" /* yacc.c:1646  */
3611      {
3612    if (conf_parser_ctx.pass == 2)
3613      block_state.type.value = LOG_TYPE_OPER;
3614   }
3615 + #line 3616 "conf_parser.c" /* yacc.c:1646  */
3616      break;
3617  
3618 <  case 124:
3619 < /* Line 1792 of yacc.c  */
3709 < #line 876 "conf_parser.y"
3618 >  case 144:
3619 > #line 1025 "conf_parser.y" /* yacc.c:1646  */
3620      {
3621    if (conf_parser_ctx.pass == 2)
3622      block_state.type.value = LOG_TYPE_GLINE;
3623   }
3624 + #line 3625 "conf_parser.c" /* yacc.c:1646  */
3625      break;
3626  
3627 <  case 125:
3628 < /* Line 1792 of yacc.c  */
3629 < #line 880 "conf_parser.y"
3627 >  case 145:
3628 > #line 1029 "conf_parser.y" /* yacc.c:1646  */
3629 >    {
3630 >  if (conf_parser_ctx.pass == 2)
3631 >    block_state.type.value = LOG_TYPE_XLINE;
3632 > }
3633 > #line 3634 "conf_parser.c" /* yacc.c:1646  */
3634 >    break;
3635 >
3636 >  case 146:
3637 > #line 1033 "conf_parser.y" /* yacc.c:1646  */
3638 >    {
3639 >  if (conf_parser_ctx.pass == 2)
3640 >    block_state.type.value = LOG_TYPE_RESV;
3641 > }
3642 > #line 3643 "conf_parser.c" /* yacc.c:1646  */
3643 >    break;
3644 >
3645 >  case 147:
3646 > #line 1037 "conf_parser.y" /* yacc.c:1646  */
3647      {
3648    if (conf_parser_ctx.pass == 2)
3649      block_state.type.value = LOG_TYPE_DLINE;
3650   }
3651 + #line 3652 "conf_parser.c" /* yacc.c:1646  */
3652      break;
3653  
3654 <  case 126:
3655 < /* Line 1792 of yacc.c  */
3727 < #line 884 "conf_parser.y"
3654 >  case 148:
3655 > #line 1041 "conf_parser.y" /* yacc.c:1646  */
3656      {
3657    if (conf_parser_ctx.pass == 2)
3658      block_state.type.value = LOG_TYPE_KLINE;
3659   }
3660 + #line 3661 "conf_parser.c" /* yacc.c:1646  */
3661      break;
3662  
3663 <  case 127:
3664 < /* Line 1792 of yacc.c  */
3736 < #line 888 "conf_parser.y"
3663 >  case 149:
3664 > #line 1045 "conf_parser.y" /* yacc.c:1646  */
3665      {
3666    if (conf_parser_ctx.pass == 2)
3667      block_state.type.value = LOG_TYPE_KILL;
3668   }
3669 + #line 3670 "conf_parser.c" /* yacc.c:1646  */
3670      break;
3671  
3672 <  case 128:
3673 < /* Line 1792 of yacc.c  */
3745 < #line 892 "conf_parser.y"
3672 >  case 150:
3673 > #line 1049 "conf_parser.y" /* yacc.c:1646  */
3674      {
3675    if (conf_parser_ctx.pass == 2)
3676      block_state.type.value = LOG_TYPE_DEBUG;
3677   }
3678 + #line 3679 "conf_parser.c" /* yacc.c:1646  */
3679      break;
3680  
3681 <  case 129:
3682 < /* Line 1792 of yacc.c  */
3754 < #line 902 "conf_parser.y"
3681 >  case 151:
3682 > #line 1059 "conf_parser.y" /* yacc.c:1646  */
3683      {
3684    if (conf_parser_ctx.pass != 2)
3685      break;
# Line 3759 | Line 3687 | yyreduce:
3687    reset_block_state();
3688    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3689   }
3690 + #line 3691 "conf_parser.c" /* yacc.c:1646  */
3691      break;
3692  
3693 <  case 130:
3694 < /* Line 1792 of yacc.c  */
3766 < #line 909 "conf_parser.y"
3693 >  case 152:
3694 > #line 1066 "conf_parser.y" /* yacc.c:1646  */
3695      {
3696    dlink_node *ptr = NULL;
3697  
# Line 3773 | Line 3701 | yyreduce:
3701    if (!block_state.name.buf[0])
3702      break;
3703   #ifdef HAVE_LIBCRYPTO
3704 <  if (!(block_state.file.buf[0] ||
3705 <        block_state.rpass.buf[0]))
3704 >  if (!block_state.file.buf[0] &&
3705 >      !block_state.rpass.buf[0])
3706      break;
3707   #else
3708    if (!block_state.rpass.buf[0])
# Line 3795 | Line 3723 | yyreduce:
3723      nuh.hostsize = sizeof(block_state.host.buf);
3724      split_nuh(&nuh);
3725  
3726 <    conf        = conf_make(CONF_OPER);
3727 <    conf->name  = xstrdup(block_state.name.buf);
3728 <    conf->user  = xstrdup(block_state.user.buf);
3729 <    conf->host  = xstrdup(block_state.host.buf);
3726 >    conf         = conf_make(CONF_OPER);
3727 >    conf->name   = xstrdup(block_state.name.buf);
3728 >    conf->user   = xstrdup(block_state.user.buf);
3729 >    conf->host   = xstrdup(block_state.host.buf);
3730 >
3731 >    if (block_state.cert.buf[0])
3732 >      conf->certfp = xstrdup(block_state.cert.buf);
3733  
3734      if (block_state.rpass.buf[0])
3735        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3818 | Line 3749 | yyreduce:
3749  
3750        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3751        {
3752 <        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3752 >        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3753          break;
3754        }
3755  
3756        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3757 <        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3757 >        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3758  
3759        conf->rsa_public_key = pkey;
3760        BIO_set_close(file, BIO_CLOSE);
# Line 3832 | Line 3763 | yyreduce:
3763   #endif /* HAVE_LIBCRYPTO */
3764    }
3765   }
3766 + #line 3767 "conf_parser.c" /* yacc.c:1646  */
3767      break;
3768  
3769 <  case 142:
3770 < /* Line 1792 of yacc.c  */
3839 < #line 984 "conf_parser.y"
3769 >  case 166:
3770 > #line 1152 "conf_parser.y" /* yacc.c:1646  */
3771      {
3772    if (conf_parser_ctx.pass == 2)
3773      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3774   }
3775 + #line 3776 "conf_parser.c" /* yacc.c:1646  */
3776      break;
3777  
3778 <  case 143:
3779 < /* Line 1792 of yacc.c  */
3848 < #line 990 "conf_parser.y"
3778 >  case 167:
3779 > #line 1158 "conf_parser.y" /* yacc.c:1646  */
3780      {
3781    if (conf_parser_ctx.pass == 2)
3782      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3783   }
3784 + #line 3785 "conf_parser.c" /* yacc.c:1646  */
3785      break;
3786  
3787 <  case 144:
3788 < /* Line 1792 of yacc.c  */
3857 < #line 996 "conf_parser.y"
3787 >  case 168:
3788 > #line 1164 "conf_parser.y" /* yacc.c:1646  */
3789      {
3790    if (conf_parser_ctx.pass == 2)
3791      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3792   }
3793 + #line 3794 "conf_parser.c" /* yacc.c:1646  */
3794      break;
3795  
3796 <  case 145:
3797 < /* Line 1792 of yacc.c  */
3866 < #line 1002 "conf_parser.y"
3796 >  case 169:
3797 > #line 1170 "conf_parser.y" /* yacc.c:1646  */
3798      {
3799 <  if (conf_parser_ctx.pass == 2)
3800 <  {
3801 <    if (yylval.number)
3802 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3803 <    else
3804 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3805 <  }
3799 >  if (conf_parser_ctx.pass != 2)
3800 >    break;
3801 >
3802 >  if (yylval.number)
3803 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3804 >  else
3805 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3806   }
3807 + #line 3808 "conf_parser.c" /* yacc.c:1646  */
3808      break;
3809  
3810 <  case 146:
3811 < /* Line 1792 of yacc.c  */
3880 < #line 1013 "conf_parser.y"
3810 >  case 170:
3811 > #line 1181 "conf_parser.y" /* yacc.c:1646  */
3812      {
3813    if (conf_parser_ctx.pass == 2)
3814      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3815   }
3816 + #line 3817 "conf_parser.c" /* yacc.c:1646  */
3817      break;
3818  
3819 <  case 147:
3820 < /* Line 1792 of yacc.c  */
3889 < #line 1019 "conf_parser.y"
3819 >  case 171:
3820 > #line 1187 "conf_parser.y" /* yacc.c:1646  */
3821      {
3822    if (conf_parser_ctx.pass == 2)
3823 <    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3823 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3824   }
3825 + #line 3826 "conf_parser.c" /* yacc.c:1646  */
3826      break;
3827  
3828 <  case 148:
3829 < /* Line 1792 of yacc.c  */
3830 < #line 1025 "conf_parser.y"
3828 >  case 172:
3829 > #line 1193 "conf_parser.y" /* yacc.c:1646  */
3830 >    {
3831 >  if (conf_parser_ctx.pass != 2)
3832 >    break;
3833 >
3834 >  if (yylval.number)
3835 >    block_state.flags.value |= CONF_FLAGS_SSL;
3836 >  else
3837 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3838 > }
3839 > #line 3840 "conf_parser.c" /* yacc.c:1646  */
3840 >    break;
3841 >
3842 >  case 173:
3843 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3844      {
3845    if (conf_parser_ctx.pass == 2)
3846 <    block_state.modes.value = 0;
3846 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3847   }
3848 + #line 3849 "conf_parser.c" /* yacc.c:1646  */
3849      break;
3850  
3851 <  case 152:
3852 < /* Line 1792 of yacc.c  */
3907 < #line 1032 "conf_parser.y"
3851 >  case 174:
3852 > #line 1210 "conf_parser.y" /* yacc.c:1646  */
3853      {
3854    if (conf_parser_ctx.pass == 2)
3855 <    block_state.modes.value |= UMODE_BOTS;
3855 >    block_state.modes.value = 0;
3856   }
3857 + #line 3858 "conf_parser.c" /* yacc.c:1646  */
3858      break;
3859  
3860 <  case 153:
3861 < /* Line 1792 of yacc.c  */
3916 < #line 1036 "conf_parser.y"
3860 >  case 178:
3861 > #line 1217 "conf_parser.y" /* yacc.c:1646  */
3862      {
3863    if (conf_parser_ctx.pass == 2)
3864 <    block_state.modes.value |= UMODE_CCONN;
3864 >    block_state.modes.value |= UMODE_BOTS;
3865   }
3866 + #line 3867 "conf_parser.c" /* yacc.c:1646  */
3867      break;
3868  
3869 <  case 154:
3870 < /* Line 1792 of yacc.c  */
3925 < #line 1040 "conf_parser.y"
3869 >  case 179:
3870 > #line 1221 "conf_parser.y" /* yacc.c:1646  */
3871      {
3872    if (conf_parser_ctx.pass == 2)
3873 <    block_state.modes.value |= UMODE_CCONN_FULL;
3873 >    block_state.modes.value |= UMODE_CCONN;
3874   }
3875 + #line 3876 "conf_parser.c" /* yacc.c:1646  */
3876      break;
3877  
3878 <  case 155:
3879 < /* Line 1792 of yacc.c  */
3934 < #line 1044 "conf_parser.y"
3878 >  case 180:
3879 > #line 1225 "conf_parser.y" /* yacc.c:1646  */
3880      {
3881    if (conf_parser_ctx.pass == 2)
3882      block_state.modes.value |= UMODE_DEAF;
3883   }
3884 + #line 3885 "conf_parser.c" /* yacc.c:1646  */
3885      break;
3886  
3887 <  case 156:
3888 < /* Line 1792 of yacc.c  */
3943 < #line 1048 "conf_parser.y"
3887 >  case 181:
3888 > #line 1229 "conf_parser.y" /* yacc.c:1646  */
3889      {
3890    if (conf_parser_ctx.pass == 2)
3891      block_state.modes.value |= UMODE_DEBUG;
3892   }
3893 + #line 3894 "conf_parser.c" /* yacc.c:1646  */
3894      break;
3895  
3896 <  case 157:
3897 < /* Line 1792 of yacc.c  */
3952 < #line 1052 "conf_parser.y"
3896 >  case 182:
3897 > #line 1233 "conf_parser.y" /* yacc.c:1646  */
3898      {
3899    if (conf_parser_ctx.pass == 2)
3900      block_state.modes.value |= UMODE_FULL;
3901   }
3902 + #line 3903 "conf_parser.c" /* yacc.c:1646  */
3903      break;
3904  
3905 <  case 158:
3906 < /* Line 1792 of yacc.c  */
3961 < #line 1056 "conf_parser.y"
3905 >  case 183:
3906 > #line 1237 "conf_parser.y" /* yacc.c:1646  */
3907      {
3908    if (conf_parser_ctx.pass == 2)
3909      block_state.modes.value |= UMODE_HIDDEN;
3910   }
3911 + #line 3912 "conf_parser.c" /* yacc.c:1646  */
3912 +    break;
3913 +
3914 +  case 184:
3915 + #line 1241 "conf_parser.y" /* yacc.c:1646  */
3916 +    {
3917 +  if (conf_parser_ctx.pass == 2)
3918 +    block_state.modes.value |= UMODE_HIDECHANS;
3919 + }
3920 + #line 3921 "conf_parser.c" /* yacc.c:1646  */
3921      break;
3922  
3923 <  case 159:
3924 < /* Line 1792 of yacc.c  */
3925 < #line 1060 "conf_parser.y"
3923 >  case 185:
3924 > #line 1245 "conf_parser.y" /* yacc.c:1646  */
3925 >    {
3926 >  if (conf_parser_ctx.pass == 2)
3927 >    block_state.modes.value |= UMODE_HIDEIDLE;
3928 > }
3929 > #line 3930 "conf_parser.c" /* yacc.c:1646  */
3930 >    break;
3931 >
3932 >  case 186:
3933 > #line 1249 "conf_parser.y" /* yacc.c:1646  */
3934      {
3935    if (conf_parser_ctx.pass == 2)
3936      block_state.modes.value |= UMODE_SKILL;
3937   }
3938 + #line 3939 "conf_parser.c" /* yacc.c:1646  */
3939      break;
3940  
3941 <  case 160:
3942 < /* Line 1792 of yacc.c  */
3979 < #line 1064 "conf_parser.y"
3941 >  case 187:
3942 > #line 1253 "conf_parser.y" /* yacc.c:1646  */
3943      {
3944    if (conf_parser_ctx.pass == 2)
3945      block_state.modes.value |= UMODE_NCHANGE;
3946   }
3947 + #line 3948 "conf_parser.c" /* yacc.c:1646  */
3948      break;
3949  
3950 <  case 161:
3951 < /* Line 1792 of yacc.c  */
3988 < #line 1068 "conf_parser.y"
3950 >  case 188:
3951 > #line 1257 "conf_parser.y" /* yacc.c:1646  */
3952      {
3953    if (conf_parser_ctx.pass == 2)
3954      block_state.modes.value |= UMODE_REJ;
3955   }
3956 + #line 3957 "conf_parser.c" /* yacc.c:1646  */
3957      break;
3958  
3959 <  case 162:
3960 < /* Line 1792 of yacc.c  */
3997 < #line 1072 "conf_parser.y"
3959 >  case 189:
3960 > #line 1261 "conf_parser.y" /* yacc.c:1646  */
3961      {
3962    if (conf_parser_ctx.pass == 2)
3963      block_state.modes.value |= UMODE_UNAUTH;
3964   }
3965 + #line 3966 "conf_parser.c" /* yacc.c:1646  */
3966      break;
3967  
3968 <  case 163:
3969 < /* Line 1792 of yacc.c  */
4006 < #line 1076 "conf_parser.y"
3968 >  case 190:
3969 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
3970      {
3971    if (conf_parser_ctx.pass == 2)
3972      block_state.modes.value |= UMODE_SPY;
3973   }
3974 + #line 3975 "conf_parser.c" /* yacc.c:1646  */
3975      break;
3976  
3977 <  case 164:
3978 < /* Line 1792 of yacc.c  */
4015 < #line 1080 "conf_parser.y"
3977 >  case 191:
3978 > #line 1269 "conf_parser.y" /* yacc.c:1646  */
3979      {
3980    if (conf_parser_ctx.pass == 2)
3981      block_state.modes.value |= UMODE_EXTERNAL;
3982   }
3983 + #line 3984 "conf_parser.c" /* yacc.c:1646  */
3984      break;
3985  
3986 <  case 165:
3987 < /* Line 1792 of yacc.c  */
4024 < #line 1084 "conf_parser.y"
4025 <    {
4026 <  if (conf_parser_ctx.pass == 2)
4027 <    block_state.modes.value |= UMODE_OPERWALL;
4028 < }
4029 <    break;
4030 <
4031 <  case 166:
4032 < /* Line 1792 of yacc.c  */
4033 < #line 1088 "conf_parser.y"
3986 >  case 192:
3987 > #line 1273 "conf_parser.y" /* yacc.c:1646  */
3988      {
3989    if (conf_parser_ctx.pass == 2)
3990      block_state.modes.value |= UMODE_SERVNOTICE;
3991   }
3992 + #line 3993 "conf_parser.c" /* yacc.c:1646  */
3993      break;
3994  
3995 <  case 167:
3996 < /* Line 1792 of yacc.c  */
4042 < #line 1092 "conf_parser.y"
3995 >  case 193:
3996 > #line 1277 "conf_parser.y" /* yacc.c:1646  */
3997      {
3998    if (conf_parser_ctx.pass == 2)
3999      block_state.modes.value |= UMODE_INVISIBLE;
4000   }
4001 + #line 4002 "conf_parser.c" /* yacc.c:1646  */
4002      break;
4003  
4004 <  case 168:
4005 < /* Line 1792 of yacc.c  */
4051 < #line 1096 "conf_parser.y"
4004 >  case 194:
4005 > #line 1281 "conf_parser.y" /* yacc.c:1646  */
4006      {
4007    if (conf_parser_ctx.pass == 2)
4008      block_state.modes.value |= UMODE_WALLOP;
4009   }
4010 + #line 4011 "conf_parser.c" /* yacc.c:1646  */
4011      break;
4012  
4013 <  case 169:
4014 < /* Line 1792 of yacc.c  */
4060 < #line 1100 "conf_parser.y"
4013 >  case 195:
4014 > #line 1285 "conf_parser.y" /* yacc.c:1646  */
4015      {
4016    if (conf_parser_ctx.pass == 2)
4017      block_state.modes.value |= UMODE_SOFTCALLERID;
4018   }
4019 + #line 4020 "conf_parser.c" /* yacc.c:1646  */
4020      break;
4021  
4022 <  case 170:
4023 < /* Line 1792 of yacc.c  */
4069 < #line 1104 "conf_parser.y"
4022 >  case 196:
4023 > #line 1289 "conf_parser.y" /* yacc.c:1646  */
4024      {
4025    if (conf_parser_ctx.pass == 2)
4026      block_state.modes.value |= UMODE_CALLERID;
4027   }
4028 + #line 4029 "conf_parser.c" /* yacc.c:1646  */
4029      break;
4030  
4031 <  case 171:
4032 < /* Line 1792 of yacc.c  */
4078 < #line 1108 "conf_parser.y"
4031 >  case 197:
4032 > #line 1293 "conf_parser.y" /* yacc.c:1646  */
4033      {
4034    if (conf_parser_ctx.pass == 2)
4035      block_state.modes.value |= UMODE_LOCOPS;
4036   }
4037 + #line 4038 "conf_parser.c" /* yacc.c:1646  */
4038      break;
4039  
4040 <  case 172:
4041 < /* Line 1792 of yacc.c  */
4042 < #line 1114 "conf_parser.y"
4040 >  case 198:
4041 > #line 1297 "conf_parser.y" /* yacc.c:1646  */
4042 >    {
4043 >  if (conf_parser_ctx.pass == 2)
4044 >    block_state.modes.value |= UMODE_REGONLY;
4045 > }
4046 > #line 4047 "conf_parser.c" /* yacc.c:1646  */
4047 >    break;
4048 >
4049 >  case 199:
4050 > #line 1301 "conf_parser.y" /* yacc.c:1646  */
4051 >    {
4052 >  if (conf_parser_ctx.pass == 2)
4053 >    block_state.modes.value |= UMODE_FARCONNECT;
4054 > }
4055 > #line 4056 "conf_parser.c" /* yacc.c:1646  */
4056 >    break;
4057 >
4058 >  case 200:
4059 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4060      {
4061    if (conf_parser_ctx.pass == 2)
4062      block_state.port.value = 0;
4063   }
4064 + #line 4065 "conf_parser.c" /* yacc.c:1646  */
4065      break;
4066  
4067 <  case 176:
4068 < /* Line 1792 of yacc.c  */
4096 < #line 1121 "conf_parser.y"
4067 >  case 204:
4068 > #line 1314 "conf_parser.y" /* yacc.c:1646  */
4069      {
4070    if (conf_parser_ctx.pass == 2)
4071 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4071 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4072   }
4073 + #line 4074 "conf_parser.c" /* yacc.c:1646  */
4074      break;
4075  
4076 <  case 177:
4077 < /* Line 1792 of yacc.c  */
4105 < #line 1125 "conf_parser.y"
4076 >  case 205:
4077 > #line 1318 "conf_parser.y" /* yacc.c:1646  */
4078      {
4079    if (conf_parser_ctx.pass == 2)
4080 <    block_state.port.value |= OPER_FLAG_REMOTE;
4080 >    block_state.port.value |= OPER_FLAG_KILL;
4081   }
4082 + #line 4083 "conf_parser.c" /* yacc.c:1646  */
4083      break;
4084  
4085 <  case 178:
4086 < /* Line 1792 of yacc.c  */
4114 < #line 1129 "conf_parser.y"
4085 >  case 206:
4086 > #line 1322 "conf_parser.y" /* yacc.c:1646  */
4087      {
4088    if (conf_parser_ctx.pass == 2)
4089 <    block_state.port.value |= OPER_FLAG_K;
4089 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4090   }
4091 + #line 4092 "conf_parser.c" /* yacc.c:1646  */
4092      break;
4093  
4094 <  case 179:
4095 < /* Line 1792 of yacc.c  */
4096 < #line 1133 "conf_parser.y"
4094 >  case 207:
4095 > #line 1326 "conf_parser.y" /* yacc.c:1646  */
4096 >    {
4097 >  if (conf_parser_ctx.pass == 2)
4098 >    block_state.port.value |= OPER_FLAG_CONNECT;
4099 > }
4100 > #line 4101 "conf_parser.c" /* yacc.c:1646  */
4101 >    break;
4102 >
4103 >  case 208:
4104 > #line 1330 "conf_parser.y" /* yacc.c:1646  */
4105 >    {
4106 >  if (conf_parser_ctx.pass == 2)
4107 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4108 > }
4109 > #line 4110 "conf_parser.c" /* yacc.c:1646  */
4110 >    break;
4111 >
4112 >  case 209:
4113 > #line 1334 "conf_parser.y" /* yacc.c:1646  */
4114 >    {
4115 >  if (conf_parser_ctx.pass == 2)
4116 >    block_state.port.value |= OPER_FLAG_SQUIT;
4117 > }
4118 > #line 4119 "conf_parser.c" /* yacc.c:1646  */
4119 >    break;
4120 >
4121 >  case 210:
4122 > #line 1338 "conf_parser.y" /* yacc.c:1646  */
4123 >    {
4124 >  if (conf_parser_ctx.pass == 2)
4125 >    block_state.port.value |= OPER_FLAG_KLINE;
4126 > }
4127 > #line 4128 "conf_parser.c" /* yacc.c:1646  */
4128 >    break;
4129 >
4130 >  case 211:
4131 > #line 1342 "conf_parser.y" /* yacc.c:1646  */
4132      {
4133    if (conf_parser_ctx.pass == 2)
4134      block_state.port.value |= OPER_FLAG_UNKLINE;
4135   }
4136 + #line 4137 "conf_parser.c" /* yacc.c:1646  */
4137      break;
4138  
4139 <  case 180:
4140 < /* Line 1792 of yacc.c  */
4132 < #line 1137 "conf_parser.y"
4139 >  case 212:
4140 > #line 1346 "conf_parser.y" /* yacc.c:1646  */
4141      {
4142    if (conf_parser_ctx.pass == 2)
4143      block_state.port.value |= OPER_FLAG_DLINE;
4144   }
4145 + #line 4146 "conf_parser.c" /* yacc.c:1646  */
4146      break;
4147  
4148 <  case 181:
4149 < /* Line 1792 of yacc.c  */
4141 < #line 1141 "conf_parser.y"
4148 >  case 213:
4149 > #line 1350 "conf_parser.y" /* yacc.c:1646  */
4150      {
4151    if (conf_parser_ctx.pass == 2)
4152      block_state.port.value |= OPER_FLAG_UNDLINE;
4153   }
4154 + #line 4155 "conf_parser.c" /* yacc.c:1646  */
4155      break;
4156  
4157 <  case 182:
4158 < /* Line 1792 of yacc.c  */
4150 < #line 1145 "conf_parser.y"
4157 >  case 214:
4158 > #line 1354 "conf_parser.y" /* yacc.c:1646  */
4159      {
4160    if (conf_parser_ctx.pass == 2)
4161 <    block_state.port.value |= OPER_FLAG_X;
4161 >    block_state.port.value |= OPER_FLAG_XLINE;
4162   }
4163 + #line 4164 "conf_parser.c" /* yacc.c:1646  */
4164      break;
4165  
4166 <  case 183:
4167 < /* Line 1792 of yacc.c  */
4159 < #line 1149 "conf_parser.y"
4166 >  case 215:
4167 > #line 1358 "conf_parser.y" /* yacc.c:1646  */
4168      {
4169    if (conf_parser_ctx.pass == 2)
4170 <    block_state.port.value |= OPER_FLAG_GLINE;
4170 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4171   }
4172 + #line 4173 "conf_parser.c" /* yacc.c:1646  */
4173      break;
4174  
4175 <  case 184:
4176 < /* Line 1792 of yacc.c  */
4168 < #line 1153 "conf_parser.y"
4175 >  case 216:
4176 > #line 1362 "conf_parser.y" /* yacc.c:1646  */
4177      {
4178    if (conf_parser_ctx.pass == 2)
4179 <    block_state.port.value |= OPER_FLAG_DIE;
4179 >    block_state.port.value |= OPER_FLAG_GLINE;
4180   }
4181 + #line 4182 "conf_parser.c" /* yacc.c:1646  */
4182      break;
4183  
4184 <  case 185:
4185 < /* Line 1792 of yacc.c  */
4177 < #line 1157 "conf_parser.y"
4184 >  case 217:
4185 > #line 1366 "conf_parser.y" /* yacc.c:1646  */
4186      {
4187    if (conf_parser_ctx.pass == 2)
4188 <    block_state.port.value |= OPER_FLAG_RESTART;
4188 >    block_state.port.value |= OPER_FLAG_DIE;
4189   }
4190 + #line 4191 "conf_parser.c" /* yacc.c:1646  */
4191      break;
4192  
4193 <  case 186:
4194 < /* Line 1792 of yacc.c  */
4186 < #line 1161 "conf_parser.y"
4193 >  case 218:
4194 > #line 1370 "conf_parser.y" /* yacc.c:1646  */
4195      {
4196    if (conf_parser_ctx.pass == 2)
4197 <    block_state.port.value |= OPER_FLAG_REHASH;
4197 >    block_state.port.value |= OPER_FLAG_RESTART;
4198   }
4199 + #line 4200 "conf_parser.c" /* yacc.c:1646  */
4200      break;
4201  
4202 <  case 187:
4203 < /* Line 1792 of yacc.c  */
4195 < #line 1165 "conf_parser.y"
4202 >  case 219:
4203 > #line 1374 "conf_parser.y" /* yacc.c:1646  */
4204      {
4205    if (conf_parser_ctx.pass == 2)
4206 <    block_state.port.value |= OPER_FLAG_ADMIN;
4206 >    block_state.port.value |= OPER_FLAG_REHASH;
4207   }
4208 + #line 4209 "conf_parser.c" /* yacc.c:1646  */
4209      break;
4210  
4211 <  case 188:
4212 < /* Line 1792 of yacc.c  */
4204 < #line 1169 "conf_parser.y"
4211 >  case 220:
4212 > #line 1378 "conf_parser.y" /* yacc.c:1646  */
4213      {
4214    if (conf_parser_ctx.pass == 2)
4215 <    block_state.port.value |= OPER_FLAG_N;
4215 >    block_state.port.value |= OPER_FLAG_ADMIN;
4216   }
4217 + #line 4218 "conf_parser.c" /* yacc.c:1646  */
4218      break;
4219  
4220 <  case 189:
4221 < /* Line 1792 of yacc.c  */
4213 < #line 1173 "conf_parser.y"
4220 >  case 221:
4221 > #line 1382 "conf_parser.y" /* yacc.c:1646  */
4222      {
4223    if (conf_parser_ctx.pass == 2)
4224 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4224 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4225   }
4226 + #line 4227 "conf_parser.c" /* yacc.c:1646  */
4227      break;
4228  
4229 <  case 190:
4230 < /* Line 1792 of yacc.c  */
4222 < #line 1177 "conf_parser.y"
4229 >  case 222:
4230 > #line 1386 "conf_parser.y" /* yacc.c:1646  */
4231      {
4232    if (conf_parser_ctx.pass == 2)
4233 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4233 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4234   }
4235 + #line 4236 "conf_parser.c" /* yacc.c:1646  */
4236      break;
4237  
4238 <  case 191:
4239 < /* Line 1792 of yacc.c  */
4231 < #line 1181 "conf_parser.y"
4238 >  case 223:
4239 > #line 1390 "conf_parser.y" /* yacc.c:1646  */
4240      {
4241    if (conf_parser_ctx.pass == 2)
4242 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4242 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4243   }
4244 + #line 4245 "conf_parser.c" /* yacc.c:1646  */
4245      break;
4246  
4247 <  case 192:
4248 < /* Line 1792 of yacc.c  */
4240 < #line 1185 "conf_parser.y"
4247 >  case 224:
4248 > #line 1394 "conf_parser.y" /* yacc.c:1646  */
4249      {
4250    if (conf_parser_ctx.pass == 2)
4251      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4252   }
4253 + #line 4254 "conf_parser.c" /* yacc.c:1646  */
4254      break;
4255  
4256 <  case 193:
4257 < /* Line 1792 of yacc.c  */
4249 < #line 1189 "conf_parser.y"
4256 >  case 225:
4257 > #line 1398 "conf_parser.y" /* yacc.c:1646  */
4258      {
4259    if (conf_parser_ctx.pass == 2)
4260      block_state.port.value |= OPER_FLAG_SET;
4261   }
4262 + #line 4263 "conf_parser.c" /* yacc.c:1646  */
4263      break;
4264  
4265 <  case 194:
4266 < /* Line 1792 of yacc.c  */
4258 < #line 1193 "conf_parser.y"
4265 >  case 226:
4266 > #line 1402 "conf_parser.y" /* yacc.c:1646  */
4267      {
4268    if (conf_parser_ctx.pass == 2)
4269      block_state.port.value |= OPER_FLAG_MODULE;
4270   }
4271 + #line 4272 "conf_parser.c" /* yacc.c:1646  */
4272      break;
4273  
4274 <  case 195:
4275 < /* Line 1792 of yacc.c  */
4267 < #line 1203 "conf_parser.y"
4274 >  case 227:
4275 > #line 1412 "conf_parser.y" /* yacc.c:1646  */
4276      {
4277    if (conf_parser_ctx.pass != 1)
4278      break;
# Line 4276 | Line 4284 | yyreduce:
4284    block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4285    block_state.max_sendq.value = DEFAULT_SENDQ;
4286    block_state.max_recvq.value = DEFAULT_RECVQ;
4279
4287   }
4288 + #line 4289 "conf_parser.c" /* yacc.c:1646  */
4289      break;
4290  
4291 <  case 196:
4292 < /* Line 1792 of yacc.c  */
4285 < #line 1216 "conf_parser.y"
4291 >  case 228:
4292 > #line 1424 "conf_parser.y" /* yacc.c:1646  */
4293      {
4294    struct ClassItem *class = NULL;
4295  
# Line 4307 | Line 4314 | yyreduce:
4314    class->max_ident = block_state.max_ident.value;
4315    class->max_sendq = block_state.max_sendq.value;
4316    class->max_recvq = block_state.max_recvq.value;
4317 +  class->max_channels = block_state.max_channels.value;
4318 +
4319 +  if (block_state.min_idle.value > block_state.max_idle.value)
4320 +  {
4321 +    block_state.min_idle.value = 0;
4322 +    block_state.max_idle.value = 0;
4323 +    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4324 +  }
4325 +
4326 +  class->flags = block_state.flags.value;
4327 +  class->min_idle = block_state.min_idle.value;
4328 +  class->max_idle = block_state.max_idle.value;
4329  
4330    if (class->number_per_cidr && block_state.number_per_cidr.value)
4331      if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
# Line 4319 | Line 4338 | yyreduce:
4338    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4339    class->number_per_cidr = block_state.number_per_cidr.value;
4340   }
4341 + #line 4342 "conf_parser.c" /* yacc.c:1646  */
4342      break;
4343  
4344 <  case 213:
4345 < /* Line 1792 of yacc.c  */
4326 < #line 1268 "conf_parser.y"
4344 >  case 249:
4345 > #line 1493 "conf_parser.y" /* yacc.c:1646  */
4346      {
4347    if (conf_parser_ctx.pass == 1)
4348      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4349   }
4350 + #line 4351 "conf_parser.c" /* yacc.c:1646  */
4351      break;
4352  
4353 <  case 214:
4354 < /* Line 1792 of yacc.c  */
4335 < #line 1274 "conf_parser.y"
4353 >  case 250:
4354 > #line 1499 "conf_parser.y" /* yacc.c:1646  */
4355      {
4356    if (conf_parser_ctx.pass == 1)
4357 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4357 >    block_state.ping_freq.value = (yyvsp[-1].number);
4358   }
4359 + #line 4360 "conf_parser.c" /* yacc.c:1646  */
4360      break;
4361  
4362 <  case 215:
4363 < /* Line 1792 of yacc.c  */
4344 < #line 1280 "conf_parser.y"
4362 >  case 251:
4363 > #line 1505 "conf_parser.y" /* yacc.c:1646  */
4364      {
4365    if (conf_parser_ctx.pass == 1)
4366 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4366 >    block_state.max_perip.value = (yyvsp[-1].number);
4367   }
4368 + #line 4369 "conf_parser.c" /* yacc.c:1646  */
4369      break;
4370  
4371 <  case 216:
4372 < /* Line 1792 of yacc.c  */
4353 < #line 1286 "conf_parser.y"
4371 >  case 252:
4372 > #line 1511 "conf_parser.y" /* yacc.c:1646  */
4373      {
4374    if (conf_parser_ctx.pass == 1)
4375 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4375 >    block_state.con_freq.value = (yyvsp[-1].number);
4376   }
4377 + #line 4378 "conf_parser.c" /* yacc.c:1646  */
4378      break;
4379  
4380 <  case 217:
4381 < /* Line 1792 of yacc.c  */
4362 < #line 1292 "conf_parser.y"
4380 >  case 253:
4381 > #line 1517 "conf_parser.y" /* yacc.c:1646  */
4382      {
4383    if (conf_parser_ctx.pass == 1)
4384 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4384 >    block_state.max_channels.value = (yyvsp[-1].number);
4385   }
4386 + #line 4387 "conf_parser.c" /* yacc.c:1646  */
4387      break;
4388  
4389 <  case 218:
4390 < /* Line 1792 of yacc.c  */
4371 < #line 1298 "conf_parser.y"
4389 >  case 254:
4390 > #line 1523 "conf_parser.y" /* yacc.c:1646  */
4391      {
4392    if (conf_parser_ctx.pass == 1)
4393 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4393 >    block_state.max_total.value = (yyvsp[-1].number);
4394   }
4395 + #line 4396 "conf_parser.c" /* yacc.c:1646  */
4396      break;
4397  
4398 <  case 219:
4399 < /* Line 1792 of yacc.c  */
4380 < #line 1304 "conf_parser.y"
4398 >  case 255:
4399 > #line 1529 "conf_parser.y" /* yacc.c:1646  */
4400      {
4401    if (conf_parser_ctx.pass == 1)
4402 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4402 >    block_state.max_global.value = (yyvsp[-1].number);
4403   }
4404 + #line 4405 "conf_parser.c" /* yacc.c:1646  */
4405      break;
4406  
4407 <  case 220:
4408 < /* Line 1792 of yacc.c  */
4389 < #line 1310 "conf_parser.y"
4407 >  case 256:
4408 > #line 1535 "conf_parser.y" /* yacc.c:1646  */
4409      {
4410    if (conf_parser_ctx.pass == 1)
4411 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4411 >    block_state.max_local.value = (yyvsp[-1].number);
4412   }
4413 + #line 4414 "conf_parser.c" /* yacc.c:1646  */
4414      break;
4415  
4416 <  case 221:
4417 < /* Line 1792 of yacc.c  */
4398 < #line 1316 "conf_parser.y"
4416 >  case 257:
4417 > #line 1541 "conf_parser.y" /* yacc.c:1646  */
4418      {
4419    if (conf_parser_ctx.pass == 1)
4420 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4420 >    block_state.max_ident.value = (yyvsp[-1].number);
4421   }
4422 + #line 4423 "conf_parser.c" /* yacc.c:1646  */
4423      break;
4424  
4425 <  case 222:
4426 < /* Line 1792 of yacc.c  */
4407 < #line 1322 "conf_parser.y"
4425 >  case 258:
4426 > #line 1547 "conf_parser.y" /* yacc.c:1646  */
4427      {
4428    if (conf_parser_ctx.pass == 1)
4429 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4411 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4429 >    block_state.max_sendq.value = (yyvsp[-1].number);
4430   }
4431 + #line 4432 "conf_parser.c" /* yacc.c:1646  */
4432      break;
4433  
4434 <  case 223:
4435 < /* Line 1792 of yacc.c  */
4417 < #line 1329 "conf_parser.y"
4434 >  case 259:
4435 > #line 1553 "conf_parser.y" /* yacc.c:1646  */
4436      {
4437    if (conf_parser_ctx.pass == 1)
4438 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4438 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4439 >      block_state.max_recvq.value = (yyvsp[-1].number);
4440   }
4441 + #line 4442 "conf_parser.c" /* yacc.c:1646  */
4442      break;
4443  
4444 <  case 224:
4445 < /* Line 1792 of yacc.c  */
4426 < #line 1335 "conf_parser.y"
4444 >  case 260:
4445 > #line 1560 "conf_parser.y" /* yacc.c:1646  */
4446      {
4447    if (conf_parser_ctx.pass == 1)
4448 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4448 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4449   }
4450 + #line 4451 "conf_parser.c" /* yacc.c:1646  */
4451      break;
4452  
4453 <  case 225:
4454 < /* Line 1792 of yacc.c  */
4435 < #line 1341 "conf_parser.y"
4453 >  case 261:
4454 > #line 1566 "conf_parser.y" /* yacc.c:1646  */
4455      {
4456    if (conf_parser_ctx.pass == 1)
4457 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4457 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4458   }
4459 + #line 4460 "conf_parser.c" /* yacc.c:1646  */
4460      break;
4461  
4462 <  case 226:
4463 < /* Line 1792 of yacc.c  */
4464 < #line 1350 "conf_parser.y"
4462 >  case 262:
4463 > #line 1572 "conf_parser.y" /* yacc.c:1646  */
4464 >    {
4465 >  if (conf_parser_ctx.pass == 1)
4466 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4467 > }
4468 > #line 4469 "conf_parser.c" /* yacc.c:1646  */
4469 >    break;
4470 >
4471 >  case 263:
4472 > #line 1578 "conf_parser.y" /* yacc.c:1646  */
4473 >    {
4474 >  if (conf_parser_ctx.pass != 1)
4475 >    break;
4476 >
4477 >  block_state.min_idle.value = (yyvsp[-1].number);
4478 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4479 > }
4480 > #line 4481 "conf_parser.c" /* yacc.c:1646  */
4481 >    break;
4482 >
4483 >  case 264:
4484 > #line 1587 "conf_parser.y" /* yacc.c:1646  */
4485 >    {
4486 >  if (conf_parser_ctx.pass != 1)
4487 >    break;
4488 >
4489 >  block_state.max_idle.value = (yyvsp[-1].number);
4490 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4491 > }
4492 > #line 4493 "conf_parser.c" /* yacc.c:1646  */
4493 >    break;
4494 >
4495 >  case 265:
4496 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4497 >    {
4498 >  if (conf_parser_ctx.pass == 1)
4499 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4500 > }
4501 > #line 4502 "conf_parser.c" /* yacc.c:1646  */
4502 >    break;
4503 >
4504 >  case 269:
4505 > #line 1603 "conf_parser.y" /* yacc.c:1646  */
4506 >    {
4507 >  if (conf_parser_ctx.pass == 1)
4508 >    block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4509 > }
4510 > #line 4511 "conf_parser.c" /* yacc.c:1646  */
4511 >    break;
4512 >
4513 >  case 270:
4514 > #line 1607 "conf_parser.y" /* yacc.c:1646  */
4515 >    {
4516 >  if (conf_parser_ctx.pass == 1)
4517 >    block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4518 > }
4519 > #line 4520 "conf_parser.c" /* yacc.c:1646  */
4520 >    break;
4521 >
4522 >  case 271:
4523 > #line 1617 "conf_parser.y" /* yacc.c:1646  */
4524      {
4525    if (conf_parser_ctx.pass == 2)
4526      reset_block_state();
4527   }
4528 + #line 4529 "conf_parser.c" /* yacc.c:1646  */
4529      break;
4530  
4531 <  case 228:
4532 < /* Line 1792 of yacc.c  */
4453 < #line 1356 "conf_parser.y"
4531 >  case 273:
4532 > #line 1623 "conf_parser.y" /* yacc.c:1646  */
4533      {
4534    block_state.flags.value = 0;
4535   }
4536 + #line 4537 "conf_parser.c" /* yacc.c:1646  */
4537      break;
4538  
4539 <  case 232:
4540 < /* Line 1792 of yacc.c  */
4461 < #line 1362 "conf_parser.y"
4539 >  case 277:
4540 > #line 1629 "conf_parser.y" /* yacc.c:1646  */
4541      {
4542    if (conf_parser_ctx.pass == 2)
4543      block_state.flags.value |= LISTENER_SSL;
4544   }
4545 + #line 4546 "conf_parser.c" /* yacc.c:1646  */
4546      break;
4547  
4548 <  case 233:
4549 < /* Line 1792 of yacc.c  */
4470 < #line 1366 "conf_parser.y"
4548 >  case 278:
4549 > #line 1633 "conf_parser.y" /* yacc.c:1646  */
4550      {
4551    if (conf_parser_ctx.pass == 2)
4552      block_state.flags.value |= LISTENER_HIDDEN;
4553   }
4554 + #line 4555 "conf_parser.c" /* yacc.c:1646  */
4555      break;
4556  
4557 <  case 234:
4558 < /* Line 1792 of yacc.c  */
4479 < #line 1370 "conf_parser.y"
4557 >  case 279:
4558 > #line 1637 "conf_parser.y" /* yacc.c:1646  */
4559      {
4560    if (conf_parser_ctx.pass == 2)
4561     block_state.flags.value |= LISTENER_SERVER;
4562   }
4563 + #line 4564 "conf_parser.c" /* yacc.c:1646  */
4564      break;
4565  
4566 <  case 242:
4567 < /* Line 1792 of yacc.c  */
4488 < #line 1378 "conf_parser.y"
4566 >  case 287:
4567 > #line 1645 "conf_parser.y" /* yacc.c:1646  */
4568      { block_state.flags.value = 0; }
4569 + #line 4570 "conf_parser.c" /* yacc.c:1646  */
4570      break;
4571  
4572 <  case 246:
4573 < /* Line 1792 of yacc.c  */
4494 < #line 1383 "conf_parser.y"
4572 >  case 291:
4573 > #line 1650 "conf_parser.y" /* yacc.c:1646  */
4574      {
4575    if (conf_parser_ctx.pass == 2)
4576    {
# Line 4500 | Line 4579 | yyreduce:
4579        if (!ServerInfo.server_ctx)
4580   #endif
4581        {
4582 <        yyerror("SSL not available - port closed");
4583 <        break;
4582 >        conf_error_report("SSL not available - port closed");
4583 >        break;
4584        }
4585 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4585 >    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4586    }
4587   }
4588 + #line 4589 "conf_parser.c" /* yacc.c:1646  */
4589      break;
4590  
4591 <  case 247:
4592 < /* Line 1792 of yacc.c  */
4513 < #line 1397 "conf_parser.y"
4591 >  case 292:
4592 > #line 1664 "conf_parser.y" /* yacc.c:1646  */
4593      {
4594    if (conf_parser_ctx.pass == 2)
4595    {
4517    int i;
4518
4596      if (block_state.flags.value & LISTENER_SSL)
4597   #ifdef HAVE_LIBCRYPTO
4598        if (!ServerInfo.server_ctx)
4599   #endif
4600        {
4601 <        yyerror("SSL not available - port closed");
4602 <        break;
4601 >        conf_error_report("SSL not available - port closed");
4602 >        break;
4603        }
4604  
4605 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4605 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4606        add_listener(i, block_state.addr.buf, block_state.flags.value);
4607    }
4608   }
4609 + #line 4610 "conf_parser.c" /* yacc.c:1646  */
4610      break;
4611  
4612 <  case 248:
4613 < /* Line 1792 of yacc.c  */
4536 < #line 1417 "conf_parser.y"
4612 >  case 293:
4613 > #line 1682 "conf_parser.y" /* yacc.c:1646  */
4614      {
4615    if (conf_parser_ctx.pass == 2)
4616      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4617   }
4618 + #line 4619 "conf_parser.c" /* yacc.c:1646  */
4619      break;
4620  
4621 <  case 249:
4622 < /* Line 1792 of yacc.c  */
4545 < #line 1423 "conf_parser.y"
4621 >  case 294:
4622 > #line 1688 "conf_parser.y" /* yacc.c:1646  */
4623      {
4624    if (conf_parser_ctx.pass == 2)
4625      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4626   }
4627 + #line 4628 "conf_parser.c" /* yacc.c:1646  */
4628      break;
4629  
4630 <  case 250:
4631 < /* Line 1792 of yacc.c  */
4554 < #line 1432 "conf_parser.y"
4630 >  case 295:
4631 > #line 1697 "conf_parser.y" /* yacc.c:1646  */
4632      {
4633    if (conf_parser_ctx.pass == 2)
4634      reset_block_state();
4635   }
4636 + #line 4637 "conf_parser.c" /* yacc.c:1646  */
4637      break;
4638  
4639 <  case 251:
4640 < /* Line 1792 of yacc.c  */
4563 < #line 1436 "conf_parser.y"
4639 >  case 296:
4640 > #line 1701 "conf_parser.y" /* yacc.c:1646  */
4641      {
4642    dlink_node *ptr = NULL;
4643  
# Line 4582 | Line 4659 | yyreduce:
4659      split_nuh(&nuh);
4660  
4661      conf        = conf_make(CONF_CLIENT);
4662 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4663 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4662 >    conf->user  = xstrdup(block_state.user.buf);
4663 >    conf->host  = xstrdup(block_state.host.buf);
4664  
4665      if (block_state.rpass.buf[0])
4666        conf->passwd = xstrdup(block_state.rpass.buf);
4667      if (block_state.name.buf[0])
4668 <      conf->passwd = xstrdup(block_state.name.buf);
4668 >      conf->name = xstrdup(block_state.name.buf);
4669  
4670      conf->flags = block_state.flags.value;
4671      conf->port  = block_state.port.value;
# Line 4597 | Line 4674 | yyreduce:
4674      add_conf_by_address(CONF_CLIENT, conf);
4675    }
4676   }
4677 + #line 4678 "conf_parser.c" /* yacc.c:1646  */
4678      break;
4679  
4680 <  case 263:
4681 < /* Line 1792 of yacc.c  */
4604 < #line 1479 "conf_parser.y"
4680 >  case 308:
4681 > #line 1750 "conf_parser.y" /* yacc.c:1646  */
4682      {
4683    if (conf_parser_ctx.pass == 2)
4684      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4685   }
4686 + #line 4687 "conf_parser.c" /* yacc.c:1646  */
4687      break;
4688  
4689 <  case 264:
4690 < /* Line 1792 of yacc.c  */
4613 < #line 1485 "conf_parser.y"
4689 >  case 309:
4690 > #line 1756 "conf_parser.y" /* yacc.c:1646  */
4691      {
4692    if (conf_parser_ctx.pass == 2)
4693      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4694   }
4695 + #line 4696 "conf_parser.c" /* yacc.c:1646  */
4696      break;
4697  
4698 <  case 265:
4699 < /* Line 1792 of yacc.c  */
4622 < #line 1491 "conf_parser.y"
4698 >  case 310:
4699 > #line 1762 "conf_parser.y" /* yacc.c:1646  */
4700      {
4701    if (conf_parser_ctx.pass == 2)
4702      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4703   }
4704 + #line 4705 "conf_parser.c" /* yacc.c:1646  */
4705      break;
4706  
4707 <  case 266:
4708 < /* Line 1792 of yacc.c  */
4631 < #line 1497 "conf_parser.y"
4707 >  case 311:
4708 > #line 1768 "conf_parser.y" /* yacc.c:1646  */
4709      {
4710    if (conf_parser_ctx.pass == 2)
4711    {
# Line 4638 | Line 4715 | yyreduce:
4715        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4716    }
4717   }
4718 + #line 4719 "conf_parser.c" /* yacc.c:1646  */
4719      break;
4720  
4721 <  case 267:
4722 < /* Line 1792 of yacc.c  */
4645 < #line 1508 "conf_parser.y"
4721 >  case 312:
4722 > #line 1779 "conf_parser.y" /* yacc.c:1646  */
4723      {
4724    if (conf_parser_ctx.pass == 2)
4725 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4725 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4726   }
4727 + #line 4728 "conf_parser.c" /* yacc.c:1646  */
4728      break;
4729  
4730 <  case 271:
4731 < /* Line 1792 of yacc.c  */
4654 < #line 1515 "conf_parser.y"
4730 >  case 316:
4731 > #line 1786 "conf_parser.y" /* yacc.c:1646  */
4732      {
4733    if (conf_parser_ctx.pass == 2)
4734      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4735   }
4736 + #line 4737 "conf_parser.c" /* yacc.c:1646  */
4737      break;
4738  
4739 <  case 272:
4740 < /* Line 1792 of yacc.c  */
4663 < #line 1519 "conf_parser.y"
4739 >  case 317:
4740 > #line 1790 "conf_parser.y" /* yacc.c:1646  */
4741      {
4742    if (conf_parser_ctx.pass == 2)
4743      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4744   }
4745 + #line 4746 "conf_parser.c" /* yacc.c:1646  */
4746      break;
4747  
4748 <  case 273:
4749 < /* Line 1792 of yacc.c  */
4672 < #line 1523 "conf_parser.y"
4748 >  case 318:
4749 > #line 1794 "conf_parser.y" /* yacc.c:1646  */
4750      {
4751    if (conf_parser_ctx.pass == 2)
4752      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4753   }
4754 + #line 4755 "conf_parser.c" /* yacc.c:1646  */
4755      break;
4756  
4757 <  case 274:
4758 < /* Line 1792 of yacc.c  */
4681 < #line 1527 "conf_parser.y"
4757 >  case 319:
4758 > #line 1798 "conf_parser.y" /* yacc.c:1646  */
4759      {
4760    if (conf_parser_ctx.pass == 2)
4761      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4762   }
4763 + #line 4764 "conf_parser.c" /* yacc.c:1646  */
4764      break;
4765  
4766 <  case 275:
4767 < /* Line 1792 of yacc.c  */
4690 < #line 1531 "conf_parser.y"
4766 >  case 320:
4767 > #line 1802 "conf_parser.y" /* yacc.c:1646  */
4768      {
4769    if (conf_parser_ctx.pass == 2)
4770      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4771   }
4772 + #line 4773 "conf_parser.c" /* yacc.c:1646  */
4773      break;
4774  
4775 <  case 276:
4776 < /* Line 1792 of yacc.c  */
4699 < #line 1535 "conf_parser.y"
4775 >  case 321:
4776 > #line 1806 "conf_parser.y" /* yacc.c:1646  */
4777      {
4778    if (conf_parser_ctx.pass == 2)
4779      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4780   }
4781 + #line 4782 "conf_parser.c" /* yacc.c:1646  */
4782      break;
4783  
4784 <  case 277:
4785 < /* Line 1792 of yacc.c  */
4708 < #line 1539 "conf_parser.y"
4784 >  case 322:
4785 > #line 1810 "conf_parser.y" /* yacc.c:1646  */
4786      {
4787    if (conf_parser_ctx.pass == 2)
4788      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4789   }
4790 + #line 4791 "conf_parser.c" /* yacc.c:1646  */
4791      break;
4792  
4793 <  case 278:
4794 < /* Line 1792 of yacc.c  */
4717 < #line 1543 "conf_parser.y"
4793 >  case 323:
4794 > #line 1814 "conf_parser.y" /* yacc.c:1646  */
4795      {
4796    if (conf_parser_ctx.pass == 2)
4797      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4798   }
4799 + #line 4800 "conf_parser.c" /* yacc.c:1646  */
4800      break;
4801  
4802 <  case 279:
4803 < /* Line 1792 of yacc.c  */
4726 < #line 1547 "conf_parser.y"
4802 >  case 324:
4803 > #line 1818 "conf_parser.y" /* yacc.c:1646  */
4804      {
4805    if (conf_parser_ctx.pass == 2)
4806      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4807   }
4808 + #line 4809 "conf_parser.c" /* yacc.c:1646  */
4809      break;
4810  
4811 <  case 280:
4812 < /* Line 1792 of yacc.c  */
4735 < #line 1551 "conf_parser.y"
4811 >  case 325:
4812 > #line 1822 "conf_parser.y" /* yacc.c:1646  */
4813      {
4814    if (conf_parser_ctx.pass == 2)
4815      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4816   }
4817 + #line 4818 "conf_parser.c" /* yacc.c:1646  */
4818      break;
4819  
4820 <  case 281:
4821 < /* Line 1792 of yacc.c  */
4744 < #line 1557 "conf_parser.y"
4820 >  case 326:
4821 > #line 1828 "conf_parser.y" /* yacc.c:1646  */
4822      {
4823    if (conf_parser_ctx.pass != 2)
4824      break;
4825  
4826 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4826 >  if (valid_hostname(yylval.string))
4827    {
4828      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4829      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 4754 | Line 4831 | yyreduce:
4831    else
4832      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4833   }
4834 + #line 4835 "conf_parser.c" /* yacc.c:1646  */
4835      break;
4836  
4837 <  case 282:
4838 < /* Line 1792 of yacc.c  */
4761 < #line 1571 "conf_parser.y"
4837 >  case 327:
4838 > #line 1842 "conf_parser.y" /* yacc.c:1646  */
4839      {
4840    if (conf_parser_ctx.pass != 2)
4841      break;
# Line 4766 | Line 4843 | yyreduce:
4843    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4844    block_state.flags.value |= CONF_FLAGS_REDIR;
4845   }
4846 + #line 4847 "conf_parser.c" /* yacc.c:1646  */
4847      break;
4848  
4849 <  case 283:
4850 < /* Line 1792 of yacc.c  */
4773 < #line 1580 "conf_parser.y"
4849 >  case 328:
4850 > #line 1851 "conf_parser.y" /* yacc.c:1646  */
4851      {
4852    if (conf_parser_ctx.pass != 2)
4853      break;
4854  
4855    block_state.flags.value |= CONF_FLAGS_REDIR;
4856 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4856 >  block_state.port.value = (yyvsp[-1].number);
4857   }
4858 + #line 4859 "conf_parser.c" /* yacc.c:1646  */
4859      break;
4860  
4861 <  case 284:
4862 < /* Line 1792 of yacc.c  */
4785 < #line 1593 "conf_parser.y"
4861 >  case 329:
4862 > #line 1864 "conf_parser.y" /* yacc.c:1646  */
4863      {
4864    if (conf_parser_ctx.pass != 2)
4865      break;
# Line 4790 | Line 4867 | yyreduce:
4867    reset_block_state();
4868    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4869   }
4870 + #line 4871 "conf_parser.c" /* yacc.c:1646  */
4871      break;
4872  
4873 <  case 292:
4874 < /* Line 1792 of yacc.c  */
4797 < #line 1605 "conf_parser.y"
4873 >  case 330:
4874 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4875      {
4876 <  if (conf_parser_ctx.pass == 2)
4877 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4876 >  if (conf_parser_ctx.pass != 2)
4877 >    break;
4878 >
4879 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4880   }
4881 + #line 4882 "conf_parser.c" /* yacc.c:1646  */
4882      break;
4883  
4884 <  case 293:
4885 < /* Line 1792 of yacc.c  */
4806 < #line 1611 "conf_parser.y"
4884 >  case 337:
4885 > #line 1882 "conf_parser.y" /* yacc.c:1646  */
4886      {
4887 <  if (conf_parser_ctx.pass != 2)
4887 >  if (conf_parser_ctx.pass == 2)
4888 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4889 > }
4890 > #line 4891 "conf_parser.c" /* yacc.c:1646  */
4891      break;
4892  
4893 <  if (IsChanPrefix(*yylval.string))
4894 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
4893 >  case 338:
4894 > #line 1888 "conf_parser.y" /* yacc.c:1646  */
4895 >    {
4896 >  if (conf_parser_ctx.pass == 2)
4897 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4898   }
4899 + #line 4900 "conf_parser.c" /* yacc.c:1646  */
4900      break;
4901  
4902 <  case 294:
4903 < /* Line 1792 of yacc.c  */
4818 < #line 1620 "conf_parser.y"
4902 >  case 339:
4903 > #line 1894 "conf_parser.y" /* yacc.c:1646  */
4904      {
4905    if (conf_parser_ctx.pass == 2)
4906 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
4906 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4907   }
4908 + #line 4909 "conf_parser.c" /* yacc.c:1646  */
4909      break;
4910  
4911 <  case 300:
4912 < /* Line 1792 of yacc.c  */
4827 < #line 1634 "conf_parser.y"
4911 >  case 345:
4912 > #line 1909 "conf_parser.y" /* yacc.c:1646  */
4913      {
4914 <  if (conf_parser_ctx.pass == 2)
4914 >  if (conf_parser_ctx.pass != 2)
4915 >    break;
4916 >
4917 >  if (valid_servname(yylval.string))
4918    {
4919 <    if (valid_servname(yylval.string))
4920 <    {
4833 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
4834 <      conf->name = xstrdup(yylval.string);
4835 <    }
4919 >    struct MaskItem *conf = conf_make(CONF_SERVICE);
4920 >    conf->name = xstrdup(yylval.string);
4921    }
4922   }
4923 + #line 4924 "conf_parser.c" /* yacc.c:1646  */
4924      break;
4925  
4926 <  case 301:
4927 < /* Line 1792 of yacc.c  */
4842 < #line 1649 "conf_parser.y"
4926 >  case 346:
4927 > #line 1924 "conf_parser.y" /* yacc.c:1646  */
4928      {
4929    if (conf_parser_ctx.pass != 2)
4930      break;
# Line 4851 | Line 4936 | yyreduce:
4936    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4937    block_state.flags.value = SHARED_ALL;
4938   }
4939 + #line 4940 "conf_parser.c" /* yacc.c:1646  */
4940      break;
4941  
4942 <  case 302:
4943 < /* Line 1792 of yacc.c  */
4858 < #line 1660 "conf_parser.y"
4942 >  case 347:
4943 > #line 1935 "conf_parser.y" /* yacc.c:1646  */
4944      {
4945    struct MaskItem *conf = NULL;
4946  
# Line 4866 | Line 4951 | yyreduce:
4951    conf->flags = block_state.flags.value;
4952    conf->name = xstrdup(block_state.name.buf);
4953    conf->user = xstrdup(block_state.user.buf);
4954 <  conf->user = xstrdup(block_state.host.buf);
4954 >  conf->host = xstrdup(block_state.host.buf);
4955   }
4956 + #line 4957 "conf_parser.c" /* yacc.c:1646  */
4957      break;
4958  
4959 <  case 309:
4960 < /* Line 1792 of yacc.c  */
4875 < #line 1677 "conf_parser.y"
4959 >  case 354:
4960 > #line 1952 "conf_parser.y" /* yacc.c:1646  */
4961      {
4962    if (conf_parser_ctx.pass == 2)
4963      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4964   }
4965 + #line 4966 "conf_parser.c" /* yacc.c:1646  */
4966      break;
4967  
4968 <  case 310:
4969 < /* Line 1792 of yacc.c  */
4884 < #line 1683 "conf_parser.y"
4968 >  case 355:
4969 > #line 1958 "conf_parser.y" /* yacc.c:1646  */
4970      {
4971    if (conf_parser_ctx.pass == 2)
4972    {
# Line 4899 | Line 4984 | yyreduce:
4984      split_nuh(&nuh);
4985    }
4986   }
4987 + #line 4988 "conf_parser.c" /* yacc.c:1646  */
4988      break;
4989  
4990 <  case 311:
4991 < /* Line 1792 of yacc.c  */
4906 < #line 1702 "conf_parser.y"
4990 >  case 356:
4991 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
4992      {
4993    if (conf_parser_ctx.pass == 2)
4994      block_state.flags.value = 0;
4995   }
4996 + #line 4997 "conf_parser.c" /* yacc.c:1646  */
4997      break;
4998  
4999 <  case 315:
5000 < /* Line 1792 of yacc.c  */
4915 < #line 1709 "conf_parser.y"
4999 >  case 360:
5000 > #line 1984 "conf_parser.y" /* yacc.c:1646  */
5001      {
5002    if (conf_parser_ctx.pass == 2)
5003      block_state.flags.value |= SHARED_KLINE;
5004   }
5005 + #line 5006 "conf_parser.c" /* yacc.c:1646  */
5006      break;
5007  
5008 <  case 316:
5009 < /* Line 1792 of yacc.c  */
4924 < #line 1713 "conf_parser.y"
5008 >  case 361:
5009 > #line 1988 "conf_parser.y" /* yacc.c:1646  */
5010      {
5011    if (conf_parser_ctx.pass == 2)
5012      block_state.flags.value |= SHARED_UNKLINE;
5013   }
5014 + #line 5015 "conf_parser.c" /* yacc.c:1646  */
5015      break;
5016  
5017 <  case 317:
5018 < /* Line 1792 of yacc.c  */
4933 < #line 1717 "conf_parser.y"
5017 >  case 362:
5018 > #line 1992 "conf_parser.y" /* yacc.c:1646  */
5019      {
5020    if (conf_parser_ctx.pass == 2)
5021      block_state.flags.value |= SHARED_DLINE;
5022   }
5023 + #line 5024 "conf_parser.c" /* yacc.c:1646  */
5024      break;
5025  
5026 <  case 318:
5027 < /* Line 1792 of yacc.c  */
4942 < #line 1721 "conf_parser.y"
5026 >  case 363:
5027 > #line 1996 "conf_parser.y" /* yacc.c:1646  */
5028      {
5029    if (conf_parser_ctx.pass == 2)
5030      block_state.flags.value |= SHARED_UNDLINE;
5031   }
5032 + #line 5033 "conf_parser.c" /* yacc.c:1646  */
5033      break;
5034  
5035 <  case 319:
5036 < /* Line 1792 of yacc.c  */
4951 < #line 1725 "conf_parser.y"
5035 >  case 364:
5036 > #line 2000 "conf_parser.y" /* yacc.c:1646  */
5037      {
5038    if (conf_parser_ctx.pass == 2)
5039      block_state.flags.value |= SHARED_XLINE;
5040   }
5041 + #line 5042 "conf_parser.c" /* yacc.c:1646  */
5042      break;
5043  
5044 <  case 320:
5045 < /* Line 1792 of yacc.c  */
4960 < #line 1729 "conf_parser.y"
5044 >  case 365:
5045 > #line 2004 "conf_parser.y" /* yacc.c:1646  */
5046      {
5047    if (conf_parser_ctx.pass == 2)
5048      block_state.flags.value |= SHARED_UNXLINE;
5049   }
5050 + #line 5051 "conf_parser.c" /* yacc.c:1646  */
5051      break;
5052  
5053 <  case 321:
5054 < /* Line 1792 of yacc.c  */
4969 < #line 1733 "conf_parser.y"
5053 >  case 366:
5054 > #line 2008 "conf_parser.y" /* yacc.c:1646  */
5055      {
5056    if (conf_parser_ctx.pass == 2)
5057      block_state.flags.value |= SHARED_RESV;
5058   }
5059 + #line 5060 "conf_parser.c" /* yacc.c:1646  */
5060      break;
5061  
5062 <  case 322:
5063 < /* Line 1792 of yacc.c  */
4978 < #line 1737 "conf_parser.y"
5062 >  case 367:
5063 > #line 2012 "conf_parser.y" /* yacc.c:1646  */
5064      {
5065    if (conf_parser_ctx.pass == 2)
5066      block_state.flags.value |= SHARED_UNRESV;
5067   }
5068 + #line 5069 "conf_parser.c" /* yacc.c:1646  */
5069      break;
5070  
5071 <  case 323:
5072 < /* Line 1792 of yacc.c  */
4987 < #line 1741 "conf_parser.y"
5071 >  case 368:
5072 > #line 2016 "conf_parser.y" /* yacc.c:1646  */
5073      {
5074    if (conf_parser_ctx.pass == 2)
5075      block_state.flags.value |= SHARED_LOCOPS;
5076   }
5077 + #line 5078 "conf_parser.c" /* yacc.c:1646  */
5078      break;
5079  
5080 <  case 324:
5081 < /* Line 1792 of yacc.c  */
4996 < #line 1745 "conf_parser.y"
5080 >  case 369:
5081 > #line 2020 "conf_parser.y" /* yacc.c:1646  */
5082      {
5083    if (conf_parser_ctx.pass == 2)
5084      block_state.flags.value = SHARED_ALL;
5085   }
5086 + #line 5087 "conf_parser.c" /* yacc.c:1646  */
5087      break;
5088  
5089 <  case 325:
5090 < /* Line 1792 of yacc.c  */
5005 < #line 1754 "conf_parser.y"
5089 >  case 370:
5090 > #line 2029 "conf_parser.y" /* yacc.c:1646  */
5091      {
5092    if (conf_parser_ctx.pass != 2)
5093      break;
# Line 5012 | Line 5097 | yyreduce:
5097    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5098    block_state.flags.value = SHARED_ALL;
5099   }
5100 + #line 5101 "conf_parser.c" /* yacc.c:1646  */
5101      break;
5102  
5103 <  case 326:
5104 < /* Line 1792 of yacc.c  */
5019 < #line 1763 "conf_parser.y"
5103 >  case 371:
5104 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5105      {
5106    struct MaskItem *conf = NULL;
5107  
# Line 5027 | Line 5112 | yyreduce:
5112    conf->flags = block_state.flags.value;
5113    conf->name = xstrdup(block_state.name.buf);
5114   }
5115 + #line 5116 "conf_parser.c" /* yacc.c:1646  */
5116      break;
5117  
5118 <  case 332:
5119 < /* Line 1792 of yacc.c  */
5034 < #line 1778 "conf_parser.y"
5118 >  case 377:
5119 > #line 2053 "conf_parser.y" /* yacc.c:1646  */
5120      {
5121    if (conf_parser_ctx.pass == 2)
5122      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5123   }
5124 + #line 5125 "conf_parser.c" /* yacc.c:1646  */
5125      break;
5126  
5127 <  case 333:
5128 < /* Line 1792 of yacc.c  */
5043 < #line 1784 "conf_parser.y"
5127 >  case 378:
5128 > #line 2059 "conf_parser.y" /* yacc.c:1646  */
5129      {
5130    if (conf_parser_ctx.pass == 2)
5131      block_state.flags.value = 0;
5132   }
5133 + #line 5134 "conf_parser.c" /* yacc.c:1646  */
5134      break;
5135  
5136 <  case 337:
5137 < /* Line 1792 of yacc.c  */
5052 < #line 1791 "conf_parser.y"
5136 >  case 382:
5137 > #line 2066 "conf_parser.y" /* yacc.c:1646  */
5138      {
5139    if (conf_parser_ctx.pass == 2)
5140      block_state.flags.value |= SHARED_KLINE;
5141   }
5142 + #line 5143 "conf_parser.c" /* yacc.c:1646  */
5143      break;
5144  
5145 <  case 338:
5146 < /* Line 1792 of yacc.c  */
5061 < #line 1795 "conf_parser.y"
5145 >  case 383:
5146 > #line 2070 "conf_parser.y" /* yacc.c:1646  */
5147      {
5148    if (conf_parser_ctx.pass == 2)
5149      block_state.flags.value |= SHARED_UNKLINE;
5150   }
5151 + #line 5152 "conf_parser.c" /* yacc.c:1646  */
5152      break;
5153  
5154 <  case 339:
5155 < /* Line 1792 of yacc.c  */
5070 < #line 1799 "conf_parser.y"
5154 >  case 384:
5155 > #line 2074 "conf_parser.y" /* yacc.c:1646  */
5156      {
5157    if (conf_parser_ctx.pass == 2)
5158      block_state.flags.value |= SHARED_DLINE;
5159   }
5160 + #line 5161 "conf_parser.c" /* yacc.c:1646  */
5161      break;
5162  
5163 <  case 340:
5164 < /* Line 1792 of yacc.c  */
5079 < #line 1803 "conf_parser.y"
5163 >  case 385:
5164 > #line 2078 "conf_parser.y" /* yacc.c:1646  */
5165      {
5166    if (conf_parser_ctx.pass == 2)
5167      block_state.flags.value |= SHARED_UNDLINE;
5168   }
5169 + #line 5170 "conf_parser.c" /* yacc.c:1646  */
5170      break;
5171  
5172 <  case 341:
5173 < /* Line 1792 of yacc.c  */
5088 < #line 1807 "conf_parser.y"
5172 >  case 386:
5173 > #line 2082 "conf_parser.y" /* yacc.c:1646  */
5174      {
5175    if (conf_parser_ctx.pass == 2)
5176      block_state.flags.value |= SHARED_XLINE;
5177   }
5178 + #line 5179 "conf_parser.c" /* yacc.c:1646  */
5179      break;
5180  
5181 <  case 342:
5182 < /* Line 1792 of yacc.c  */
5097 < #line 1811 "conf_parser.y"
5181 >  case 387:
5182 > #line 2086 "conf_parser.y" /* yacc.c:1646  */
5183      {
5184    if (conf_parser_ctx.pass == 2)
5185      block_state.flags.value |= SHARED_UNXLINE;
5186   }
5187 + #line 5188 "conf_parser.c" /* yacc.c:1646  */
5188      break;
5189  
5190 <  case 343:
5191 < /* Line 1792 of yacc.c  */
5106 < #line 1815 "conf_parser.y"
5190 >  case 388:
5191 > #line 2090 "conf_parser.y" /* yacc.c:1646  */
5192      {
5193    if (conf_parser_ctx.pass == 2)
5194      block_state.flags.value |= SHARED_RESV;
5195   }
5196 + #line 5197 "conf_parser.c" /* yacc.c:1646  */
5197      break;
5198  
5199 <  case 344:
5200 < /* Line 1792 of yacc.c  */
5115 < #line 1819 "conf_parser.y"
5199 >  case 389:
5200 > #line 2094 "conf_parser.y" /* yacc.c:1646  */
5201      {
5202    if (conf_parser_ctx.pass == 2)
5203      block_state.flags.value |= SHARED_UNRESV;
5204   }
5205 + #line 5206 "conf_parser.c" /* yacc.c:1646  */
5206      break;
5207  
5208 <  case 345:
5209 < /* Line 1792 of yacc.c  */
5124 < #line 1823 "conf_parser.y"
5208 >  case 390:
5209 > #line 2098 "conf_parser.y" /* yacc.c:1646  */
5210      {
5211    if (conf_parser_ctx.pass == 2)
5212      block_state.flags.value |= SHARED_LOCOPS;
5213   }
5214 + #line 5215 "conf_parser.c" /* yacc.c:1646  */
5215      break;
5216  
5217 <  case 346:
5218 < /* Line 1792 of yacc.c  */
5133 < #line 1827 "conf_parser.y"
5217 >  case 391:
5218 > #line 2102 "conf_parser.y" /* yacc.c:1646  */
5219      {
5220    if (conf_parser_ctx.pass == 2)
5221      block_state.flags.value = SHARED_ALL;
5222   }
5223 + #line 5224 "conf_parser.c" /* yacc.c:1646  */
5224      break;
5225  
5226 <  case 347:
5227 < /* Line 1792 of yacc.c  */
5142 < #line 1836 "conf_parser.y"
5226 >  case 392:
5227 > #line 2111 "conf_parser.y" /* yacc.c:1646  */
5228      {
5229  
5230    if (conf_parser_ctx.pass != 2)
5231      break;
5232  
5233    reset_block_state();
5234 +  block_state.aftype.value = AF_INET;
5235    block_state.port.value = PORTNUM;
5236   }
5237 + #line 5238 "conf_parser.c" /* yacc.c:1646  */
5238      break;
5239  
5240 <  case 348:
5241 < /* Line 1792 of yacc.c  */
5155 < #line 1844 "conf_parser.y"
5240 >  case 393:
5241 > #line 2120 "conf_parser.y" /* yacc.c:1646  */
5242      {
5243    struct MaskItem *conf = NULL;
5244    struct addrinfo hints, *res;
# Line 5164 | Line 5250 | yyreduce:
5250        !block_state.host.buf[0])
5251      break;
5252  
5253 <  if (!(block_state.rpass.buf[0] ||
5254 <        block_state.spass.buf[0]))
5253 >  if (!block_state.rpass.buf[0] ||
5254 >      !block_state.spass.buf[0])
5255      break;
5256  
5257    if (has_wildcards(block_state.name.buf) ||
# Line 5180 | Line 5266 | yyreduce:
5266    conf->name = xstrdup(block_state.name.buf);
5267    conf->passwd = xstrdup(block_state.rpass.buf);
5268    conf->spasswd = xstrdup(block_state.spass.buf);
5269 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5269 >
5270 >  if (block_state.cert.buf[0])
5271 >    conf->certfp = xstrdup(block_state.cert.buf);
5272 >
5273 >  if (block_state.ciph.buf[0])
5274 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5275  
5276    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5277    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5197 | Line 5288 | yyreduce:
5288        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5289      else
5290      {
5291 <      assert(res != NULL);
5291 >      assert(res);
5292  
5293        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5294        conf->bind.ss.ss_family = res->ai_family;
# Line 5209 | Line 5300 | yyreduce:
5300    conf_add_class_to_conf(conf, block_state.class.buf);
5301    lookup_confhost(conf);
5302   }
5303 + #line 5304 "conf_parser.c" /* yacc.c:1646  */
5304      break;
5305  
5306 <  case 365:
5307 < /* Line 1792 of yacc.c  */
5216 < #line 1910 "conf_parser.y"
5306 >  case 411:
5307 > #line 2200 "conf_parser.y" /* yacc.c:1646  */
5308      {
5309    if (conf_parser_ctx.pass == 2)
5310      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5311   }
5312 + #line 5313 "conf_parser.c" /* yacc.c:1646  */
5313      break;
5314  
5315 <  case 366:
5316 < /* Line 1792 of yacc.c  */
5225 < #line 1916 "conf_parser.y"
5315 >  case 412:
5316 > #line 2206 "conf_parser.y" /* yacc.c:1646  */
5317      {
5318    if (conf_parser_ctx.pass == 2)
5319      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5320   }
5321 + #line 5322 "conf_parser.c" /* yacc.c:1646  */
5322      break;
5323  
5324 <  case 367:
5325 < /* Line 1792 of yacc.c  */
5234 < #line 1922 "conf_parser.y"
5324 >  case 413:
5325 > #line 2212 "conf_parser.y" /* yacc.c:1646  */
5326      {
5327    if (conf_parser_ctx.pass == 2)
5328      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5329   }
5330 + #line 5331 "conf_parser.c" /* yacc.c:1646  */
5331      break;
5332  
5333 <  case 368:
5334 < /* Line 1792 of yacc.c  */
5243 < #line 1928 "conf_parser.y"
5333 >  case 414:
5334 > #line 2218 "conf_parser.y" /* yacc.c:1646  */
5335      {
5336    if (conf_parser_ctx.pass != 2)
5337      break;
5338  
5339 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5340 <    yyerror("Server passwords cannot begin with a colon");
5341 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5342 <    yyerror("Server passwords cannot contain spaces");
5339 >  if ((yyvsp[-1].string)[0] == ':')
5340 >    conf_error_report("Server passwords cannot begin with a colon");
5341 >  else if (strchr((yyvsp[-1].string), ' '))
5342 >    conf_error_report("Server passwords cannot contain spaces");
5343    else
5344      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5345   }
5346 + #line 5347 "conf_parser.c" /* yacc.c:1646  */
5347      break;
5348  
5349 <  case 369:
5350 < /* Line 1792 of yacc.c  */
5259 < #line 1941 "conf_parser.y"
5349 >  case 415:
5350 > #line 2231 "conf_parser.y" /* yacc.c:1646  */
5351      {
5352    if (conf_parser_ctx.pass != 2)
5353      break;
5354  
5355 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5356 <    yyerror("Server passwords cannot begin with a colon");
5357 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5358 <    yyerror("Server passwords cannot contain spaces");
5355 >  if ((yyvsp[-1].string)[0] == ':')
5356 >    conf_error_report("Server passwords cannot begin with a colon");
5357 >  else if (strchr((yyvsp[-1].string), ' '))
5358 >    conf_error_report("Server passwords cannot contain spaces");
5359    else
5360      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5361   }
5362 + #line 5363 "conf_parser.c" /* yacc.c:1646  */
5363      break;
5364  
5365 <  case 370:
5366 < /* Line 1792 of yacc.c  */
5275 < #line 1954 "conf_parser.y"
5365 >  case 416:
5366 > #line 2244 "conf_parser.y" /* yacc.c:1646  */
5367      {
5368    if (conf_parser_ctx.pass == 2)
5369 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5369 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5370   }
5371 + #line 5372 "conf_parser.c" /* yacc.c:1646  */
5372      break;
5373  
5374 <  case 371:
5375 < /* Line 1792 of yacc.c  */
5376 < #line 1960 "conf_parser.y"
5374 >  case 417:
5375 > #line 2250 "conf_parser.y" /* yacc.c:1646  */
5376 >    {
5377 >  if (conf_parser_ctx.pass == 2)
5378 >    block_state.port.value = (yyvsp[-1].number);
5379 > }
5380 > #line 5381 "conf_parser.c" /* yacc.c:1646  */
5381 >    break;
5382 >
5383 >  case 418:
5384 > #line 2256 "conf_parser.y" /* yacc.c:1646  */
5385      {
5386    if (conf_parser_ctx.pass == 2)
5387      block_state.aftype.value = AF_INET;
5388   }
5389 + #line 5390 "conf_parser.c" /* yacc.c:1646  */
5390      break;
5391  
5392 <  case 372:
5393 < /* Line 1792 of yacc.c  */
5293 < #line 1964 "conf_parser.y"
5392 >  case 419:
5393 > #line 2260 "conf_parser.y" /* yacc.c:1646  */
5394      {
5395   #ifdef IPV6
5396    if (conf_parser_ctx.pass == 2)
5397      block_state.aftype.value = AF_INET6;
5398   #endif
5399   }
5400 + #line 5401 "conf_parser.c" /* yacc.c:1646  */
5401      break;
5402  
5403 <  case 373:
5404 < /* Line 1792 of yacc.c  */
5304 < #line 1972 "conf_parser.y"
5403 >  case 420:
5404 > #line 2268 "conf_parser.y" /* yacc.c:1646  */
5405      {
5406    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5407   }
5408 + #line 5409 "conf_parser.c" /* yacc.c:1646  */
5409      break;
5410  
5411 <  case 377:
5412 < /* Line 1792 of yacc.c  */
5312 < #line 1978 "conf_parser.y"
5411 >  case 424:
5412 > #line 2274 "conf_parser.y" /* yacc.c:1646  */
5413      {
5414    if (conf_parser_ctx.pass == 2)
5415      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5416   }
5417 + #line 5418 "conf_parser.c" /* yacc.c:1646  */
5418      break;
5419  
5420 <  case 378:
5421 < /* Line 1792 of yacc.c  */
5321 < #line 1982 "conf_parser.y"
5420 >  case 425:
5421 > #line 2278 "conf_parser.y" /* yacc.c:1646  */
5422      {
5423    if (conf_parser_ctx.pass == 2)
5424      block_state.flags.value |= CONF_FLAGS_SSL;
5425   }
5426 + #line 5427 "conf_parser.c" /* yacc.c:1646  */
5427      break;
5428  
5429 <  case 379:
5430 < /* Line 1792 of yacc.c  */
5330 < #line 1988 "conf_parser.y"
5429 >  case 426:
5430 > #line 2284 "conf_parser.y" /* yacc.c:1646  */
5431      {
5432    if (conf_parser_ctx.pass == 2)
5433    {
# Line 5337 | Line 5437 | yyreduce:
5437        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5438    }
5439   }
5440 + #line 5441 "conf_parser.c" /* yacc.c:1646  */
5441      break;
5442  
5443 <  case 380:
5444 < /* Line 1792 of yacc.c  */
5344 < #line 1999 "conf_parser.y"
5443 >  case 427:
5444 > #line 2295 "conf_parser.y" /* yacc.c:1646  */
5445      {
5446    if (conf_parser_ctx.pass == 2)
5447      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5448   }
5449 + #line 5450 "conf_parser.c" /* yacc.c:1646  */
5450      break;
5451  
5452 <  case 381:
5453 < /* Line 1792 of yacc.c  */
5353 < #line 2005 "conf_parser.y"
5452 >  case 428:
5453 > #line 2301 "conf_parser.y" /* yacc.c:1646  */
5454      {
5455    if (conf_parser_ctx.pass == 2)
5456      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5457   }
5458 + #line 5459 "conf_parser.c" /* yacc.c:1646  */
5459      break;
5460  
5461 <  case 382:
5462 < /* Line 1792 of yacc.c  */
5362 < #line 2011 "conf_parser.y"
5461 >  case 429:
5462 > #line 2307 "conf_parser.y" /* yacc.c:1646  */
5463      {
5464    if (conf_parser_ctx.pass == 2)
5465      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5466   }
5467 + #line 5468 "conf_parser.c" /* yacc.c:1646  */
5468      break;
5469  
5470 <  case 383:
5471 < /* Line 1792 of yacc.c  */
5371 < #line 2017 "conf_parser.y"
5470 >  case 430:
5471 > #line 2313 "conf_parser.y" /* yacc.c:1646  */
5472      {
5473   #ifdef HAVE_LIBCRYPTO
5474    if (conf_parser_ctx.pass == 2)
5475      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5476   #else
5477    if (conf_parser_ctx.pass == 2)
5478 <    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5478 >    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5479   #endif
5480   }
5481 + #line 5482 "conf_parser.c" /* yacc.c:1646  */
5482      break;
5483  
5484 <  case 384:
5485 < /* Line 1792 of yacc.c  */
5385 < #line 2032 "conf_parser.y"
5484 >  case 431:
5485 > #line 2328 "conf_parser.y" /* yacc.c:1646  */
5486      {
5487    if (conf_parser_ctx.pass == 2)
5488      reset_block_state();
5489   }
5490 + #line 5491 "conf_parser.c" /* yacc.c:1646  */
5491      break;
5492  
5493 <  case 385:
5494 < /* Line 1792 of yacc.c  */
5394 < #line 2036 "conf_parser.y"
5493 >  case 432:
5494 > #line 2332 "conf_parser.y" /* yacc.c:1646  */
5495      {
5496    struct MaskItem *conf = NULL;
5497  
# Line 5402 | Line 5502 | yyreduce:
5502        !block_state.host.buf[0])
5503      break;
5504  
5505 +  conf = conf_make(CONF_KLINE);
5506 +  conf->user = xstrdup(block_state.user.buf);
5507 +  conf->host = xstrdup(block_state.host.buf);
5508  
5509 <  if (block_state.port.value == 1)
5510 <  {
5408 < #ifdef HAVE_LIBPCRE
5409 <    void *exp_user = NULL;
5410 <    void *exp_host = NULL;
5411 <    const char *errptr = NULL;
5412 <
5413 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5414 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5415 <    {
5416 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5417 <           errptr);
5418 <      break;
5419 <    }
5420 <
5421 <    conf = conf_make(CONF_RKLINE);
5422 <    conf->regexuser = exp_user;
5423 <    conf->regexhost = exp_host;
5424 <
5425 <    conf->user = xstrdup(block_state.user.buf);
5426 <    conf->host = xstrdup(block_state.host.buf);
5427 <
5428 <    if (block_state.rpass.buf[0])
5429 <      conf->reason = xstrdup(block_state.rpass.buf);
5430 <    else
5431 <      conf->reason = xstrdup(CONF_NOREASON);
5432 < #else
5433 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5434 <    break;
5435 < #endif
5436 <  }
5509 >  if (block_state.rpass.buf[0])
5510 >    conf->reason = xstrdup(block_state.rpass.buf);
5511    else
5512 <  {
5513 <    conf = conf_make(CONF_KLINE);
5440 <
5441 <    conf->user = xstrdup(block_state.user.buf);
5442 <    conf->host = xstrdup(block_state.host.buf);
5443 <
5444 <    if (block_state.rpass.buf[0])
5445 <      conf->reason = xstrdup(block_state.rpass.buf);
5446 <    else
5447 <      conf->reason = xstrdup(CONF_NOREASON);
5448 <    add_conf_by_address(CONF_KLINE, conf);
5449 <  }
5450 < }
5451 <    break;
5452 <
5453 <  case 386:
5454 < /* Line 1792 of yacc.c  */
5455 < #line 2094 "conf_parser.y"
5456 <    {
5457 <  if (conf_parser_ctx.pass == 2)
5458 <    block_state.port.value = 0;
5459 < }
5460 <    break;
5461 <
5462 <  case 390:
5463 < /* Line 1792 of yacc.c  */
5464 < #line 2101 "conf_parser.y"
5465 <    {
5466 <  if (conf_parser_ctx.pass == 2)
5467 <    block_state.port.value = 1;
5512 >    conf->reason = xstrdup(CONF_NOREASON);
5513 >  add_conf_by_address(CONF_KLINE, conf);
5514   }
5515 + #line 5516 "conf_parser.c" /* yacc.c:1646  */
5516      break;
5517  
5518 <  case 397:
5519 < /* Line 1792 of yacc.c  */
5473 < #line 2110 "conf_parser.y"
5518 >  case 438:
5519 > #line 2357 "conf_parser.y" /* yacc.c:1646  */
5520      {
5521  
5522    if (conf_parser_ctx.pass == 2)
# Line 5489 | Line 5535 | yyreduce:
5535      split_nuh(&nuh);
5536    }
5537   }
5538 + #line 5539 "conf_parser.c" /* yacc.c:1646  */
5539      break;
5540  
5541 <  case 398:
5542 < /* Line 1792 of yacc.c  */
5496 < #line 2130 "conf_parser.y"
5541 >  case 439:
5542 > #line 2377 "conf_parser.y" /* yacc.c:1646  */
5543      {
5544    if (conf_parser_ctx.pass == 2)
5545      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5546   }
5547 + #line 5548 "conf_parser.c" /* yacc.c:1646  */
5548      break;
5549  
5550 <  case 399:
5551 < /* Line 1792 of yacc.c  */
5505 < #line 2139 "conf_parser.y"
5550 >  case 440:
5551 > #line 2386 "conf_parser.y" /* yacc.c:1646  */
5552      {
5553    if (conf_parser_ctx.pass == 2)
5554      reset_block_state();
5555   }
5556 + #line 5557 "conf_parser.c" /* yacc.c:1646  */
5557      break;
5558  
5559 <  case 400:
5560 < /* Line 1792 of yacc.c  */
5514 < #line 2143 "conf_parser.y"
5559 >  case 441:
5560 > #line 2390 "conf_parser.y" /* yacc.c:1646  */
5561      {
5562    struct MaskItem *conf = NULL;
5563  
# Line 5533 | Line 5579 | yyreduce:
5579      add_conf_by_address(CONF_DLINE, conf);
5580    }
5581   }
5582 + #line 5583 "conf_parser.c" /* yacc.c:1646  */
5583      break;
5584  
5585 <  case 406:
5586 < /* Line 1792 of yacc.c  */
5540 < #line 2169 "conf_parser.y"
5585 >  case 447:
5586 > #line 2416 "conf_parser.y" /* yacc.c:1646  */
5587      {
5588    if (conf_parser_ctx.pass == 2)
5589      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5590   }
5591 + #line 5592 "conf_parser.c" /* yacc.c:1646  */
5592      break;
5593  
5594 <  case 407:
5595 < /* Line 1792 of yacc.c  */
5549 < #line 2175 "conf_parser.y"
5594 >  case 448:
5595 > #line 2422 "conf_parser.y" /* yacc.c:1646  */
5596      {
5597    if (conf_parser_ctx.pass == 2)
5598      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5599   }
5600 + #line 5601 "conf_parser.c" /* yacc.c:1646  */
5601      break;
5602  
5603 <  case 413:
5604 < /* Line 1792 of yacc.c  */
5558 < #line 2189 "conf_parser.y"
5603 >  case 454:
5604 > #line 2436 "conf_parser.y" /* yacc.c:1646  */
5605      {
5606    if (conf_parser_ctx.pass == 2)
5607    {
# Line 5568 | Line 5614 | yyreduce:
5614      }
5615    }
5616   }
5617 + #line 5618 "conf_parser.c" /* yacc.c:1646  */
5618      break;
5619  
5620 <  case 414:
5621 < /* Line 1792 of yacc.c  */
5575 < #line 2206 "conf_parser.y"
5620 >  case 455:
5621 > #line 2453 "conf_parser.y" /* yacc.c:1646  */
5622      {
5623    if (conf_parser_ctx.pass == 2)
5624      reset_block_state();
5625   }
5626 + #line 5627 "conf_parser.c" /* yacc.c:1646  */
5627      break;
5628  
5629 <  case 415:
5630 < /* Line 1792 of yacc.c  */
5584 < #line 2210 "conf_parser.y"
5629 >  case 456:
5630 > #line 2457 "conf_parser.y" /* yacc.c:1646  */
5631      {
5632    struct MaskItem *conf = NULL;
5633  
# Line 5591 | Line 5637 | yyreduce:
5637    if (!block_state.name.buf[0])
5638      break;
5639  
5640 <  if (block_state.port.value == 1)
5595 <  {
5596 < #ifdef HAVE_LIBPCRE
5597 <    void *exp_p = NULL;
5598 <    const char *errptr = NULL;
5599 <
5600 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5601 <    {
5602 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5603 <           errptr);
5604 <      break;
5605 <    }
5606 <
5607 <    conf = conf_make(CONF_RXLINE);
5608 <    conf->regexuser = exp_p;
5609 < #else
5610 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5611 <    break;
5612 < #endif
5613 <  }
5614 <  else
5615 <    conf = conf_make(CONF_XLINE);
5616 <
5640 >  conf = conf_make(CONF_XLINE);
5641    conf->name = xstrdup(block_state.name.buf);
5642  
5643    if (block_state.rpass.buf[0])
# Line 5621 | Line 5645 | yyreduce:
5645    else
5646      conf->reason = xstrdup(CONF_NOREASON);
5647   }
5648 + #line 5649 "conf_parser.c" /* yacc.c:1646  */
5649      break;
5650  
5651 <  case 416:
5652 < /* Line 1792 of yacc.c  */
5628 < #line 2251 "conf_parser.y"
5651 >  case 462:
5652 > #line 2479 "conf_parser.y" /* yacc.c:1646  */
5653      {
5654    if (conf_parser_ctx.pass == 2)
5655 <    block_state.port.value = 0;
5655 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5656   }
5657 + #line 5658 "conf_parser.c" /* yacc.c:1646  */
5658      break;
5659  
5660 <  case 420:
5661 < /* Line 1792 of yacc.c  */
5637 < #line 2258 "conf_parser.y"
5660 >  case 463:
5661 > #line 2485 "conf_parser.y" /* yacc.c:1646  */
5662      {
5663    if (conf_parser_ctx.pass == 2)
5664 <    block_state.port.value = 1;
5664 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5665   }
5666 + #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669 <  case 427:
5670 < /* Line 1792 of yacc.c  */
5646 < #line 2267 "conf_parser.y"
5669 >  case 518:
5670 > #line 2551 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672 <  if (conf_parser_ctx.pass == 2)
5649 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5672 >  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5673   }
5674 + #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677 <  case 428:
5678 < /* Line 1792 of yacc.c  */
5655 < #line 2273 "conf_parser.y"
5677 >  case 519:
5678 > #line 2556 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680    if (conf_parser_ctx.pass == 2)
5681 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5681 >    ConfigFileEntry.cycle_on_host_change = yylval.number;
5682   }
5683 + #line 5684 "conf_parser.c" /* yacc.c:1646  */
5684      break;
5685  
5686 <  case 482:
5687 < /* Line 1792 of yacc.c  */
5664 < #line 2318 "conf_parser.y"
5665 <    {
5666 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5667 < }
5668 <    break;
5669 <
5670 <  case 483:
5671 < /* Line 1792 of yacc.c  */
5672 < #line 2323 "conf_parser.y"
5686 >  case 520:
5687 > #line 2562 "conf_parser.y" /* yacc.c:1646  */
5688      {
5689    if (conf_parser_ctx.pass == 2)
5690      ConfigFileEntry.glines = yylval.number;
5691   }
5692 + #line 5693 "conf_parser.c" /* yacc.c:1646  */
5693      break;
5694  
5695 <  case 484:
5696 < /* Line 1792 of yacc.c  */
5681 < #line 2329 "conf_parser.y"
5695 >  case 521:
5696 > #line 2568 "conf_parser.y" /* yacc.c:1646  */
5697      {
5698    if (conf_parser_ctx.pass == 2)
5699 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5699 >    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5700   }
5701 + #line 5702 "conf_parser.c" /* yacc.c:1646  */
5702      break;
5703  
5704 <  case 485:
5705 < /* Line 1792 of yacc.c  */
5690 < #line 2335 "conf_parser.y"
5704 >  case 522:
5705 > #line 2574 "conf_parser.y" /* yacc.c:1646  */
5706      {
5707    if (conf_parser_ctx.pass == 2)
5708 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5708 >    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5709   }
5710 + #line 5711 "conf_parser.c" /* yacc.c:1646  */
5711      break;
5712  
5713 <  case 486:
5714 < /* Line 1792 of yacc.c  */
5699 < #line 2341 "conf_parser.y"
5713 >  case 523:
5714 > #line 2580 "conf_parser.y" /* yacc.c:1646  */
5715      {
5716 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5716 >  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5717   }
5718 + #line 5719 "conf_parser.c" /* yacc.c:1646  */
5719      break;
5720  
5721 <  case 487:
5722 < /* Line 1792 of yacc.c  */
5707 < #line 2346 "conf_parser.y"
5721 >  case 524:
5722 > #line 2585 "conf_parser.y" /* yacc.c:1646  */
5723      {
5724 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5724 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5725   }
5726 + #line 5727 "conf_parser.c" /* yacc.c:1646  */
5727      break;
5728  
5729 <  case 488:
5730 < /* Line 1792 of yacc.c  */
5715 < #line 2351 "conf_parser.y"
5729 >  case 525:
5730 > #line 2590 "conf_parser.y" /* yacc.c:1646  */
5731      {
5732    ConfigFileEntry.tkline_expire_notices = yylval.number;
5733   }
5734 + #line 5735 "conf_parser.c" /* yacc.c:1646  */
5735      break;
5736  
5737 <  case 489:
5738 < /* Line 1792 of yacc.c  */
5723 < #line 2356 "conf_parser.y"
5737 >  case 526:
5738 > #line 2595 "conf_parser.y" /* yacc.c:1646  */
5739      {
5740 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5740 >  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5741   }
5742 + #line 5743 "conf_parser.c" /* yacc.c:1646  */
5743      break;
5744  
5745 <  case 490:
5746 < /* Line 1792 of yacc.c  */
5731 < #line 2361 "conf_parser.y"
5745 >  case 527:
5746 > #line 2600 "conf_parser.y" /* yacc.c:1646  */
5747      {
5748    ConfigFileEntry.hide_spoof_ips = yylval.number;
5749   }
5750 + #line 5751 "conf_parser.c" /* yacc.c:1646  */
5751      break;
5752  
5753 <  case 491:
5754 < /* Line 1792 of yacc.c  */
5739 < #line 2366 "conf_parser.y"
5753 >  case 528:
5754 > #line 2605 "conf_parser.y" /* yacc.c:1646  */
5755      {
5756    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5757   }
5758 + #line 5759 "conf_parser.c" /* yacc.c:1646  */
5759      break;
5760  
5761 <  case 492:
5762 < /* Line 1792 of yacc.c  */
5747 < #line 2371 "conf_parser.y"
5748 <    {
5749 <  ConfigFileEntry.disable_remote = yylval.number;
5750 < }
5751 <    break;
5752 <
5753 <  case 493:
5754 < /* Line 1792 of yacc.c  */
5755 < #line 2376 "conf_parser.y"
5761 >  case 529:
5762 > #line 2610 "conf_parser.y" /* yacc.c:1646  */
5763      {
5764    ConfigFileEntry.failed_oper_notice = yylval.number;
5765   }
5766 + #line 5767 "conf_parser.c" /* yacc.c:1646  */
5767      break;
5768  
5769 <  case 494:
5770 < /* Line 1792 of yacc.c  */
5763 < #line 2381 "conf_parser.y"
5769 >  case 530:
5770 > #line 2615 "conf_parser.y" /* yacc.c:1646  */
5771      {
5772    ConfigFileEntry.anti_nick_flood = yylval.number;
5773   }
5774 + #line 5775 "conf_parser.c" /* yacc.c:1646  */
5775      break;
5776  
5777 <  case 495:
5778 < /* Line 1792 of yacc.c  */
5771 < #line 2386 "conf_parser.y"
5777 >  case 531:
5778 > #line 2620 "conf_parser.y" /* yacc.c:1646  */
5779      {
5780 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5780 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5781   }
5782 + #line 5783 "conf_parser.c" /* yacc.c:1646  */
5783      break;
5784  
5785 <  case 496:
5786 < /* Line 1792 of yacc.c  */
5779 < #line 2391 "conf_parser.y"
5785 >  case 532:
5786 > #line 2625 "conf_parser.y" /* yacc.c:1646  */
5787      {
5788 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5788 >  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5789   }
5790 + #line 5791 "conf_parser.c" /* yacc.c:1646  */
5791      break;
5792  
5793 <  case 497:
5794 < /* Line 1792 of yacc.c  */
5787 < #line 2396 "conf_parser.y"
5793 >  case 533:
5794 > #line 2630 "conf_parser.y" /* yacc.c:1646  */
5795      {
5796 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5796 >  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5797   }
5798 + #line 5799 "conf_parser.c" /* yacc.c:1646  */
5799      break;
5800  
5801 <  case 498:
5802 < /* Line 1792 of yacc.c  */
5795 < #line 2401 "conf_parser.y"
5801 >  case 534:
5802 > #line 2635 "conf_parser.y" /* yacc.c:1646  */
5803      {
5804 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5804 >  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5805   }
5806 + #line 5807 "conf_parser.c" /* yacc.c:1646  */
5807      break;
5808  
5809 <  case 499:
5810 < /* Line 1792 of yacc.c  */
5803 < #line 2406 "conf_parser.y"
5809 >  case 535:
5810 > #line 2640 "conf_parser.y" /* yacc.c:1646  */
5811      {
5812 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5812 >  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5813   }
5814 + #line 5815 "conf_parser.c" /* yacc.c:1646  */
5815      break;
5816  
5817 <  case 500:
5818 < /* Line 1792 of yacc.c  */
5811 < #line 2411 "conf_parser.y"
5817 >  case 536:
5818 > #line 2645 "conf_parser.y" /* yacc.c:1646  */
5819      {
5820    if (conf_parser_ctx.pass == 2)
5821 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5821 >    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5822   }
5823 + #line 5824 "conf_parser.c" /* yacc.c:1646  */
5824      break;
5825  
5826 <  case 501:
5827 < /* Line 1792 of yacc.c  */
5820 < #line 2417 "conf_parser.y"
5826 >  case 537:
5827 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5828      {
5829 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5829 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5830    {
5831      ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5832      ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
# Line 5827 | Line 5834 | yyreduce:
5834      exit(0);
5835    }
5836   }
5837 + #line 5838 "conf_parser.c" /* yacc.c:1646  */
5838      break;
5839  
5840 <  case 502:
5841 < /* Line 1792 of yacc.c  */
5834 < #line 2428 "conf_parser.y"
5840 >  case 538:
5841 > #line 2662 "conf_parser.y" /* yacc.c:1646  */
5842      {
5843    ConfigFileEntry.invisible_on_connect = yylval.number;
5844   }
5845 + #line 5846 "conf_parser.c" /* yacc.c:1646  */
5846      break;
5847  
5848 <  case 503:
5849 < /* Line 1792 of yacc.c  */
5842 < #line 2433 "conf_parser.y"
5848 >  case 539:
5849 > #line 2667 "conf_parser.y" /* yacc.c:1646  */
5850      {
5851 <  ConfigFileEntry.warn_no_nline = yylval.number;
5851 >  ConfigFileEntry.warn_no_connect_block = yylval.number;
5852   }
5853 + #line 5854 "conf_parser.c" /* yacc.c:1646  */
5854      break;
5855  
5856 <  case 504:
5857 < /* Line 1792 of yacc.c  */
5850 < #line 2438 "conf_parser.y"
5856 >  case 540:
5857 > #line 2672 "conf_parser.y" /* yacc.c:1646  */
5858      {
5859    ConfigFileEntry.stats_e_disabled = yylval.number;
5860   }
5861 + #line 5862 "conf_parser.c" /* yacc.c:1646  */
5862      break;
5863  
5864 <  case 505:
5865 < /* Line 1792 of yacc.c  */
5858 < #line 2443 "conf_parser.y"
5864 >  case 541:
5865 > #line 2677 "conf_parser.y" /* yacc.c:1646  */
5866      {
5867    ConfigFileEntry.stats_o_oper_only = yylval.number;
5868   }
5869 + #line 5870 "conf_parser.c" /* yacc.c:1646  */
5870      break;
5871  
5872 <  case 506:
5873 < /* Line 1792 of yacc.c  */
5866 < #line 2448 "conf_parser.y"
5872 >  case 542:
5873 > #line 2682 "conf_parser.y" /* yacc.c:1646  */
5874      {
5875    ConfigFileEntry.stats_P_oper_only = yylval.number;
5876   }
5877 + #line 5878 "conf_parser.c" /* yacc.c:1646  */
5878      break;
5879  
5880 <  case 507:
5881 < /* Line 1792 of yacc.c  */
5882 < #line 2453 "conf_parser.y"
5880 >  case 543:
5881 > #line 2687 "conf_parser.y" /* yacc.c:1646  */
5882 >    {
5883 >  ConfigFileEntry.stats_u_oper_only = yylval.number;
5884 > }
5885 > #line 5886 "conf_parser.c" /* yacc.c:1646  */
5886 >    break;
5887 >
5888 >  case 544:
5889 > #line 2692 "conf_parser.y" /* yacc.c:1646  */
5890      {
5891    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5892   }
5893 + #line 5894 "conf_parser.c" /* yacc.c:1646  */
5894      break;
5895  
5896 <  case 508:
5897 < /* Line 1792 of yacc.c  */
5882 < #line 2456 "conf_parser.y"
5896 >  case 545:
5897 > #line 2695 "conf_parser.y" /* yacc.c:1646  */
5898      {
5899    ConfigFileEntry.stats_k_oper_only = 1;
5900   }
5901 + #line 5902 "conf_parser.c" /* yacc.c:1646  */
5902      break;
5903  
5904 <  case 509:
5905 < /* Line 1792 of yacc.c  */
5890 < #line 2461 "conf_parser.y"
5904 >  case 546:
5905 > #line 2700 "conf_parser.y" /* yacc.c:1646  */
5906      {
5907    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5908   }
5909 + #line 5910 "conf_parser.c" /* yacc.c:1646  */
5910      break;
5911  
5912 <  case 510:
5913 < /* Line 1792 of yacc.c  */
5898 < #line 2464 "conf_parser.y"
5912 >  case 547:
5913 > #line 2703 "conf_parser.y" /* yacc.c:1646  */
5914      {
5915    ConfigFileEntry.stats_i_oper_only = 1;
5916   }
5917 + #line 5918 "conf_parser.c" /* yacc.c:1646  */
5918      break;
5919  
5920 <  case 511:
5921 < /* Line 1792 of yacc.c  */
5906 < #line 2469 "conf_parser.y"
5920 >  case 548:
5921 > #line 2708 "conf_parser.y" /* yacc.c:1646  */
5922      {
5923 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5923 >  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5924   }
5925 + #line 5926 "conf_parser.c" /* yacc.c:1646  */
5926      break;
5927  
5928 <  case 512:
5929 < /* Line 1792 of yacc.c  */
5914 < #line 2474 "conf_parser.y"
5928 >  case 549:
5929 > #line 2713 "conf_parser.y" /* yacc.c:1646  */
5930      {
5931 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5931 >  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5932   }
5933 + #line 5934 "conf_parser.c" /* yacc.c:1646  */
5934      break;
5935  
5936 <  case 513:
5937 < /* Line 1792 of yacc.c  */
5922 < #line 2479 "conf_parser.y"
5936 >  case 550:
5937 > #line 2718 "conf_parser.y" /* yacc.c:1646  */
5938      {
5939    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5940   }
5941 + #line 5942 "conf_parser.c" /* yacc.c:1646  */
5942      break;
5943  
5944 <  case 514:
5945 < /* Line 1792 of yacc.c  */
5930 < #line 2484 "conf_parser.y"
5944 >  case 551:
5945 > #line 2723 "conf_parser.y" /* yacc.c:1646  */
5946      {
5947 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5947 >  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5948   }
5949 + #line 5950 "conf_parser.c" /* yacc.c:1646  */
5950      break;
5951  
5952 <  case 515:
5953 < /* Line 1792 of yacc.c  */
5938 < #line 2489 "conf_parser.y"
5952 >  case 552:
5953 > #line 2728 "conf_parser.y" /* yacc.c:1646  */
5954      {
5955    ConfigFileEntry.short_motd = yylval.number;
5956   }
5957 + #line 5958 "conf_parser.c" /* yacc.c:1646  */
5958      break;
5959  
5960 <  case 516:
5961 < /* Line 1792 of yacc.c  */
5946 < #line 2494 "conf_parser.y"
5960 >  case 553:
5961 > #line 2733 "conf_parser.y" /* yacc.c:1646  */
5962      {
5963    ConfigFileEntry.no_oper_flood = yylval.number;
5964   }
5965 + #line 5966 "conf_parser.c" /* yacc.c:1646  */
5966      break;
5967  
5968 <  case 517:
5969 < /* Line 1792 of yacc.c  */
5954 < #line 2499 "conf_parser.y"
5968 >  case 554:
5969 > #line 2738 "conf_parser.y" /* yacc.c:1646  */
5970      {
5971    ConfigFileEntry.true_no_oper_flood = yylval.number;
5972   }
5973 + #line 5974 "conf_parser.c" /* yacc.c:1646  */
5974      break;
5975  
5976 <  case 518:
5977 < /* Line 1792 of yacc.c  */
5962 < #line 2504 "conf_parser.y"
5976 >  case 555:
5977 > #line 2743 "conf_parser.y" /* yacc.c:1646  */
5978      {
5979    ConfigFileEntry.oper_pass_resv = yylval.number;
5980   }
5981 + #line 5982 "conf_parser.c" /* yacc.c:1646  */
5982      break;
5983  
5984 <  case 519:
5985 < /* Line 1792 of yacc.c  */
5970 < #line 2509 "conf_parser.y"
5971 <    {
5972 <  if (conf_parser_ctx.pass == 2)
5973 <  {
5974 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
5975 <      yylval.string[LOCALE_LENGTH-1] = '\0';
5976 <
5977 <    set_locale(yylval.string);
5978 <  }
5979 < }
5980 <    break;
5981 <
5982 <  case 520:
5983 < /* Line 1792 of yacc.c  */
5984 < #line 2520 "conf_parser.y"
5984 >  case 556:
5985 > #line 2748 "conf_parser.y" /* yacc.c:1646  */
5986      {
5987 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5987 >  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5988   }
5989 + #line 5990 "conf_parser.c" /* yacc.c:1646  */
5990      break;
5991  
5992 <  case 521:
5993 < /* Line 1792 of yacc.c  */
5992 < #line 2525 "conf_parser.y"
5992 >  case 557:
5993 > #line 2753 "conf_parser.y" /* yacc.c:1646  */
5994      {
5995 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5995 >  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5996   }
5997 + #line 5998 "conf_parser.c" /* yacc.c:1646  */
5998      break;
5999  
6000 <  case 522:
6001 < /* Line 1792 of yacc.c  */
6000 < #line 2530 "conf_parser.y"
6000 >  case 558:
6001 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6002      {
6003    ConfigFileEntry.use_egd = yylval.number;
6004   }
6005 + #line 6006 "conf_parser.c" /* yacc.c:1646  */
6006      break;
6007  
6008 <  case 523:
6009 < /* Line 1792 of yacc.c  */
6008 < #line 2535 "conf_parser.y"
6008 >  case 559:
6009 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
6010      {
6011    if (conf_parser_ctx.pass == 2)
6012    {
# Line 6013 | Line 6014 | yyreduce:
6014      ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6015    }
6016   }
6017 + #line 6018 "conf_parser.c" /* yacc.c:1646  */
6018      break;
6019  
6020 <  case 524:
6021 < /* Line 1792 of yacc.c  */
6020 < #line 2544 "conf_parser.y"
6020 >  case 560:
6021 > #line 2772 "conf_parser.y" /* yacc.c:1646  */
6022      {
6023    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6024    {
# Line 6025 | Line 6026 | yyreduce:
6026      ConfigFileEntry.service_name = xstrdup(yylval.string);
6027    }
6028   }
6029 + #line 6030 "conf_parser.c" /* yacc.c:1646  */
6030      break;
6031  
6032 <  case 525:
6033 < /* Line 1792 of yacc.c  */
6032 < #line 2553 "conf_parser.y"
6032 >  case 561:
6033 > #line 2781 "conf_parser.y" /* yacc.c:1646  */
6034      {
6035    ConfigFileEntry.ping_cookie = yylval.number;
6036   }
6037 + #line 6038 "conf_parser.c" /* yacc.c:1646  */
6038      break;
6039  
6040 <  case 526:
6041 < /* Line 1792 of yacc.c  */
6040 < #line 2558 "conf_parser.y"
6040 >  case 562:
6041 > #line 2786 "conf_parser.y" /* yacc.c:1646  */
6042      {
6043    ConfigFileEntry.disable_auth = yylval.number;
6044   }
6045 + #line 6046 "conf_parser.c" /* yacc.c:1646  */
6046      break;
6047  
6048 <  case 527:
6049 < /* Line 1792 of yacc.c  */
6048 < #line 2563 "conf_parser.y"
6048 >  case 563:
6049 > #line 2791 "conf_parser.y" /* yacc.c:1646  */
6050      {
6051 <  ConfigFileEntry.throttle_time = yylval.number;
6051 >  ConfigFileEntry.throttle_count = (yyvsp[-1].number);
6052   }
6053 + #line 6054 "conf_parser.c" /* yacc.c:1646  */
6054      break;
6055  
6056 <  case 528:
6057 < /* Line 1792 of yacc.c  */
6056 < #line 2568 "conf_parser.y"
6056 >  case 564:
6057 > #line 2796 "conf_parser.y" /* yacc.c:1646  */
6058      {
6059 <  ConfigFileEntry.oper_umodes = 0;
6059 >  ConfigFileEntry.throttle_time = (yyvsp[-1].number);
6060   }
6061 + #line 6062 "conf_parser.c" /* yacc.c:1646  */
6062      break;
6063  
6064 <  case 532:
6065 < /* Line 1792 of yacc.c  */
6064 < #line 2574 "conf_parser.y"
6064 >  case 565:
6065 > #line 2801 "conf_parser.y" /* yacc.c:1646  */
6066      {
6067 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6067 >  ConfigFileEntry.oper_umodes = 0;
6068   }
6069 + #line 6070 "conf_parser.c" /* yacc.c:1646  */
6070      break;
6071  
6072 <  case 533:
6073 < /* Line 1792 of yacc.c  */
6072 < #line 2577 "conf_parser.y"
6072 >  case 569:
6073 > #line 2807 "conf_parser.y" /* yacc.c:1646  */
6074      {
6075 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6075 >  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6076   }
6077 + #line 6078 "conf_parser.c" /* yacc.c:1646  */
6078      break;
6079  
6080 <  case 534:
6081 < /* Line 1792 of yacc.c  */
6080 < #line 2580 "conf_parser.y"
6080 >  case 570:
6081 > #line 2810 "conf_parser.y" /* yacc.c:1646  */
6082      {
6083 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6083 >  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6084   }
6085 + #line 6086 "conf_parser.c" /* yacc.c:1646  */
6086      break;
6087  
6088 <  case 535:
6089 < /* Line 1792 of yacc.c  */
6088 < #line 2583 "conf_parser.y"
6088 >  case 571:
6089 > #line 2813 "conf_parser.y" /* yacc.c:1646  */
6090      {
6091    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6092   }
6093 + #line 6094 "conf_parser.c" /* yacc.c:1646  */
6094      break;
6095  
6096 <  case 536:
6097 < /* Line 1792 of yacc.c  */
6096 < #line 2586 "conf_parser.y"
6096 >  case 572:
6097 > #line 2816 "conf_parser.y" /* yacc.c:1646  */
6098      {
6099    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6100   }
6101 + #line 6102 "conf_parser.c" /* yacc.c:1646  */
6102      break;
6103  
6104 <  case 537:
6105 < /* Line 1792 of yacc.c  */
6104 < #line 2589 "conf_parser.y"
6104 >  case 573:
6105 > #line 2819 "conf_parser.y" /* yacc.c:1646  */
6106      {
6107    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6108   }
6109 + #line 6110 "conf_parser.c" /* yacc.c:1646  */
6110      break;
6111  
6112 <  case 538:
6113 < /* Line 1792 of yacc.c  */
6112 < #line 2592 "conf_parser.y"
6112 >  case 574:
6113 > #line 2822 "conf_parser.y" /* yacc.c:1646  */
6114      {
6115    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6116   }
6117 + #line 6118 "conf_parser.c" /* yacc.c:1646  */
6118      break;
6119  
6120 <  case 539:
6121 < /* Line 1792 of yacc.c  */
6122 < #line 2595 "conf_parser.y"
6120 >  case 575:
6121 > #line 2825 "conf_parser.y" /* yacc.c:1646  */
6122 >    {
6123 >  ConfigFileEntry.oper_umodes |= UMODE_HIDECHANS;
6124 > }
6125 > #line 6126 "conf_parser.c" /* yacc.c:1646  */
6126 >    break;
6127 >
6128 >  case 576:
6129 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6130 >    {
6131 >  ConfigFileEntry.oper_umodes |= UMODE_HIDEIDLE;
6132 > }
6133 > #line 6134 "conf_parser.c" /* yacc.c:1646  */
6134 >    break;
6135 >
6136 >  case 577:
6137 > #line 2831 "conf_parser.y" /* yacc.c:1646  */
6138      {
6139    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6140   }
6141 + #line 6142 "conf_parser.c" /* yacc.c:1646  */
6142      break;
6143  
6144 <  case 540:
6145 < /* Line 1792 of yacc.c  */
6128 < #line 2598 "conf_parser.y"
6144 >  case 578:
6145 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6146      {
6147    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6148   }
6149 + #line 6150 "conf_parser.c" /* yacc.c:1646  */
6150      break;
6151  
6152 <  case 541:
6153 < /* Line 1792 of yacc.c  */
6136 < #line 2601 "conf_parser.y"
6152 >  case 579:
6153 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6154      {
6155    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6156   }
6157 + #line 6158 "conf_parser.c" /* yacc.c:1646  */
6158      break;
6159  
6160 <  case 542:
6161 < /* Line 1792 of yacc.c  */
6144 < #line 2604 "conf_parser.y"
6160 >  case 580:
6161 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6162      {
6163    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6164   }
6165 + #line 6166 "conf_parser.c" /* yacc.c:1646  */
6166      break;
6167  
6168 <  case 543:
6169 < /* Line 1792 of yacc.c  */
6152 < #line 2607 "conf_parser.y"
6168 >  case 581:
6169 > #line 2843 "conf_parser.y" /* yacc.c:1646  */
6170      {
6171    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6172   }
6173 + #line 6174 "conf_parser.c" /* yacc.c:1646  */
6174      break;
6175  
6176 <  case 544:
6177 < /* Line 1792 of yacc.c  */
6160 < #line 2610 "conf_parser.y"
6176 >  case 582:
6177 > #line 2846 "conf_parser.y" /* yacc.c:1646  */
6178      {
6179    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6180   }
6181 + #line 6182 "conf_parser.c" /* yacc.c:1646  */
6182      break;
6183  
6184 <  case 545:
6185 < /* Line 1792 of yacc.c  */
6168 < #line 2613 "conf_parser.y"
6169 <    {
6170 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6171 < }
6172 <    break;
6173 <
6174 <  case 546:
6175 < /* Line 1792 of yacc.c  */
6176 < #line 2616 "conf_parser.y"
6184 >  case 583:
6185 > #line 2849 "conf_parser.y" /* yacc.c:1646  */
6186      {
6187    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6188   }
6189 + #line 6190 "conf_parser.c" /* yacc.c:1646  */
6190      break;
6191  
6192 <  case 547:
6193 < /* Line 1792 of yacc.c  */
6184 < #line 2619 "conf_parser.y"
6192 >  case 584:
6193 > #line 2852 "conf_parser.y" /* yacc.c:1646  */
6194      {
6195    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6196   }
6197 + #line 6198 "conf_parser.c" /* yacc.c:1646  */
6198      break;
6199  
6200 <  case 548:
6201 < /* Line 1792 of yacc.c  */
6192 < #line 2622 "conf_parser.y"
6200 >  case 585:
6201 > #line 2855 "conf_parser.y" /* yacc.c:1646  */
6202      {
6203    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6204   }
6205 + #line 6206 "conf_parser.c" /* yacc.c:1646  */
6206      break;
6207  
6208 <  case 549:
6209 < /* Line 1792 of yacc.c  */
6200 < #line 2625 "conf_parser.y"
6208 >  case 586:
6209 > #line 2858 "conf_parser.y" /* yacc.c:1646  */
6210      {
6211    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6212   }
6213 + #line 6214 "conf_parser.c" /* yacc.c:1646  */
6214      break;
6215  
6216 <  case 550:
6217 < /* Line 1792 of yacc.c  */
6208 < #line 2628 "conf_parser.y"
6216 >  case 587:
6217 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6218      {
6219    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6220   }
6221 + #line 6222 "conf_parser.c" /* yacc.c:1646  */
6222      break;
6223  
6224 <  case 551:
6225 < /* Line 1792 of yacc.c  */
6216 < #line 2631 "conf_parser.y"
6224 >  case 588:
6225 > #line 2864 "conf_parser.y" /* yacc.c:1646  */
6226      {
6227    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6228   }
6229 + #line 6230 "conf_parser.c" /* yacc.c:1646  */
6230      break;
6231  
6232 <  case 552:
6233 < /* Line 1792 of yacc.c  */
6224 < #line 2636 "conf_parser.y"
6232 >  case 589:
6233 > #line 2867 "conf_parser.y" /* yacc.c:1646  */
6234      {
6235 <  ConfigFileEntry.oper_only_umodes = 0;
6235 >  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6236   }
6237 + #line 6238 "conf_parser.c" /* yacc.c:1646  */
6238      break;
6239  
6240 <  case 556:
6241 < /* Line 1792 of yacc.c  */
6232 < #line 2642 "conf_parser.y"
6240 >  case 590:
6241 > #line 2870 "conf_parser.y" /* yacc.c:1646  */
6242      {
6243 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6243 >  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6244   }
6245 + #line 6246 "conf_parser.c" /* yacc.c:1646  */
6246      break;
6247  
6248 <  case 557:
6249 < /* Line 1792 of yacc.c  */
6240 < #line 2645 "conf_parser.y"
6248 >  case 591:
6249 > #line 2875 "conf_parser.y" /* yacc.c:1646  */
6250      {
6251 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6251 >  ConfigFileEntry.oper_only_umodes = 0;
6252   }
6253 + #line 6254 "conf_parser.c" /* yacc.c:1646  */
6254      break;
6255  
6256 <  case 558:
6257 < /* Line 1792 of yacc.c  */
6248 < #line 2648 "conf_parser.y"
6256 >  case 595:
6257 > #line 2881 "conf_parser.y" /* yacc.c:1646  */
6258      {
6259 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6259 >  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6260   }
6261 + #line 6262 "conf_parser.c" /* yacc.c:1646  */
6262      break;
6263  
6264 <  case 559:
6265 < /* Line 1792 of yacc.c  */
6266 < #line 2651 "conf_parser.y"
6264 >  case 596:
6265 > #line 2884 "conf_parser.y" /* yacc.c:1646  */
6266 >    {
6267 >  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6268 > }
6269 > #line 6270 "conf_parser.c" /* yacc.c:1646  */
6270 >    break;
6271 >
6272 >  case 597:
6273 > #line 2887 "conf_parser.y" /* yacc.c:1646  */
6274      {
6275    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6276   }
6277 + #line 6278 "conf_parser.c" /* yacc.c:1646  */
6278      break;
6279  
6280 <  case 560:
6281 < /* Line 1792 of yacc.c  */
6264 < #line 2654 "conf_parser.y"
6280 >  case 598:
6281 > #line 2890 "conf_parser.y" /* yacc.c:1646  */
6282      {
6283    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6284   }
6285 + #line 6286 "conf_parser.c" /* yacc.c:1646  */
6286      break;
6287  
6288 <  case 561:
6289 < /* Line 1792 of yacc.c  */
6290 < #line 2657 "conf_parser.y"
6273 <    {
6288 >  case 599:
6289 > #line 2893 "conf_parser.y" /* yacc.c:1646  */
6290 >    {
6291    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6292   }
6293 + #line 6294 "conf_parser.c" /* yacc.c:1646  */
6294      break;
6295  
6296 <  case 562:
6297 < /* Line 1792 of yacc.c  */
6280 < #line 2660 "conf_parser.y"
6296 >  case 600:
6297 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6298      {
6299    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6300   }
6301 + #line 6302 "conf_parser.c" /* yacc.c:1646  */
6302      break;
6303  
6304 <  case 563:
6305 < /* Line 1792 of yacc.c  */
6288 < #line 2663 "conf_parser.y"
6304 >  case 601:
6305 > #line 2899 "conf_parser.y" /* yacc.c:1646  */
6306      {
6307    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6308   }
6309 + #line 6310 "conf_parser.c" /* yacc.c:1646  */
6310      break;
6311  
6312 <  case 564:
6313 < /* Line 1792 of yacc.c  */
6296 < #line 2666 "conf_parser.y"
6312 >  case 602:
6313 > #line 2902 "conf_parser.y" /* yacc.c:1646  */
6314      {
6315    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6316   }
6317 + #line 6318 "conf_parser.c" /* yacc.c:1646  */
6318      break;
6319  
6320 <  case 565:
6321 < /* Line 1792 of yacc.c  */
6304 < #line 2669 "conf_parser.y"
6320 >  case 603:
6321 > #line 2905 "conf_parser.y" /* yacc.c:1646  */
6322      {
6323    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6324   }
6325 + #line 6326 "conf_parser.c" /* yacc.c:1646  */
6326      break;
6327  
6328 <  case 566:
6329 < /* Line 1792 of yacc.c  */
6312 < #line 2672 "conf_parser.y"
6328 >  case 604:
6329 > #line 2908 "conf_parser.y" /* yacc.c:1646  */
6330      {
6331    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6332   }
6333 + #line 6334 "conf_parser.c" /* yacc.c:1646  */
6334      break;
6335  
6336 <  case 567:
6337 < /* Line 1792 of yacc.c  */
6320 < #line 2675 "conf_parser.y"
6336 >  case 605:
6337 > #line 2911 "conf_parser.y" /* yacc.c:1646  */
6338      {
6339    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6340   }
6341 + #line 6342 "conf_parser.c" /* yacc.c:1646  */
6342      break;
6343  
6344 <  case 568:
6345 < /* Line 1792 of yacc.c  */
6328 < #line 2678 "conf_parser.y"
6344 >  case 606:
6345 > #line 2914 "conf_parser.y" /* yacc.c:1646  */
6346      {
6347    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6348   }
6349 + #line 6350 "conf_parser.c" /* yacc.c:1646  */
6350      break;
6351  
6352 <  case 569:
6353 < /* Line 1792 of yacc.c  */
6336 < #line 2681 "conf_parser.y"
6337 <    {
6338 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6339 < }
6340 <    break;
6341 <
6342 <  case 570:
6343 < /* Line 1792 of yacc.c  */
6344 < #line 2684 "conf_parser.y"
6352 >  case 607:
6353 > #line 2917 "conf_parser.y" /* yacc.c:1646  */
6354      {
6355    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6356   }
6357 + #line 6358 "conf_parser.c" /* yacc.c:1646  */
6358      break;
6359  
6360 <  case 571:
6361 < /* Line 1792 of yacc.c  */
6352 < #line 2687 "conf_parser.y"
6360 >  case 608:
6361 > #line 2920 "conf_parser.y" /* yacc.c:1646  */
6362      {
6363    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6364   }
6365 + #line 6366 "conf_parser.c" /* yacc.c:1646  */
6366      break;
6367  
6368 <  case 572:
6369 < /* Line 1792 of yacc.c  */
6360 < #line 2690 "conf_parser.y"
6368 >  case 609:
6369 > #line 2923 "conf_parser.y" /* yacc.c:1646  */
6370      {
6371    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6372   }
6373 + #line 6374 "conf_parser.c" /* yacc.c:1646  */
6374      break;
6375  
6376 <  case 573:
6377 < /* Line 1792 of yacc.c  */
6368 < #line 2693 "conf_parser.y"
6376 >  case 610:
6377 > #line 2926 "conf_parser.y" /* yacc.c:1646  */
6378      {
6379    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6380   }
6381 + #line 6382 "conf_parser.c" /* yacc.c:1646  */
6382      break;
6383  
6384 <  case 574:
6385 < /* Line 1792 of yacc.c  */
6376 < #line 2696 "conf_parser.y"
6384 >  case 611:
6385 > #line 2929 "conf_parser.y" /* yacc.c:1646  */
6386      {
6387    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6388   }
6389 + #line 6390 "conf_parser.c" /* yacc.c:1646  */
6390      break;
6391  
6392 <  case 575:
6393 < /* Line 1792 of yacc.c  */
6384 < #line 2699 "conf_parser.y"
6392 >  case 612:
6393 > #line 2932 "conf_parser.y" /* yacc.c:1646  */
6394      {
6395    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6396   }
6397 + #line 6398 "conf_parser.c" /* yacc.c:1646  */
6398      break;
6399  
6400 <  case 576:
6401 < /* Line 1792 of yacc.c  */
6392 < #line 2704 "conf_parser.y"
6400 >  case 613:
6401 > #line 2935 "conf_parser.y" /* yacc.c:1646  */
6402      {
6403 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6403 >  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6404   }
6405 + #line 6406 "conf_parser.c" /* yacc.c:1646  */
6406      break;
6407  
6408 <  case 577:
6409 < /* Line 1792 of yacc.c  */
6400 < #line 2709 "conf_parser.y"
6408 >  case 614:
6409 > #line 2938 "conf_parser.y" /* yacc.c:1646  */
6410      {
6411 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6411 >  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6412   }
6413 + #line 6414 "conf_parser.c" /* yacc.c:1646  */
6414      break;
6415  
6416 <  case 578:
6417 < /* Line 1792 of yacc.c  */
6408 < #line 2714 "conf_parser.y"
6416 >  case 615:
6417 > #line 2943 "conf_parser.y" /* yacc.c:1646  */
6418      {
6419 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6419 >  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6420   }
6421 + #line 6422 "conf_parser.c" /* yacc.c:1646  */
6422      break;
6423  
6424 <  case 597:
6425 < /* Line 1792 of yacc.c  */
6426 < #line 2737 "conf_parser.y"
6424 >  case 616:
6425 > #line 2948 "conf_parser.y" /* yacc.c:1646  */
6426 >    {
6427 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6428 > }
6429 > #line 6430 "conf_parser.c" /* yacc.c:1646  */
6430 >    break;
6431 >
6432 >  case 617:
6433 > #line 2953 "conf_parser.y" /* yacc.c:1646  */
6434 >    {
6435 >  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6436 > }
6437 > #line 6438 "conf_parser.c" /* yacc.c:1646  */
6438 >    break;
6439 >
6440 >  case 636:
6441 > #line 2982 "conf_parser.y" /* yacc.c:1646  */
6442      {
6443    ConfigChannel.disable_fake_channels = yylval.number;
6444   }
6445 + #line 6446 "conf_parser.c" /* yacc.c:1646  */
6446      break;
6447  
6448 <  case 598:
6449 < /* Line 1792 of yacc.c  */
6424 < #line 2742 "conf_parser.y"
6448 >  case 637:
6449 > #line 2987 "conf_parser.y" /* yacc.c:1646  */
6450      {
6451 <  ConfigChannel.restrict_channels = yylval.number;
6451 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6452   }
6453 + #line 6454 "conf_parser.c" /* yacc.c:1646  */
6454      break;
6455  
6456 <  case 599:
6457 < /* Line 1792 of yacc.c  */
6432 < #line 2747 "conf_parser.y"
6456 >  case 638:
6457 > #line 2992 "conf_parser.y" /* yacc.c:1646  */
6458      {
6459 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6459 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6460   }
6461 + #line 6462 "conf_parser.c" /* yacc.c:1646  */
6462      break;
6463  
6464 <  case 600:
6465 < /* Line 1792 of yacc.c  */
6440 < #line 2752 "conf_parser.y"
6464 >  case 639:
6465 > #line 2997 "conf_parser.y" /* yacc.c:1646  */
6466      {
6467 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6467 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6468   }
6469 + #line 6470 "conf_parser.c" /* yacc.c:1646  */
6470      break;
6471  
6472 <  case 601:
6473 < /* Line 1792 of yacc.c  */
6448 < #line 2757 "conf_parser.y"
6472 >  case 640:
6473 > #line 3002 "conf_parser.y" /* yacc.c:1646  */
6474      {
6475 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6475 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6476   }
6477 + #line 6478 "conf_parser.c" /* yacc.c:1646  */
6478      break;
6479  
6480 <  case 602:
6481 < /* Line 1792 of yacc.c  */
6456 < #line 2762 "conf_parser.y"
6480 >  case 641:
6481 > #line 3007 "conf_parser.y" /* yacc.c:1646  */
6482      {
6483 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6483 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6484   }
6485 + #line 6486 "conf_parser.c" /* yacc.c:1646  */
6486      break;
6487  
6488 <  case 603:
6489 < /* Line 1792 of yacc.c  */
6464 < #line 2767 "conf_parser.y"
6488 >  case 642:
6489 > #line 3012 "conf_parser.y" /* yacc.c:1646  */
6490      {
6491 <  ConfigChannel.quiet_on_ban = yylval.number;
6491 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6492   }
6493 + #line 6494 "conf_parser.c" /* yacc.c:1646  */
6494      break;
6495  
6496 <  case 604:
6497 < /* Line 1792 of yacc.c  */
6472 < #line 2772 "conf_parser.y"
6496 >  case 643:
6497 > #line 3017 "conf_parser.y" /* yacc.c:1646  */
6498      {
6499 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6499 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6500   }
6501 + #line 6502 "conf_parser.c" /* yacc.c:1646  */
6502      break;
6503  
6504 <  case 605:
6505 < /* Line 1792 of yacc.c  */
6480 < #line 2777 "conf_parser.y"
6504 >  case 644:
6505 > #line 3022 "conf_parser.y" /* yacc.c:1646  */
6506      {
6507 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6507 >  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6508   }
6509 + #line 6510 "conf_parser.c" /* yacc.c:1646  */
6510      break;
6511  
6512 <  case 606:
6513 < /* Line 1792 of yacc.c  */
6488 < #line 2782 "conf_parser.y"
6512 >  case 645:
6513 > #line 3027 "conf_parser.y" /* yacc.c:1646  */
6514      {
6515 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6515 >  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6516   }
6517 + #line 6518 "conf_parser.c" /* yacc.c:1646  */
6518      break;
6519  
6520 <  case 607:
6521 < /* Line 1792 of yacc.c  */
6496 < #line 2787 "conf_parser.y"
6520 >  case 646:
6521 > #line 3032 "conf_parser.y" /* yacc.c:1646  */
6522      {
6523    ConfigChannel.no_create_on_split = yylval.number;
6524   }
6525 + #line 6526 "conf_parser.c" /* yacc.c:1646  */
6526      break;
6527  
6528 <  case 608:
6529 < /* Line 1792 of yacc.c  */
6504 < #line 2792 "conf_parser.y"
6528 >  case 647:
6529 > #line 3037 "conf_parser.y" /* yacc.c:1646  */
6530      {
6531    ConfigChannel.no_join_on_split = yylval.number;
6532   }
6533 + #line 6534 "conf_parser.c" /* yacc.c:1646  */
6534      break;
6535  
6536 <  case 609:
6537 < /* Line 1792 of yacc.c  */
6512 < #line 2797 "conf_parser.y"
6536 >  case 648:
6537 > #line 3042 "conf_parser.y" /* yacc.c:1646  */
6538      {
6539    GlobalSetOptions.joinfloodcount = yylval.number;
6540   }
6541 + #line 6542 "conf_parser.c" /* yacc.c:1646  */
6542      break;
6543  
6544 <  case 610:
6545 < /* Line 1792 of yacc.c  */
6520 < #line 2802 "conf_parser.y"
6544 >  case 649:
6545 > #line 3047 "conf_parser.y" /* yacc.c:1646  */
6546      {
6547 <  GlobalSetOptions.joinfloodtime = yylval.number;
6547 >  GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6548   }
6549 + #line 6550 "conf_parser.c" /* yacc.c:1646  */
6550      break;
6551  
6552 <  case 621:
6553 < /* Line 1792 of yacc.c  */
6528 < #line 2820 "conf_parser.y"
6552 >  case 662:
6553 > #line 3069 "conf_parser.y" /* yacc.c:1646  */
6554      {
6555    if (conf_parser_ctx.pass == 2)
6556      ConfigServerHide.flatten_links = yylval.number;
6557   }
6558 + #line 6559 "conf_parser.c" /* yacc.c:1646  */
6559      break;
6560  
6561 <  case 622:
6562 < /* Line 1792 of yacc.c  */
6563 < #line 2826 "conf_parser.y"
6561 >  case 663:
6562 > #line 3075 "conf_parser.y" /* yacc.c:1646  */
6563 >    {
6564 >  if (conf_parser_ctx.pass == 2)
6565 >    ConfigServerHide.disable_remote_commands = yylval.number;
6566 > }
6567 > #line 6568 "conf_parser.c" /* yacc.c:1646  */
6568 >    break;
6569 >
6570 >  case 664:
6571 > #line 3081 "conf_parser.y" /* yacc.c:1646  */
6572      {
6573    if (conf_parser_ctx.pass == 2)
6574      ConfigServerHide.hide_servers = yylval.number;
6575   }
6576 + #line 6577 "conf_parser.c" /* yacc.c:1646  */
6577 +    break;
6578 +
6579 +  case 665:
6580 + #line 3087 "conf_parser.y" /* yacc.c:1646  */
6581 +    {
6582 +  if (conf_parser_ctx.pass == 2)
6583 +    ConfigServerHide.hide_services = yylval.number;
6584 + }
6585 + #line 6586 "conf_parser.c" /* yacc.c:1646  */
6586      break;
6587  
6588 <  case 623:
6589 < /* Line 1792 of yacc.c  */
6546 < #line 2832 "conf_parser.y"
6588 >  case 666:
6589 > #line 3093 "conf_parser.y" /* yacc.c:1646  */
6590      {
6591    if (conf_parser_ctx.pass == 2)
6592    {
# Line 6551 | Line 6594 | yyreduce:
6594      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6595    }
6596   }
6597 + #line 6598 "conf_parser.c" /* yacc.c:1646  */
6598      break;
6599  
6600 <  case 624:
6601 < /* Line 1792 of yacc.c  */
6558 < #line 2841 "conf_parser.y"
6600 >  case 667:
6601 > #line 3102 "conf_parser.y" /* yacc.c:1646  */
6602      {
6603    if (conf_parser_ctx.pass == 2)
6604    {
6605 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6605 >    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6606      {
6607 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6607 >      event_write_links_file.when = (yyvsp[-1].number);
6608 >      event_addish(&event_write_links_file, NULL);
6609        ConfigServerHide.links_disabled = 0;
6610      }
6611  
6612 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6612 >    ConfigServerHide.links_delay = (yyvsp[-1].number);
6613    }
6614   }
6615 + #line 6616 "conf_parser.c" /* yacc.c:1646  */
6616      break;
6617  
6618 <  case 625:
6619 < /* Line 1792 of yacc.c  */
6575 < #line 2855 "conf_parser.y"
6618 >  case 668:
6619 > #line 3117 "conf_parser.y" /* yacc.c:1646  */
6620      {
6621    if (conf_parser_ctx.pass == 2)
6622      ConfigServerHide.hidden = yylval.number;
6623   }
6624 + #line 6625 "conf_parser.c" /* yacc.c:1646  */
6625      break;
6626  
6627 <  case 626:
6628 < /* Line 1792 of yacc.c  */
6584 < #line 2861 "conf_parser.y"
6627 >  case 669:
6628 > #line 3123 "conf_parser.y" /* yacc.c:1646  */
6629      {
6630    if (conf_parser_ctx.pass == 2)
6631      ConfigServerHide.hide_server_ips = yylval.number;
6632   }
6633 + #line 6634 "conf_parser.c" /* yacc.c:1646  */
6634      break;
6635  
6636  
6637 < /* Line 1792 of yacc.c  */
6593 < #line 6594 "conf_parser.c"
6637 > #line 6638 "conf_parser.c" /* yacc.c:1646  */
6638        default: break;
6639      }
6640    /* User semantic actions sometimes alter yychar, and that requires
# Line 6612 | Line 6656 | yyreduce:
6656  
6657    *++yyvsp = yyval;
6658  
6659 <  /* Now `shift' the result of the reduction.  Determine what state
6659 >  /* Now 'shift' the result of the reduction.  Determine what state
6660       that goes to, based on the state we popped back to and the rule
6661       number reduced by.  */
6662  
# Line 6627 | Line 6671 | yyreduce:
6671    goto yynewstate;
6672  
6673  
6674 < /*------------------------------------.
6675 < | yyerrlab -- here on detecting error |
6676 < `------------------------------------*/
6674 > /*--------------------------------------.
6675 > | yyerrlab -- here on detecting error.  |
6676 > `--------------------------------------*/
6677   yyerrlab:
6678    /* Make sure we have latest lookahead translation.  See comments at
6679       user semantic actions for why this is necessary.  */
# Line 6680 | Line 6724 | yyerrlab:
6724    if (yyerrstatus == 3)
6725      {
6726        /* If just tried and failed to reuse lookahead token after an
6727 <         error, discard it.  */
6727 >         error, discard it.  */
6728  
6729        if (yychar <= YYEOF)
6730 <        {
6731 <          /* Return failure if at end of input.  */
6732 <          if (yychar == YYEOF)
6733 <            YYABORT;
6734 <        }
6730 >        {
6731 >          /* Return failure if at end of input.  */
6732 >          if (yychar == YYEOF)
6733 >            YYABORT;
6734 >        }
6735        else
6736 <        {
6737 <          yydestruct ("Error: discarding",
6738 <                      yytoken, &yylval);
6739 <          yychar = YYEMPTY;
6740 <        }
6736 >        {
6737 >          yydestruct ("Error: discarding",
6738 >                      yytoken, &yylval);
6739 >          yychar = YYEMPTY;
6740 >        }
6741      }
6742  
6743    /* Else will try to reuse lookahead token after shifting the error
# Line 6712 | Line 6756 | yyerrorlab:
6756    if (/*CONSTCOND*/ 0)
6757       goto yyerrorlab;
6758  
6759 <  /* Do not reclaim the symbols of the rule which action triggered
6759 >  /* Do not reclaim the symbols of the rule whose action triggered
6760       this YYERROR.  */
6761    YYPOPSTACK (yylen);
6762    yylen = 0;
# Line 6725 | Line 6769 | yyerrorlab:
6769   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6770   `-------------------------------------------------------------*/
6771   yyerrlab1:
6772 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6772 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6773  
6774    for (;;)
6775      {
6776        yyn = yypact[yystate];
6777        if (!yypact_value_is_default (yyn))
6778 <        {
6779 <          yyn += YYTERROR;
6780 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6781 <            {
6782 <              yyn = yytable[yyn];
6783 <              if (0 < yyn)
6784 <                break;
6785 <            }
6786 <        }
6778 >        {
6779 >          yyn += YYTERROR;
6780 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6781 >            {
6782 >              yyn = yytable[yyn];
6783 >              if (0 < yyn)
6784 >                break;
6785 >            }
6786 >        }
6787  
6788        /* Pop the current state because it cannot handle the error token.  */
6789        if (yyssp == yyss)
6790 <        YYABORT;
6790 >        YYABORT;
6791  
6792  
6793        yydestruct ("Error: popping",
6794 <                  yystos[yystate], yyvsp);
6794 >                  yystos[yystate], yyvsp);
6795        YYPOPSTACK (1);
6796        yystate = *yyssp;
6797        YY_STACK_PRINT (yyss, yyssp);
# Line 6798 | Line 6842 | yyreturn:
6842        yydestruct ("Cleanup: discarding lookahead",
6843                    yytoken, &yylval);
6844      }
6845 <  /* Do not reclaim the symbols of the rule which action triggered
6845 >  /* Do not reclaim the symbols of the rule whose action triggered
6846       this YYABORT or YYACCEPT.  */
6847    YYPOPSTACK (yylen);
6848    YY_STACK_PRINT (yyss, yyssp);
6849    while (yyssp != yyss)
6850      {
6851        yydestruct ("Cleanup: popping",
6852 <                  yystos[*yyssp], yyvsp);
6852 >                  yystos[*yyssp], yyvsp);
6853        YYPOPSTACK (1);
6854      }
6855   #ifndef yyoverflow
# Line 6816 | Line 6860 | yyreturn:
6860    if (yymsg != yymsgbuf)
6861      YYSTACK_FREE (yymsg);
6862   #endif
6863 <  /* Make sure YYID is used.  */
6820 <  return YYID (yyresult);
6863 >  return yyresult;
6864   }
6822
6823

Diff Legend

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