/[svn]/ircd-hybrid-7.2/src/y.tab.c
ViewVC logotype

Contents of /ircd-hybrid-7.2/src/y.tab.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 853 - (show annotations)
Thu Feb 22 06:01:30 2007 UTC (14 years ago) by db
File MIME type: text/x-chdr
File size: 180421 byte(s)
- fix typo in ircd_parser.y regenerate y.tab.c and lex.yy.c
- fix order shown in CLIEXIT
- remove mode parsing in ms_join
- reflect addiction cconn_full flag


1 #include <stdlib.h>
2 #ifndef lint
3 #ifdef __unused
4 __unused
5 #endif
6 static char const
7 yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.37 2003/02/12 18:03:55 davidc Exp $";
8 #endif
9 #define YYBYACC 1
10 #define YYMAJOR 1
11 #define YYMINOR 9
12 #define YYLEX yylex()
13 #define YYEMPTY -1
14 #define yyclearin (yychar=(YYEMPTY))
15 #define yyerrok (yyerrflag=0)
16 #define YYRECOVERING() (yyerrflag!=0)
17 #if defined(__cplusplus) || __STDC__
18 static int yygrowstack(void);
19 #else
20 static int yygrowstack();
21 #endif
22 #define YYPREFIX "yy"
23 #line 26 "ircd_parser.y"
24
25 #define YY_NO_UNPUT
26 #include <sys/types.h>
27
28 #include "stdinc.h"
29 #include "ircd.h"
30 #include "tools.h"
31 #include "list.h"
32 #include "s_conf.h"
33 #include "event.h"
34 #include "s_log.h"
35 #include "client.h" /* for UMODE_ALL only */
36 #include "pcre.h"
37 #include "irc_string.h"
38 #include "irc_getaddrinfo.h"
39 #include "sprintf_irc.h"
40 #include "memory.h"
41 #include "modules.h"
42 #include "s_serv.h" /* for CAP_LL / IsCapable */
43 #include "hostmask.h"
44 #include "send.h"
45 #include "listener.h"
46 #include "resv.h"
47 #include "numeric.h"
48 #include "s_user.h"
49
50 #ifdef HAVE_LIBCRYPTO
51 #include <openssl/rsa.h>
52 #include <openssl/bio.h>
53 #include <openssl/pem.h>
54 #endif
55
56 static char *class_name = NULL;
57 static struct ConfItem *yy_conf = NULL;
58 static struct AccessItem *yy_aconf = NULL;
59 static struct MatchItem *yy_match_item = NULL;
60 static struct ClassItem *yy_class = NULL;
61 static char *yy_class_name = NULL;
62
63 static dlink_list col_conf_list = { NULL, NULL, 0 };
64 static dlink_list hub_conf_list = { NULL, NULL, 0 };
65 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
66 static unsigned int listener_flags = 0;
67 static unsigned int regex_ban = 0;
68 static char userbuf[IRCD_BUFSIZE];
69 static char hostbuf[IRCD_BUFSIZE];
70 static char reasonbuf[REASONLEN + 1];
71 static char gecos_name[REALLEN * 4];
72
73 extern dlink_list gdeny_items; /* XXX */
74
75 static char *resv_reason = NULL;
76 static char *listener_address = NULL;
77 static int not_atom = 0;
78
79 struct CollectItem
80 {
81 dlink_node node;
82 char *name;
83 char *user;
84 char *host;
85 char *passwd;
86 int port;
87 int flags;
88 #ifdef HAVE_LIBCRYPTO
89 char *rsa_public_key_file;
90 RSA *rsa_public_key;
91 #endif
92 };
93
94 static void
95 free_collect_item(struct CollectItem *item)
96 {
97 MyFree(item->name);
98 MyFree(item->user);
99 MyFree(item->host);
100 MyFree(item->passwd);
101 #ifdef HAVE_LIBCRYPTO
102 MyFree(item->rsa_public_key_file);
103 #endif
104 MyFree(item);
105 }
106
107 static void
108 unhook_hub_leaf_confs(void)
109 {
110 dlink_node *ptr;
111 dlink_node *next_ptr;
112 struct CollectItem *yy_hconf;
113 struct CollectItem *yy_lconf;
114
115 DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
116 {
117 yy_hconf = ptr->data;
118 dlinkDelete(&yy_hconf->node, &hub_conf_list);
119 free_collect_item(yy_hconf);
120 }
121
122 DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
123 {
124 yy_lconf = ptr->data;
125 dlinkDelete(&yy_lconf->node, &leaf_conf_list);
126 free_collect_item(yy_lconf);
127 }
128 }
129
130 #line 134 "ircd_parser.y"
131 typedef union {
132 int number;
133 char *string;
134 } YYSTYPE;
135 #line 136 "y.tab.c"
136 #define YYERRCODE 256
137 #define ACCEPT_PASSWORD 257
138 #define ACTION 258
139 #define ADMIN 259
140 #define AFTYPE 260
141 #define T_ALLOW 261
142 #define ANTI_NICK_FLOOD 262
143 #define ANTI_SPAM_EXIT_MESSAGE_TIME 263
144 #define AUTOCONN 264
145 #define T_BLOCK 265
146 #define BURST_AWAY 266
147 #define BURST_TOPICWHO 267
148 #define BYTES 268
149 #define KBYTES 269
150 #define MBYTES 270
151 #define GBYTES 271
152 #define TBYTES 272
153 #define CALLER_ID_WAIT 273
154 #define CAN_FLOOD 274
155 #define CAN_IDLE 275
156 #define CHANNEL 276
157 #define CIDR_BITLEN_IPV4 277
158 #define CIDR_BITLEN_IPV6 278
159 #define CIPHER_PREFERENCE 279
160 #define CLASS 280
161 #define COMPRESSED 281
162 #define COMPRESSION_LEVEL 282
163 #define CONNECT 283
164 #define CONNECTFREQ 284
165 #define CRYPTLINK 285
166 #define DEFAULT_CIPHER_PREFERENCE 286
167 #define DEFAULT_FLOODCOUNT 287
168 #define DEFAULT_SPLIT_SERVER_COUNT 288
169 #define DEFAULT_SPLIT_USER_COUNT 289
170 #define DENY 290
171 #define DESCRIPTION 291
172 #define DIE 292
173 #define DISABLE_AUTH 293
174 #define DISABLE_FAKE_CHANNELS 294
175 #define DISABLE_HIDDEN 295
176 #define DISABLE_LOCAL_CHANNELS 296
177 #define DISABLE_REMOTE_COMMANDS 297
178 #define DOT_IN_IP6_ADDR 298
179 #define DOTS_IN_IDENT 299
180 #define DURATION 300
181 #define EGDPOOL_PATH 301
182 #define EMAIL 302
183 #define ENABLE 303
184 #define ENCRYPTED 304
185 #define EXCEED_LIMIT 305
186 #define EXEMPT 306
187 #define FAILED_OPER_NOTICE 307
188 #define FAKENAME 308
189 #define IRCD_FLAGS 309
190 #define FLATTEN_LINKS 310
191 #define FFAILED_OPERLOG 311
192 #define FKILLLOG 312
193 #define FKLINELOG 313
194 #define FGLINELOG 314
195 #define FIOERRLOG 315
196 #define FOPERLOG 316
197 #define FOPERSPYLOG 317
198 #define FUSERLOG 318
199 #define GECOS 319
200 #define GENERAL 320
201 #define GLINE 321
202 #define GLINES 322
203 #define GLINE_EXEMPT 323
204 #define GLINE_LOG 324
205 #define GLINE_TIME 325
206 #define GLINE_MIN_CIDR 326
207 #define GLINE_MIN_CIDR6 327
208 #define GLOBAL_KILL 328
209 #define IRCD_AUTH 329
210 #define NEED_IDENT 330
211 #define HAVENT_READ_CONF 331
212 #define HIDDEN 332
213 #define HIDDEN_ADMIN 333
214 #define HIDDEN_NAME 334
215 #define HIDDEN_OPER 335
216 #define HIDE_SERVER_IPS 336
217 #define HIDE_SERVERS 337
218 #define HIDE_SPOOF_IPS 338
219 #define HOST 339
220 #define HUB 340
221 #define HUB_MASK 341
222 #define IDLETIME 342
223 #define IGNORE_BOGUS_TS 343
224 #define INVISIBLE_ON_CONNECT 344
225 #define IP 345
226 #define KILL 346
227 #define KILL_CHASE_TIME_LIMIT 347
228 #define KLINE 348
229 #define KLINE_EXEMPT 349
230 #define KLINE_REASON 350
231 #define KLINE_WITH_REASON 351
232 #define KNOCK_DELAY 352
233 #define KNOCK_DELAY_CHANNEL 353
234 #define LAZYLINK 354
235 #define LEAF_MASK 355
236 #define LINKS_DELAY 356
237 #define LISTEN 357
238 #define T_LOG 358
239 #define LOGGING 359
240 #define LOG_LEVEL 360
241 #define MAX_ACCEPT 361
242 #define MAX_BANS 362
243 #define MAX_CHANS_PER_USER 363
244 #define MAX_GLOBAL 364
245 #define MAX_IDENT 365
246 #define MAX_LOCAL 366
247 #define MAX_NICK_CHANGES 367
248 #define MAX_NICK_TIME 368
249 #define MAX_NUMBER 369
250 #define MAX_TARGETS 370
251 #define MESSAGE_LOCALE 371
252 #define MIN_NONWILDCARD 372
253 #define MIN_NONWILDCARD_SIMPLE 373
254 #define MODULE 374
255 #define MODULES 375
256 #define NAME 376
257 #define NEED_PASSWORD 377
258 #define NETWORK_DESC 378
259 #define NETWORK_NAME 379
260 #define NICK 380
261 #define NICK_CHANGES 381
262 #define NO_CREATE_ON_SPLIT 382
263 #define NO_JOIN_ON_SPLIT 383
264 #define NO_OPER_FLOOD 384
265 #define NO_TILDE 385
266 #define NOT 386
267 #define NUMBER 387
268 #define NUMBER_PER_IDENT 388
269 #define NUMBER_PER_CIDR 389
270 #define NUMBER_PER_IP 390
271 #define NUMBER_PER_IP_GLOBAL 391
272 #define OPERATOR 392
273 #define OPERS_BYPASS_CALLERID 393
274 #define OPER_LOG 394
275 #define OPER_ONLY_UMODES 395
276 #define OPER_PASS_RESV 396
277 #define OPER_SPY_T 397
278 #define OPER_UMODES 398
279 #define JOIN_FLOOD_COUNT 399
280 #define JOIN_FLOOD_TIME 400
281 #define PACE_WAIT 401
282 #define PACE_WAIT_SIMPLE 402
283 #define PASSWORD 403
284 #define PATH 404
285 #define PING_COOKIE 405
286 #define PING_TIME 406
287 #define PING_WARNING 407
288 #define PORT 408
289 #define QSTRING 409
290 #define QUIET_ON_BAN 410
291 #define REASON 411
292 #define REDIRPORT 412
293 #define REDIRSERV 413
294 #define REGEX_T 414
295 #define REHASH 415
296 #define TREJECT_HOLD_TIME 416
297 #define REMOTE 417
298 #define REMOTEBAN 418
299 #define RESTRICT_CHANNELS 419
300 #define RESTRICTED 420
301 #define RSA_PRIVATE_KEY_FILE 421
302 #define RSA_PUBLIC_KEY_FILE 422
303 #define SSL_CERTIFICATE_FILE 423
304 #define RESV 424
305 #define RESV_EXEMPT 425
306 #define SECONDS 426
307 #define MINUTES 427
308 #define HOURS 428
309 #define DAYS 429
310 #define WEEKS 430
311 #define SENDQ 431
312 #define SEND_PASSWORD 432
313 #define SERVERHIDE 433
314 #define SERVERINFO 434
315 #define SERVLINK_PATH 435
316 #define IRCD_SID 436
317 #define TKLINE_EXPIRE_NOTICES 437
318 #define T_SHARED 438
319 #define T_CLUSTER 439
320 #define TYPE 440
321 #define SHORT_MOTD 441
322 #define SILENT 442
323 #define SPOOF 443
324 #define SPOOF_NOTICE 444
325 #define STATS_E_DISABLED 445
326 #define STATS_I_OPER_ONLY 446
327 #define STATS_K_OPER_ONLY 447
328 #define STATS_O_OPER_ONLY 448
329 #define STATS_P_OPER_ONLY 449
330 #define TBOOL 450
331 #define TMASKED 451
332 #define T_REJECT 452
333 #define TS_MAX_DELTA 453
334 #define TS_WARN_DELTA 454
335 #define TWODOTS 455
336 #define T_ALL 456
337 #define T_BOTS 457
338 #define T_SOFTCALLERID 458
339 #define T_CALLERID 459
340 #define T_CCONN 460
341 #define T_CCONN_FULL 461
342 #define T_CLIENT_FLOOD 462
343 #define T_DEAF 463
344 #define T_DEBUG 464
345 #define T_DRONE 465
346 #define T_EXTERNAL 466
347 #define T_FULL 467
348 #define T_INVISIBLE 468
349 #define T_IPV4 469
350 #define T_IPV6 470
351 #define T_LOCOPS 471
352 #define T_LOGPATH 472
353 #define T_L_CRIT 473
354 #define T_L_DEBUG 474
355 #define T_L_ERROR 475
356 #define T_L_INFO 476
357 #define T_L_NOTICE 477
358 #define T_L_TRACE 478
359 #define T_L_WARN 479
360 #define T_MAX_CLIENTS 480
361 #define T_NCHANGE 481
362 #define T_OPERWALL 482
363 #define T_REJ 483
364 #define T_SERVNOTICE 484
365 #define T_SKILL 485
366 #define T_SPY 486
367 #define T_SSL 487
368 #define T_UMODES 488
369 #define T_UNAUTH 489
370 #define T_UNRESV 490
371 #define T_UNXLINE 491
372 #define T_WALLOP 492
373 #define THROTTLE_TIME 493
374 #define TOPICBURST 494
375 #define TRUE_NO_OPER_FLOOD 495
376 #define TKLINE 496
377 #define TXLINE 497
378 #define TRESV 498
379 #define UNKLINE 499
380 #define USER 500
381 #define USE_EGD 501
382 #define USE_EXCEPT 502
383 #define USE_INVEX 503
384 #define USE_KNOCK 504
385 #define USE_LOGGING 505
386 #define USE_WHOIS_ACTUALLY 506
387 #define VHOST 507
388 #define VHOST6 508
389 #define XLINE 509
390 #define WARN 510
391 #define WARN_NO_NLINE 511
392 const short yylhs[] = { -1,
393 0, 0, 5, 5, 5, 5, 5, 5, 5, 5,
394 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
395 5, 5, 5, 5, 2, 2, 1, 1, 1, 1,
396 1, 1, 4, 4, 3, 3, 3, 3, 25, 26,
397 26, 27, 27, 27, 28, 29, 13, 30, 30, 31,
398 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
399 31, 42, 39, 32, 41, 35, 36, 37, 33, 40,
400 38, 34, 6, 43, 43, 44, 44, 44, 44, 45,
401 47, 46, 7, 48, 48, 49, 49, 49, 49, 49,
402 49, 49, 49, 49, 49, 49, 49, 49, 50, 51,
403 54, 61, 55, 59, 56, 57, 60, 58, 52, 52,
404 52, 52, 52, 52, 52, 53, 63, 8, 62, 62,
405 64, 64, 66, 66, 66, 66, 66, 66, 66, 66,
406 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
407 66, 66, 66, 66, 66, 67, 65, 68, 69, 86,
408 87, 73, 89, 72, 90, 90, 91, 91, 91, 91,
409 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
410 91, 91, 91, 91, 91, 74, 75, 81, 76, 77,
411 78, 79, 80, 82, 83, 84, 70, 71, 85, 92,
412 88, 93, 93, 96, 94, 97, 94, 95, 95, 95,
413 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
414 95, 95, 95, 99, 10, 98, 98, 100, 100, 102,
415 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
416 102, 102, 102, 103, 101, 106, 107, 109, 110, 111,
417 112, 113, 114, 115, 104, 105, 108, 116, 11, 119,
418 118, 120, 120, 121, 121, 117, 117, 122, 122, 122,
419 122, 122, 127, 123, 126, 126, 128, 128, 124, 125,
420 129, 12, 130, 130, 131, 131, 131, 131, 131, 131,
421 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
422 131, 132, 133, 142, 134, 147, 148, 135, 149, 149,
423 152, 150, 153, 150, 151, 151, 151, 151, 151, 151,
424 151, 151, 151, 151, 136, 137, 138, 145, 139, 140,
425 141, 143, 144, 146, 154, 15, 155, 155, 156, 156,
426 156, 156, 157, 158, 159, 160, 16, 161, 161, 162,
427 162, 162, 162, 163, 164, 166, 165, 167, 167, 168,
428 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
429 169, 17, 170, 170, 171, 171, 171, 172, 174, 173,
430 175, 175, 176, 176, 176, 176, 176, 176, 176, 176,
431 176, 176, 176, 178, 18, 177, 177, 179, 179, 181,
432 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
433 181, 181, 181, 181, 181, 181, 181, 181, 181, 182,
434 180, 183, 184, 185, 186, 188, 187, 187, 189, 201,
435 190, 202, 202, 205, 203, 206, 203, 204, 204, 204,
436 204, 204, 204, 198, 195, 197, 196, 194, 200, 191,
437 192, 193, 199, 207, 19, 210, 209, 211, 211, 212,
438 208, 208, 213, 213, 213, 213, 214, 215, 216, 20,
439 217, 217, 218, 218, 218, 219, 220, 21, 221, 221,
440 222, 222, 223, 224, 24, 227, 226, 228, 228, 229,
441 225, 225, 230, 230, 230, 230, 231, 232, 22, 233,
442 233, 234, 234, 234, 234, 234, 234, 234, 234, 234,
443 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
444 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
445 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
446 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
447 234, 234, 234, 234, 234, 234, 234, 285, 286, 283,
448 287, 288, 284, 245, 235, 236, 274, 237, 238, 239,
449 240, 241, 242, 243, 244, 279, 246, 247, 248, 249,
450 289, 251, 256, 252, 252, 254, 254, 253, 268, 269,
451 255, 257, 258, 259, 260, 262, 261, 250, 264, 273,
452 275, 276, 265, 266, 281, 282, 278, 290, 267, 291,
453 291, 292, 292, 292, 292, 292, 292, 292, 292, 292,
454 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
455 293, 263, 294, 294, 295, 295, 295, 295, 295, 295,
456 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
457 295, 295, 295, 271, 272, 270, 277, 280, 296, 23,
458 297, 297, 298, 298, 298, 298, 298, 298, 298, 299,
459 300, 305, 301, 306, 306, 307, 307, 302, 303, 308,
460 304, 309, 309, 310, 310, 9, 311, 311, 312, 312,
461 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
462 312, 312, 312, 312, 312, 312, 312, 330, 325, 313,
463 314, 315, 316, 318, 319, 320, 321, 317, 322, 323,
464 324, 326, 327, 328, 329, 14, 331, 331, 332, 332,
465 332, 332, 332, 332, 332, 332, 333, 334, 338, 335,
466 337, 336, 339,
467 };
468 const short yylen[] = { 2,
469 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
471 1, 1, 2, 2, 0, 1, 2, 3, 3, 3,
472 3, 3, 0, 1, 2, 3, 3, 3, 5, 2,
473 1, 1, 1, 2, 4, 4, 5, 2, 1, 1,
474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
475 2, 4, 4, 4, 4, 4, 4, 4, 4, 4,
476 4, 4, 5, 2, 1, 1, 1, 1, 2, 4,
477 4, 4, 5, 2, 1, 1, 1, 1, 1, 1,
478 1, 1, 1, 1, 1, 1, 1, 2, 4, 4,
479 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
480 4, 4, 4, 4, 4, 4, 0, 7, 0, 1,
481 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
482 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
483 1, 1, 1, 1, 2, 4, 1, 4, 4, 4,
484 4, 4, 0, 5, 3, 1, 1, 1, 1, 1,
485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
486 1, 1, 1, 1, 1, 4, 4, 4, 4, 4,
487 4, 4, 4, 4, 4, 4, 4, 4, 4, 0,
488 5, 3, 1, 0, 3, 0, 2, 1, 1, 1,
489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
490 1, 1, 1, 0, 7, 0, 1, 2, 1, 1,
491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
492 1, 1, 2, 4, 1, 4, 4, 4, 4, 4,
493 4, 4, 4, 4, 4, 4, 4, 0, 6, 0,
494 5, 3, 1, 1, 1, 2, 1, 1, 1, 1,
495 1, 2, 0, 5, 3, 1, 1, 3, 4, 4,
496 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
498 2, 4, 4, 4, 4, 4, 0, 5, 3, 1,
499 0, 3, 0, 2, 1, 1, 1, 1, 1, 1,
500 1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
501 4, 4, 4, 4, 0, 6, 2, 1, 1, 1,
502 1, 2, 4, 4, 4, 0, 6, 2, 1, 1,
503 1, 1, 2, 4, 4, 0, 5, 3, 1, 1,
504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505 0, 6, 2, 1, 1, 1, 2, 4, 0, 5,
506 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507 1, 1, 1, 0, 7, 0, 1, 2, 1, 1,
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 2, 4,
510 1, 4, 4, 4, 4, 4, 4, 4, 4, 0,
511 5, 3, 1, 0, 3, 0, 2, 1, 1, 1,
512 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
513 4, 4, 4, 0, 6, 0, 5, 3, 1, 1,
514 2, 1, 1, 1, 1, 1, 4, 4, 0, 6,
515 2, 1, 1, 1, 1, 4, 4, 5, 2, 1,
516 1, 1, 4, 0, 6, 0, 5, 3, 1, 1,
517 2, 1, 1, 1, 1, 1, 4, 4, 5, 2,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
524 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
525 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
526 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
527 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
528 4, 4, 4, 4, 4, 4, 4, 0, 5, 3,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 0, 5, 3, 1, 1, 1, 1, 1, 1, 1,
532 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
533 1, 1, 1, 4, 4, 4, 4, 4, 0, 6,
534 2, 1, 1, 1, 1, 1, 1, 1, 1, 4,
535 4, 0, 5, 3, 1, 1, 1, 4, 4, 0,
536 5, 3, 1, 1, 1, 5, 2, 1, 1, 1,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
539 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
540 4, 4, 4, 4, 4, 5, 2, 1, 1, 1,
541 1, 1, 1, 1, 1, 1, 4, 4, 4, 4,
542 4, 4, 4,
543 };
544 const short yydefred[] = { 1,
545 0, 0, 0, 0, 214, 384, 459, 0, 474, 0,
546 649, 271, 444, 248, 0, 0, 117, 325, 0, 0,
547 336, 361, 2, 3, 4, 5, 6, 7, 8, 9,
548 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
549 20, 21, 22, 23, 24, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 75, 76, 77, 78, 697, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 678, 679, 680, 681, 682, 683,
555 684, 685, 686, 687, 688, 689, 690, 691, 692, 693,
556 694, 695, 696, 235, 0, 217, 411, 0, 387, 0,
557 472, 0, 0, 470, 471, 0, 547, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
560 0, 0, 0, 0, 0, 0, 0, 0, 0, 621,
561 0, 598, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
563 0, 0, 0, 491, 492, 493, 494, 495, 496, 497,
564 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
565 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
566 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
567 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
568 538, 539, 540, 541, 542, 543, 544, 545, 546, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 0, 0, 0, 85, 86, 87,
571 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
572 0, 0, 0, 0, 41, 42, 43, 147, 0, 120,
573 0, 726, 0, 0, 0, 0, 0, 0, 0, 0,
574 718, 719, 720, 721, 722, 723, 724, 725, 0, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 49, 50, 51, 52, 53, 54, 55, 56, 57,
577 58, 59, 60, 0, 0, 79, 0, 0, 0, 0,
578 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 677, 0, 0, 465, 0, 0, 0, 462, 463, 464,
581 0, 0, 469, 486, 0, 0, 476, 0, 485, 482,
582 483, 484, 0, 0, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 490, 659,
588 670, 0, 0, 662, 0, 0, 0, 652, 653, 654,
589 655, 656, 657, 658, 0, 0, 0, 0, 0, 297,
590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
591 0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
592 282, 283, 284, 285, 286, 287, 288, 289, 290, 456,
593 0, 446, 0, 0, 455, 452, 453, 454, 0, 250,
594 0, 0, 0, 0, 259, 257, 258, 260, 261, 98,
595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 84, 44, 0, 0, 0, 40, 0,
597 0, 0, 0, 0, 0, 328, 329, 330, 331, 0,
598 0, 0, 0, 0, 0, 0, 0, 717, 61, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
600 0, 48, 0, 0, 346, 0, 0, 339, 340, 341,
601 342, 0, 0, 369, 0, 364, 365, 366, 0, 0,
602 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 676, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
606 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
607 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 0, 420, 0, 0, 0, 0, 0, 0, 0, 0,
609 0, 0, 389, 390, 391, 392, 393, 394, 395, 396,
610 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
611 407, 408, 0, 0, 0, 461, 0, 468, 0, 0,
612 0, 0, 481, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 489, 0, 0, 0, 0, 0, 0, 0, 651,
619 291, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 273, 0,
621 0, 0, 0, 451, 262, 0, 0, 0, 0, 0,
622 256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
624 0, 0, 39, 0, 0, 0, 0, 0, 190, 0,
625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 153, 0, 0, 0, 0, 122, 123, 124,
627 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
628 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
629 332, 0, 0, 0, 0, 327, 0, 0, 0, 0,
630 0, 0, 0, 716, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 47, 343, 0, 0, 0,
632 0, 338, 367, 0, 0, 0, 363, 82, 81, 80,
633 713, 710, 709, 698, 700, 0, 0, 0, 0, 0,
634 26, 27, 704, 705, 708, 706, 711, 712, 714, 715,
635 707, 699, 701, 702, 703, 233, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 218, 409, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 388, 0, 0, 460, 473, 0, 0, 0,
640 475, 559, 563, 550, 579, 592, 591, 646, 596, 557,
641 648, 588, 594, 558, 548, 549, 566, 555, 587, 556,
642 569, 554, 568, 567, 562, 561, 560, 589, 586, 644,
643 645, 583, 580, 625, 641, 642, 626, 627, 628, 629,
644 636, 630, 639, 643, 632, 637, 633, 638, 631, 635,
645 634, 640, 0, 624, 585, 602, 618, 619, 603, 604,
646 605, 606, 613, 607, 616, 620, 609, 614, 610, 615,
647 608, 612, 611, 617, 0, 601, 578, 581, 595, 552,
648 590, 553, 582, 571, 576, 577, 574, 575, 572, 573,
649 565, 564, 0, 0, 0, 34, 35, 647, 597, 584,
650 593, 551, 570, 0, 0, 0, 0, 0, 0, 650,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 272, 0, 0, 0,
653 445, 0, 0, 0, 0, 0, 266, 249, 102, 108,
654 106, 105, 107, 103, 104, 101, 109, 115, 110, 114,
655 112, 113, 111, 100, 99, 116, 45, 46, 145, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
658 0, 0, 121, 0, 0, 0, 326, 732, 727, 731,
659 729, 733, 728, 730, 66, 72, 64, 68, 67, 63,
660 62, 65, 71, 69, 70, 0, 0, 0, 337, 0,
661 0, 362, 28, 29, 30, 31, 32, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 215, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 385, 466, 467, 487, 488, 480, 0, 479, 622,
666 0, 599, 0, 36, 37, 38, 675, 674, 0, 673,
667 661, 660, 667, 666, 0, 665, 669, 668, 318, 295,
668 296, 317, 301, 0, 300, 0, 320, 316, 315, 324,
669 319, 293, 323, 322, 321, 294, 292, 458, 450, 0,
670 449, 457, 255, 254, 0, 253, 270, 269, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 118, 334, 335, 333, 344, 350, 356,
674 360, 359, 358, 355, 351, 354, 357, 352, 353, 0,
675 349, 345, 368, 373, 379, 383, 382, 381, 378, 374,
676 377, 380, 375, 376, 0, 372, 245, 246, 239, 241,
677 243, 242, 240, 234, 247, 238, 236, 237, 244, 415,
678 417, 418, 438, 443, 442, 437, 436, 435, 419, 424,
679 0, 423, 0, 412, 440, 441, 410, 416, 434, 414,
680 439, 413, 477, 0, 623, 600, 671, 0, 663, 0,
681 0, 298, 0, 309, 310, 306, 312, 308, 307, 314,
682 311, 313, 305, 304, 447, 0, 251, 0, 268, 265,
683 264, 186, 152, 184, 150, 194, 0, 193, 0, 182,
684 176, 187, 188, 179, 146, 183, 149, 185, 177, 178,
685 151, 189, 157, 173, 174, 158, 159, 160, 161, 168,
686 162, 171, 175, 164, 169, 165, 170, 163, 167, 166,
687 172, 0, 156, 181, 148, 180, 347, 0, 370, 0,
688 0, 421, 0, 431, 432, 429, 430, 428, 433, 427,
689 478, 672, 664, 302, 299, 448, 252, 0, 191, 0,
690 206, 204, 213, 203, 198, 207, 211, 200, 208, 210,
691 205, 199, 212, 209, 201, 202, 197, 154, 0, 348,
692 371, 425, 422, 195, 192, 155,
693 };
694 const short yydgoto[] = { 1,
695 891, 892, 1046, 1047, 23, 24, 25, 26, 27, 28,
696 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
697 39, 40, 41, 42, 43, 274, 275, 276, 277, 311,
698 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
699 322, 323, 70, 71, 72, 73, 74, 257, 258, 259,
700 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
701 270, 279, 60, 817, 280, 818, 819, 820, 821, 822,
702 823, 824, 825, 826, 827, 828, 829, 830, 831, 832,
703 833, 834, 835, 836, 837, 838, 839, 840, 1128, 1422,
704 1423, 1114, 1387, 1388, 1467, 1448, 1389, 115, 48, 607,
705 116, 608, 609, 610, 611, 612, 613, 614, 615, 616,
706 617, 618, 619, 620, 621, 57, 494, 495, 766, 1255,
707 1256, 496, 497, 498, 499, 1086, 1261, 1087, 55, 462,
708 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
709 473, 474, 475, 476, 477, 478, 479, 746, 1234, 1235,
710 1374, 1361, 1236, 61, 525, 526, 527, 528, 529, 64,
711 557, 558, 559, 560, 561, 869, 1300, 1301, 65, 565,
712 566, 567, 568, 875, 1315, 1316, 118, 49, 642, 119,
713 643, 644, 645, 646, 647, 648, 649, 650, 651, 652,
714 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
715 932, 1341, 1342, 1440, 1431, 1343, 56, 484, 485, 761,
716 1250, 1251, 486, 487, 488, 50, 357, 358, 359, 360,
717 123, 124, 125, 52, 368, 369, 671, 1208, 1209, 370,
718 371, 372, 183, 184, 185, 186, 187, 188, 189, 190,
719 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
720 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
721 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
722 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
723 231, 232, 233, 234, 235, 236, 237, 238, 239, 407,
724 1025, 1026, 405, 1003, 1004, 54, 437, 438, 439, 440,
725 441, 442, 443, 444, 736, 1225, 1226, 733, 1219, 1220,
726 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
727 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
728 290, 291, 292, 293, 294, 295, 296, 297, 298,
729 };
730 const short yysindex[] = { 0,
731 792, -38, -67, -64, 0, 0, 0, -59, 0, -47,
732 0, 0, 0, 0, -29, -27, 0, 0, -24, -11,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, -223, 643, -387, -291, 2,
736 -229, 9, 376, 19, 23, 29, 31, 374, -218, -282,
737 35, 309, 440, 39, 40, 74, 78, 84, 100, -90,
738 0, 0, 0, 0, 0, 109, 112, 113, 120, 122,
739 123, 126, 128, 131, 133, 134, 136, 142, 149, 150,
740 152, 154, 156, 164, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 95, 0, 0, 96, 0, -231,
743 0, 162, -119, 0, 0, -233, 0, 166, 170, 173,
744 176, 177, 179, 181, 182, 183, 197, 200, 217, 224,
745 226, 227, 231, 234, 235, 236, 237, 239, 240, 245,
746 246, 248, 253, 255, 256, 267, 269, 277, 281, 0,
747 282, 0, 283, 286, 287, 296, 297, 298, 299, 300,
748 301, 303, 306, 307, 308, 311, 313, 314, 315, 319,
749 320, 322, -122, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0, 0, -248,
755 714, -244, -236, 188, 324, 327, 330, 331, 334, 335,
756 337, 339, 340, 341, 342, 344, -48, 0, 0, 0,
757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
758 347, 346, 351, -120, 0, 0, 0, 0, 247, 0,
759 -242, 0, 352, 353, 356, 360, 364, 365, 367, 186,
760 0, 0, 0, 0, 0, 0, 0, 0, 349, 368,
761 369, 372, 375, 379, 380, 382, 383, 384, 387, 390,
762 -58, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, -247, -226, 0, 28, 45, 46, 397,
764 0, -15, 72, 75, 11, 13, 77, 77, 80, 81,
765 15, 20, 85, 77, 24, 25, 30, 32, 36, 414,
766 0, 796, 585, 0, 417, 418, -121, 0, 0, 0,
767 82, 428, 0, 0, 427, 431, 0, -74, 0, 0,
768 0, 0, 43, 77, 44, 77, 118, 98, 121, 59,
769 61, 62, 137, 104, 86, 138, 141, 143, 87, 77,
770 89, 91, 144, 125, 93, 145, 157, 77, 158, 139,
771 167, 168, 101, 103, 468, 106, 497, 77, 77, 110,
772 77, 159, 111, 116, 117, -406, -327, 129, 132, 77,
773 77, 184, 77, 140, 148, 151, 153, 514, 0, 0,
774 0, 530, 531, 0, 532, 533, -68, 0, 0, 0,
775 0, 0, 0, 0, 540, 539, 541, 544, 545, 0,
776 546, 547, 550, 551, 553, 554, 556, 557, 559, 560,
777 564, 210, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 567, 0, 568, -107, 0, 0, 0, 0, 572, 0,
780 573, 574, 575, -109, 0, 0, 0, 0, 0, 0,
781 238, 241, 243, 250, 251, 252, 261, 262, -123, 263,
782 270, 190, 589, 0, 0, 271, 272, 596, 0, 499,
783 597, 583, 603, 615, -108, 0, 0, 0, 0, 207,
784 228, 232, 275, 244, 249, 77, 634, 0, 0, 288,
785 254, 289, 291, 292, 302, 304, 312, 318, 316, 321,
786 636, 0, 647, 648, 0, 651, -101, 0, 0, 0,
787 0, 649, 654, 0, -99, 0, 0, 0, 657, 658,
788 663, 0, 665, 669, 670, 673, 674, -338, 676, 677,
789 679, 681, 682, 683, 686, 691, 692, 693, 694, 695,
790 697, 0, 698, 678, 700, 701, 702, 703, 704, 705,
791 706, 709, 712, 715, 721, 722, 220, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 716, 723, 724, 725, 726, 727, 728, 729, 732,
794 733, 0, 734, 735, 736, 737, 738, 739, 740, 741,
795 743, 130, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 0, 0, 350, 396, 747, 0, 748, 0, 400, 401,
798 751, 755, 0, 756, 767, 769, 772, 774, 776, 777,
799 778, 780, 781, 784, 785, 789, 791, 793, 795, 797,
800 798, 799, 800, 801, 803, 808, 809, 813, 814, 815,
801 819, 822, 824, 825, 826, 775, 829, 811, 831, 832,
802 833, 836, 837, 838, 842, 844, 845, 846, 848, 849,
803 850, 852, 853, 854, -228, 859, 860, 864, 866, 869,
804 871, 0, 790, 77, 405, 873, 526, 527, 879, 0,
805 0, 456, 534, 491, 494, 885, 500, 501, 502, 503,
806 506, 548, 562, 555, 558, 509, 563, 901, 0, 569,
807 902, 570, 906, 0, 0, 905, 571, 577, 581, 912,
808 0, 914, 918, 923, 924, 925, 931, 933, 938, 941,
809 942, 943, 945, 954, 955, 956, 957, 961, 962, 0,
810 965, 968, 0, 969, 970, 971, 972, 974, 0, 975,
811 978, 979, 980, 984, 985, 986, 988, 989, 993, 994,
812 999, 1000, 0, 1003, 1006, 1008, 1, 0, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
815 0, 621, 661, 662, 1018, 0, 1019, 1024, 1025, 1026,
816 1027, 1028, 1029, 0, 1030, 1031, 1035, 1036, 1037, 1038,
817 1043, 1045, 1051, 1054, 1056, 0, 0, 707, 1057, 711,
818 1063, 0, 0, 719, 1064, 1070, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 77, 77, 77, 77, 77,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 744, 745, 77, 746,
822 749, 750, 752, 754, 757, 761, 77, 77, 184, 1071,
823 0, 0, 759, -339, 684, 760, 762, 685, 720, 730,
824 764, 1080, 765, 766, 768, 770, 779, 773, 782, 731,
825 783, 1083, 0, 1084, 1093, 0, 0, 1094, 1095, 219,
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 0, 184, 184, 184, 0, 0, 0, 0, 0,
836 0, 0, 0, -250, 1096, 1097, -246, 1100, 1105, 0,
837 1117, 1119, 1124, 1128, 802, 1130, 1131, 1134, 1135, 1136,
838 1137, 1138, 1139, 1140, 1141, 1142, 0, 1145, 794, 1146,
839 0, -296, 1147, 1148, 758, 1165, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 771,
842 806, 787, 804, 1149, 805, 812, 816, 823, 830, 810,
843 834, 820, 835, 839, 840, 841, 851, 1150, 862, 843,
844 867, 1153, 0, 1158, 1159, 1161, 0, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 1163, 79, 1164, 0, 1169,
847 610, 0, 0, 0, 0, 0, 0, 1181, 1185, 1186,
848 1188, 1189, 1190, 1192, 1194, 1204, 1206, 1217, 1222, 1224,
849 0, 1227, 1228, 1229, 1232, 1239, 1240, 1243, 1250, 1257,
850 1260, 934, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1275,
851 1276, 0, 0, 0, 0, 0, 0, 4, 0, 0,
852 775, 0, 811, 0, 0, 0, 0, 0, 10, 0,
853 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
854 0, 0, 0, 21, 0, 172, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
856 0, 0, 0, 0, 26, 0, 0, 0, 950, 581,
857 1279, 1281, 1282, 1283, 1284, 958, 1286, 1287, 1288, 1289,
858 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 847,
859 1299, 1300, 1301, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 51, 0, -253, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 219, 0, 0, 0, -250, 0, -246,
867 172, 0, 802, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 794, 0, -296, 0, 0,
869 0, 0, 0, 0, 0, 0, 54, 0, 594, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 56, 0, 0, 0, 0, 0, 79, 0, 610,
874 -253, 0, 934, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 594, 0, 958,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 847, 0,
878 0, 0, 0, 0, 0, 0,
879 };
880 const short yyrindex[] = { 0,
881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 1101, 1238, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 0, 0, 0, 1303, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 1303, 1303, 1303, 1303, 1303,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 1304, 1304, 1304, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 680, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 58, 1306, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1000 0, -235, 0, 0, 0, 0, 0, 0, 0, 0,
1001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 641, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 680, 0, 0, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, 0, -235, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0, 0, 641,
1026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0,
1029 };
1030 const short yygindex[] = { 0,
1031 -337, -782, -420, -923, 0, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
1034 1058, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 1302, 0, 0, 0, 0, 1110, 0,
1036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 561, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 -98, 0, 0, -82, -78, 0, 0, 0, 0, 0,
1041 0, 786, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 -5, 880, 0, 0, 0, 0, 0, 115, 0, 0,
1044 915, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1046 18, 0, 0, 0, 0, 856, 0, 0, 0, 0,
1047 0, 827, 0, 0, 0, 0, 0, -52, 0, 0,
1048 817, 0, 0, 0, 0, -45, 0, 0, 0, 0,
1049 753, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, -50, -44, 0, 0, 0, 0, 0, 0,
1052 0, 12, 907, 0, 0, 0, 0, 1032, 0, 0,
1053 0, 1269, 0, 0, 0, 0, 0, 0, 42, 1022,
1054 0, 0, 0, 1203, 0, 0, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 185, 0, 0, 189, 0, 0, 960, 0, 0,
1061 0, 0, 0, 0, 0, 0, 41, 0, 0, 47,
1062 0, 1305, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 1104, 0, 0, 0, 0, 0, 0, 0,
1065 };
1066 #define YYTABLESIZE 1405
1067 const short yytable[] = { 579,
1068 580, 726, 428, 665, 518, 362, 586, 430, 553, 431,
1069 1434, 480, 1435, 521, 1217, 770, 845, 763, 1223, 489,
1070 44, 114, 364, 871, 354, 876, 121, 1436, 426, 562,
1071 426, 1437, 66, 522, 330, 1253, 675, 271, 677, 1043,
1072 1044, 1045, 1211, 717, 718, 426, 1213, 1354, 578, 426,
1073 672, 432, 691, 1358, 433, 46, 739, 1210, 47, 1360,
1074 699, 1212, 1353, 51, 1363, 1376, 551, 67, 1357, 1378,
1075 709, 710, 490, 712, 1359, 53, 513, 1428, 68, 1362,
1076 1375, 1430, 723, 724, 1377, 727, 45, 886, 887, 888,
1077 889, 890, 1427, 58, 1433, 59, 1429, 1450, 62, 1469,
1078 1438, 267, 491, 1163, 1164, 1165, 1166, 1167, 492, 1432,
1079 434, 63, 1449, 355, 1468, 122, 267, 117, 426, 1214,
1080 1215, 1216, 719, 720, 120, 1132, 278, 435, 554, 1183,
1081 1184, 126, 326, 127, 354, 271, 121, 523, 327, 128,
1082 129, 240, 365, 130, 328, 241, 489, 521, 480, 563,
1083 131, 242, 69, 243, 553, 272, 562, 281, 725, 132,
1084 329, 324, 325, 133, 134, 66, 481, 522, 524, 332,
1085 135, 493, 333, 334, 136, 137, 138, 366, 139, 356,
1086 335, 364, 336, 337, 140, 273, 338, 430, 339, 431,
1087 1254, 340, 555, 341, 342, 482, 343, 299, 853, 490,
1088 67, 1218, 344, 141, 142, 1224, 367, 244, 143, 345,
1089 346, 68, 347, 564, 348, 144, 349, 352, 353, 145,
1090 146, 147, 361, 355, 148, 122, 373, 149, 150, 491,
1091 374, 432, 300, 375, 433, 492, 376, 377, 151, 378,
1092 1439, 379, 380, 381, 152, 153, 500, 154, 155, 156,
1093 157, 436, 556, 272, 942, 483, 794, 382, 426, 795,
1094 383, 158, 245, 246, 247, 248, 249, 250, 251, 252,
1095 159, 523, 160, 161, 554, 162, 563, 384, 163, 164,
1096 796, 301, 165, 273, 385, 69, 386, 387, 350, 356,
1097 434, 388, 797, 166, 389, 390, 391, 392, 493, 393,
1098 394, 365, 524, 481, 798, 395, 396, 435, 397, 799,
1099 537, 253, 167, 398, 168, 399, 400, 302, 169, 303,
1100 304, 800, 170, 171, 172, 173, 174, 401, 801, 402,
1101 175, 176, 482, 802, 758, 803, 366, 403, 555, 177,
1102 564, 404, 406, 408, 920, 254, 409, 410, 804, 780,
1103 781, 782, 783, 784, 785, 786, 411, 412, 413, 414,
1104 415, 416, 305, 417, 306, 367, 418, 419, 420, 520,
1105 178, 421, 179, 422, 423, 424, 805, 307, 180, 425,
1106 426, 806, 427, 181, 501, 622, 623, 502, 182, 624,
1107 503, 504, 483, 625, 505, 506, 1055, 507, 556, 508,
1108 509, 510, 511, 807, 512, 515, 516, 539, 626, 627,
1109 628, 517, 530, 531, 629, 808, 532, 809, 810, 75,
1110 533, 308, 811, 255, 534, 535, 1289, 536, 540, 541,
1111 76, 436, 542, 630, 573, 543, 569, 631, 632, 544,
1112 545, 282, 546, 547, 548, 1364, 1365, 549, 309, 310,
1113 550, 77, 78, 570, 571, 572, 256, 79, 574, 80,
1114 576, 575, 577, 578, 583, 445, 581, 582, 633, 584,
1115 634, 585, 592, 587, 588, 593, 1366, 663, 664, 589,
1116 283, 590, 812, 446, 635, 591, 668, 669, 813, 447,
1117 667, 670, 674, 676, 1367, 284, 594, 595, 1180, 814,
1118 815, 1368, 1290, 596, 678, 636, 679, 680, 681, 816,
1119 682, 683, 685, 448, 449, 81, 82, 285, 450, 286,
1120 1369, 287, 288, 684, 687, 83, 84, 688, 706, 689,
1121 694, 697, 451, 695, 1291, 686, 690, 637, 692, 452,
1122 693, 289, 696, 698, 700, 85, 86, 701, 1370, 1292,
1123 704, 638, 705, 702, 703, 707, 1371, 708, 453, 711,
1124 714, 639, 87, 88, 282, 715, 716, 713, 1293, 1294,
1125 725, 1170, 732, 89, 1295, 1296, 1297, 1298, 721, 1178,
1126 1179, 722, 90, 597, 598, 599, 454, 1299, 600, 728,
1127 734, 735, 737, 738, 455, 601, 1372, 729, 741, 742,
1128 730, 743, 731, 283, 744, 745, 747, 748, 602, 603,
1129 749, 750, 456, 751, 752, 1373, 753, 754, 284, 755,
1130 756, 457, 458, 640, 757, 604, 605, 760, 762, 244,
1131 765, 127, 1207, 767, 768, 769, 641, 128, 129, 789,
1132 285, 130, 286, 842, 287, 288, 772, 790, 131, 773,
1133 606, 774, 459, 460, 793, 841, 847, 132, 775, 776,
1134 777, 133, 134, 843, 289, 91, 92, 93, 135, 778,
1135 779, 787, 136, 137, 138, 844, 139, 848, 788, 791,
1136 792, 849, 140, 850, 245, 246, 247, 248, 249, 250,
1137 251, 252, 854, 851, 866, 299, 855, 857, 852, 858,
1138 859, 141, 142, 856, 863, 867, 143, 873, 868, 461,
1139 860, 870, 861, 144, 874, 878, 879, 145, 146, 147,
1140 862, 880, 148, 881, 864, 149, 150, 882, 883, 865,
1141 300, 884, 885, 253, 893, 894, 151, 895, 907, 896,
1142 897, 898, 152, 153, 899, 154, 155, 156, 157, 900,
1143 901, 902, 903, 904, 794, 905, 906, 795, 944, 158,
1144 908, 909, 910, 911, 912, 913, 914, 254, 159, 915,
1145 160, 161, 916, 162, 922, 917, 163, 164, 796, 301,
1146 165, 918, 919, 923, 924, 925, 926, 927, 928, 929,
1147 797, 166, 930, 931, 933, 934, 935, 936, 937, 938,
1148 939, 940, 798, 941, 945, 946, 947, 799, 948, 949,
1149 167, 950, 168, 951, 952, 302, 169, 303, 304, 800,
1150 170, 171, 172, 173, 174, 953, 801, 954, 175, 176,
1151 955, 802, 956, 803, 957, 958, 959, 177, 960, 961,
1152 622, 623, 962, 963, 624, 255, 804, 964, 625, 965,
1153 1054, 966, 1451, 967, 1056, 968, 969, 970, 971, 972,
1154 305, 973, 306, 626, 627, 628, 974, 975, 178, 629,
1155 179, 976, 977, 978, 805, 307, 180, 979, 256, 806,
1156 980, 181, 981, 982, 983, 1452, 182, 1005, 630, 1027,
1157 1028, 1029, 631, 632, 1030, 1031, 1032, 1453, 75, 196,
1158 1033, 807, 1034, 1035, 1036, 1061, 1037, 1038, 1039, 76,
1159 1040, 1041, 1042, 808, 1454, 809, 810, 1048, 1049, 308,
1160 811, 1455, 1050, 633, 1051, 634, 1456, 1052, 1457, 1053,
1161 77, 78, 196, 1057, 1058, 1059, 79, 1060, 80, 635,
1162 1063, 1458, 1062, 1064, 196, 1065, 309, 310, 1072, 1066,
1163 1067, 1068, 1069, 303, 303, 1070, 1071, 1304, 1075, 1077,
1164 636, 196, 1079, 1073, 1081, 1082, 1074, 1085, 196, 445,
1165 1088, 1076, 1089, 196, 1459, 196, 1090, 1078, 1080, 1083,
1166 812, 1091, 1092, 1093, 303, 1084, 813, 446, 196, 1094,
1167 1460, 1095, 637, 447, 81, 82, 1096, 814, 815, 1097,
1168 1098, 1099, 303, 1100, 83, 84, 638, 816, 1461, 303,
1169 1462, 1463, 1101, 1102, 1103, 1104, 639, 448, 449, 1105,
1170 1106, 196, 450, 1107, 85, 86, 1108, 1109, 303, 1134,
1171 1110, 1111, 1112, 1305, 1113, 1115, 451, 196, 1116, 1117,
1172 1118, 87, 88, 452, 1119, 1120, 1121, 2, 1122, 1123,
1173 3, 593, 89, 1124, 1125, 196, 303, 196, 196, 1126,
1174 1127, 90, 453, 1129, 303, 1306, 1130, 4, 1131, 1135,
1175 1136, 5, 594, 595, 6, 1464, 1137, 1138, 640, 596,
1176 1307, 7, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146,
1177 454, 641, 1465, 1147, 1148, 1149, 1150, 8, 455, 1308,
1178 1309, 1151, 1466, 1152, 303, 1310, 1311, 1312, 1313, 1153,
1179 9, 10, 1154, 11, 1155, 1156, 456, 1157, 1314, 1158,
1180 12, 1159, 196, 303, 1161, 457, 458, 1160, 1162, 1181,
1181 1168, 1169, 1171, 1185, 1188, 1172, 1173, 13, 1174, 196,
1182 1192, 1202, 1203, 1176, 91, 92, 93, 1177, 14, 196,
1183 15, 1204, 1205, 1206, 1221, 1222, 459, 460, 1227, 597,
1184 598, 599, 1175, 1228, 600, 1197, 16, 1182, 1186, 1189,
1185 1187, 601, 1191, 1193, 1194, 1229, 1195, 1230, 1196, 1190,
1186 1200, 1198, 1231, 17, 602, 603, 1232, 1233, 1237, 1238,
1187 1199, 1201, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
1188 1247, 604, 605, 1248, 1252, 1257, 1258, 1249, 1260, 1266,
1189 1280, 1284, 1259, 461, 1263, 18, 1285, 1286, 1272, 1287,
1190 1262, 1288, 1302, 216, 19, 20, 606, 1303, 1274, 21,
1191 22, 984, 985, 986, 987, 988, 1264, 989, 990, 1317,
1192 991, 992, 993, 1318, 1319, 994, 1320, 1321, 1322, 1278,
1193 1323, 1282, 1324, 1265, 1267, 995, 996, 997, 998, 999,
1194 1000, 1268, 1325, 1001, 1326, 1269, 1002, 1006, 1007, 1008,
1195 1009, 1010, 1270, 1011, 1012, 1327, 1013, 1014, 1015, 1271,
1196 1328, 1016, 1329, 1273, 1275, 1330, 1331, 1332, 1276, 1277,
1197 1333, 1017, 1018, 1019, 1020, 1021, 1022, 1334, 1335, 1023,
1198 1279, 1336, 1024, 1403, 1404, 1405, 1406, 1407, 1337, 1408,
1199 1409, 1281, 1410, 1411, 1412, 1338, 1283, 1413, 1339, 1340,
1200 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1414, 1415, 1416,
1201 1417, 1418, 1419, 1351, 1352, 1420, 1379, 1381, 1421, 1382,
1202 1383, 1384, 1385, 1386, 1390, 1391, 1392, 1393, 1394, 1395,
1203 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1424, 1425, 1426,
1204 386, 25, 33, 119, 263, 519, 514, 1475, 552, 1474,
1205 1476, 331, 1447, 771, 1380, 1470, 759, 1133, 1444, 1445,
1206 846, 877, 1473, 872, 1471, 429, 1472, 1446, 666, 673,
1207 764, 363, 921, 538, 943, 1441, 740, 1356, 351, 1355,
1208 1443, 0, 0, 0, 1442,
1209 };
1210 const short yycheck[] = { 337,
1211 338, 422, 125, 125, 125, 125, 344, 256, 256, 258,
1212 264, 256, 266, 256, 265, 125, 125, 125, 265, 256,
1213 59, 409, 256, 125, 256, 125, 256, 281, 264, 256,
1214 266, 285, 256, 276, 125, 332, 374, 256, 376, 268,
1215 269, 270, 44, 450, 451, 281, 44, 44, 387, 285,
1216 125, 300, 390, 44, 303, 123, 125, 59, 123, 44,
1217 398, 59, 59, 123, 44, 44, 125, 291, 59, 44,
1218 408, 409, 309, 411, 59, 123, 125, 44, 302, 59,
1219 59, 44, 420, 421, 59, 423, 125, 426, 427, 428,
1220 429, 430, 59, 123, 44, 123, 59, 44, 123, 44,
1221 354, 44, 339, 886, 887, 888, 889, 890, 345, 59,
1222 359, 123, 59, 345, 59, 345, 59, 409, 354, 1043,
1223 1044, 1045, 450, 451, 123, 125, 409, 376, 376, 469,
1224 470, 123, 59, 256, 256, 256, 256, 380, 61, 262,
1225 263, 123, 376, 266, 61, 123, 256, 256, 256, 376,
1226 273, 123, 376, 123, 256, 374, 256, 123, 387, 282,
1227 61, 123, 123, 286, 287, 256, 411, 276, 411, 61,
1228 293, 408, 61, 61, 297, 298, 299, 411, 301, 411,
1229 61, 256, 61, 61, 307, 404, 61, 256, 61, 258,
1230 487, 61, 440, 61, 61, 440, 61, 256, 536, 309,
1231 291, 452, 61, 326, 327, 452, 440, 256, 331, 61,
1232 61, 302, 61, 440, 61, 338, 61, 123, 123, 342,
1233 343, 344, 61, 345, 347, 345, 61, 350, 351, 339,
1234 61, 300, 291, 61, 303, 345, 61, 61, 361, 61,
1235 494, 61, 61, 61, 367, 368, 59, 370, 371, 372,
1236 373, 500, 500, 374, 125, 500, 256, 61, 494, 259,
1237 61, 384, 311, 312, 313, 314, 315, 316, 317, 318,
1238 393, 380, 395, 396, 376, 398, 376, 61, 401, 402,
1239 280, 340, 405, 404, 61, 376, 61, 61, 125, 411,
1240 359, 61, 292, 416, 61, 61, 61, 61, 408, 61,
1241 61, 376, 411, 411, 304, 61, 61, 376, 61, 309,
1242 125, 360, 435, 61, 437, 61, 61, 376, 441, 378,
1243 379, 321, 445, 446, 447, 448, 449, 61, 328, 61,
1244 453, 454, 440, 333, 125, 335, 411, 61, 440, 462,
1245 440, 61, 61, 61, 125, 394, 61, 61, 348, 473,
1246 474, 475, 476, 477, 478, 479, 61, 61, 61, 61,
1247 61, 61, 421, 61, 423, 440, 61, 61, 61, 123,
1248 493, 61, 495, 61, 61, 61, 376, 436, 501, 61,
1249 61, 381, 61, 506, 61, 256, 257, 61, 511, 260,
1250 61, 61, 500, 264, 61, 61, 734, 61, 500, 61,
1251 61, 61, 61, 403, 61, 59, 61, 59, 279, 280,
1252 281, 61, 61, 61, 285, 415, 61, 417, 418, 256,
1253 61, 480, 422, 472, 61, 61, 348, 61, 61, 61,
1254 267, 500, 61, 304, 450, 61, 409, 308, 309, 61,
1255 61, 256, 61, 61, 61, 274, 275, 61, 507, 508,
1256 61, 288, 289, 409, 409, 59, 505, 294, 387, 296,
1257 450, 387, 450, 387, 450, 256, 387, 387, 339, 450,
1258 341, 387, 59, 450, 450, 256, 305, 61, 61, 450,
1259 295, 450, 482, 274, 355, 450, 59, 61, 488, 280,
1260 409, 61, 450, 450, 323, 310, 277, 278, 919, 499,
1261 500, 330, 424, 284, 387, 376, 409, 387, 450, 509,
1262 450, 450, 409, 304, 305, 352, 353, 332, 309, 334,
1263 349, 336, 337, 387, 387, 362, 363, 387, 61, 387,
1264 387, 387, 323, 409, 456, 450, 450, 408, 450, 330,
1265 450, 356, 450, 387, 387, 382, 383, 409, 377, 471,
1266 450, 422, 450, 387, 387, 450, 385, 61, 349, 450,
1267 450, 432, 399, 400, 256, 450, 450, 409, 490, 491,
1268 387, 909, 59, 410, 496, 497, 498, 499, 450, 917,
1269 918, 450, 419, 364, 365, 366, 377, 509, 369, 450,
1270 61, 61, 61, 61, 385, 376, 425, 450, 59, 61,
1271 450, 61, 450, 295, 61, 61, 61, 61, 389, 390,
1272 61, 61, 403, 61, 61, 444, 61, 61, 310, 61,
1273 61, 412, 413, 494, 61, 406, 407, 61, 61, 256,
1274 59, 256, 414, 61, 61, 61, 507, 262, 263, 450,
1275 332, 266, 334, 61, 336, 337, 409, 59, 273, 409,
1276 431, 409, 443, 444, 59, 59, 450, 282, 409, 409,
1277 409, 286, 287, 61, 356, 502, 503, 504, 293, 409,
1278 409, 409, 297, 298, 299, 61, 301, 450, 409, 409,
1279 409, 450, 307, 409, 311, 312, 313, 314, 315, 316,
1280 317, 318, 59, 450, 59, 256, 409, 409, 450, 409,
1281 409, 326, 327, 450, 387, 59, 331, 59, 61, 500,
1282 409, 61, 409, 338, 61, 59, 59, 342, 343, 344,
1283 409, 59, 347, 59, 409, 350, 351, 59, 59, 409,
1284 291, 59, 59, 360, 59, 59, 361, 59, 61, 59,
1285 59, 59, 367, 368, 59, 370, 371, 372, 373, 59,
1286 59, 59, 59, 59, 256, 59, 59, 259, 409, 384,
1287 61, 61, 61, 61, 61, 61, 61, 394, 393, 61,
1288 395, 396, 61, 398, 59, 61, 401, 402, 280, 340,
1289 405, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1290 292, 416, 61, 61, 61, 61, 61, 61, 61, 61,
1291 61, 61, 304, 61, 409, 59, 59, 309, 409, 409,
1292 435, 61, 437, 59, 59, 376, 441, 378, 379, 321,
1293 445, 446, 447, 448, 449, 59, 328, 59, 453, 454,
1294 59, 333, 59, 335, 59, 59, 59, 462, 59, 59,
1295 256, 257, 59, 59, 260, 472, 348, 59, 264, 59,
1296 61, 59, 259, 59, 450, 59, 59, 59, 59, 59,
1297 421, 59, 423, 279, 280, 281, 59, 59, 493, 285,
1298 495, 59, 59, 59, 376, 436, 501, 59, 505, 381,
1299 59, 506, 59, 59, 59, 292, 511, 59, 304, 59,
1300 59, 59, 308, 309, 59, 59, 59, 304, 256, 259,
1301 59, 403, 59, 59, 59, 450, 59, 59, 59, 267,
1302 59, 59, 59, 415, 321, 417, 418, 59, 59, 480,
1303 422, 328, 59, 339, 59, 341, 333, 59, 335, 59,
1304 288, 289, 292, 61, 409, 409, 294, 59, 296, 355,
1305 450, 348, 409, 450, 304, 61, 507, 508, 387, 450,
1306 450, 450, 450, 274, 275, 450, 409, 348, 450, 59,
1307 376, 321, 61, 409, 59, 61, 409, 387, 328, 256,
1308 59, 409, 59, 333, 381, 335, 59, 409, 409, 409,
1309 482, 59, 59, 59, 305, 409, 488, 274, 348, 59,
1310 397, 59, 408, 280, 352, 353, 59, 499, 500, 59,
1311 59, 59, 323, 59, 362, 363, 422, 509, 415, 330,
1312 417, 418, 59, 59, 59, 59, 432, 304, 305, 59,
1313 59, 381, 309, 59, 382, 383, 59, 59, 349, 409,
1314 61, 61, 61, 424, 61, 61, 323, 397, 61, 61,
1315 61, 399, 400, 330, 61, 61, 61, 256, 61, 61,
1316 259, 256, 410, 61, 61, 415, 377, 417, 418, 61,
1317 61, 419, 349, 61, 385, 456, 61, 276, 61, 409,
1318 409, 280, 277, 278, 283, 482, 59, 59, 494, 284,
1319 471, 290, 59, 59, 59, 59, 59, 59, 59, 59,
1320 377, 507, 499, 59, 59, 59, 59, 306, 385, 490,
1321 491, 59, 509, 59, 425, 496, 497, 498, 499, 59,
1322 319, 320, 59, 322, 59, 409, 403, 61, 509, 409,
1323 329, 59, 482, 444, 61, 412, 413, 409, 59, 59,
1324 387, 387, 387, 450, 450, 387, 387, 346, 387, 499,
1325 61, 59, 59, 387, 502, 503, 504, 387, 357, 509,
1326 359, 59, 59, 59, 59, 59, 443, 444, 59, 364,
1327 365, 366, 409, 59, 369, 387, 375, 409, 409, 450,
1328 409, 376, 409, 409, 409, 59, 409, 59, 409, 450,
1329 450, 409, 59, 392, 389, 390, 59, 386, 59, 59,
1330 409, 409, 59, 59, 59, 59, 59, 59, 59, 59,
1331 59, 406, 407, 59, 59, 59, 59, 414, 44, 61,
1332 61, 59, 455, 500, 409, 424, 59, 59, 409, 59,
1333 450, 59, 59, 123, 433, 434, 431, 59, 409, 438,
1334 439, 457, 458, 459, 460, 461, 450, 463, 464, 59,
1335 466, 467, 468, 59, 59, 471, 59, 59, 59, 409,
1336 59, 409, 59, 450, 450, 481, 482, 483, 484, 485,
1337 486, 450, 59, 489, 59, 450, 492, 457, 458, 459,
1338 460, 461, 450, 463, 464, 59, 466, 467, 468, 450,
1339 59, 471, 59, 450, 450, 59, 59, 59, 450, 450,
1340 59, 481, 482, 483, 484, 485, 486, 59, 59, 489,
1341 450, 59, 492, 457, 458, 459, 460, 461, 59, 463,
1342 464, 450, 466, 467, 468, 59, 450, 471, 59, 386,
1343 59, 59, 59, 59, 59, 59, 59, 481, 482, 483,
1344 484, 485, 486, 59, 59, 489, 387, 59, 492, 59,
1345 59, 59, 59, 386, 59, 59, 59, 59, 59, 59,
1346 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1347 123, 59, 59, 123, 59, 274, 257, 1450, 311, 1448,
1348 1469, 70, 1378, 494, 1260, 1428, 462, 817, 1361, 1363,
1349 525, 565, 1433, 557, 1430, 183, 1431, 1376, 357, 368,
1350 484, 123, 607, 290, 642, 1354, 437, 1213, 94, 1211,
1351 1360, -1, -1, -1, 1358,
1352 };
1353 #define YYFINAL 1
1354 #ifndef YYDEBUG
1355 #define YYDEBUG 0
1356 #endif
1357 #define YYMAXTOKEN 511
1358 #if YYDEBUG
1359 const char * const yyname[] = {
1360 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1361 0,0,0,0,0,0,0,0,0,0,"','",0,0,0,0,0,0,0,0,0,0,0,0,0,0,"';'",0,"'='",0,0,0,0,0,0,
1362 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1363 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1364 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1365 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1366 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1367 "ACCEPT_PASSWORD","ACTION","ADMIN","AFTYPE","T_ALLOW","ANTI_NICK_FLOOD",
1368 "ANTI_SPAM_EXIT_MESSAGE_TIME","AUTOCONN","T_BLOCK","BURST_AWAY",
1369 "BURST_TOPICWHO","BYTES","KBYTES","MBYTES","GBYTES","TBYTES","CALLER_ID_WAIT",
1370 "CAN_FLOOD","CAN_IDLE","CHANNEL","CIDR_BITLEN_IPV4","CIDR_BITLEN_IPV6",
1371 "CIPHER_PREFERENCE","CLASS","COMPRESSED","COMPRESSION_LEVEL","CONNECT",
1372 "CONNECTFREQ","CRYPTLINK","DEFAULT_CIPHER_PREFERENCE","DEFAULT_FLOODCOUNT",
1373 "DEFAULT_SPLIT_SERVER_COUNT","DEFAULT_SPLIT_USER_COUNT","DENY","DESCRIPTION",
1374 "DIE","DISABLE_AUTH","DISABLE_FAKE_CHANNELS","DISABLE_HIDDEN",
1375 "DISABLE_LOCAL_CHANNELS","DISABLE_REMOTE_COMMANDS","DOT_IN_IP6_ADDR",
1376 "DOTS_IN_IDENT","DURATION","EGDPOOL_PATH","EMAIL","ENABLE","ENCRYPTED",
1377 "EXCEED_LIMIT","EXEMPT","FAILED_OPER_NOTICE","FAKENAME","IRCD_FLAGS",
1378 "FLATTEN_LINKS","FFAILED_OPERLOG","FKILLLOG","FKLINELOG","FGLINELOG",
1379 "FIOERRLOG","FOPERLOG","FOPERSPYLOG","FUSERLOG","GECOS","GENERAL","GLINE",
1380 "GLINES","GLINE_EXEMPT","GLINE_LOG","GLINE_TIME","GLINE_MIN_CIDR",
1381 "GLINE_MIN_CIDR6","GLOBAL_KILL","IRCD_AUTH","NEED_IDENT","HAVENT_READ_CONF",
1382 "HIDDEN","HIDDEN_ADMIN","HIDDEN_NAME","HIDDEN_OPER","HIDE_SERVER_IPS",
1383 "HIDE_SERVERS","HIDE_SPOOF_IPS","HOST","HUB","HUB_MASK","IDLETIME",
1384 "IGNORE_BOGUS_TS","INVISIBLE_ON_CONNECT","IP","KILL","KILL_CHASE_TIME_LIMIT",
1385 "KLINE","KLINE_EXEMPT","KLINE_REASON","KLINE_WITH_REASON","KNOCK_DELAY",
1386 "KNOCK_DELAY_CHANNEL","LAZYLINK","LEAF_MASK","LINKS_DELAY","LISTEN","T_LOG",
1387 "LOGGING","LOG_LEVEL","MAX_ACCEPT","MAX_BANS","MAX_CHANS_PER_USER","MAX_GLOBAL",
1388 "MAX_IDENT","MAX_LOCAL","MAX_NICK_CHANGES","MAX_NICK_TIME","MAX_NUMBER",
1389 "MAX_TARGETS","MESSAGE_LOCALE","MIN_NONWILDCARD","MIN_NONWILDCARD_SIMPLE",
1390 "MODULE","MODULES","NAME","NEED_PASSWORD","NETWORK_DESC","NETWORK_NAME","NICK",
1391 "NICK_CHANGES","NO_CREATE_ON_SPLIT","NO_JOIN_ON_SPLIT","NO_OPER_FLOOD",
1392 "NO_TILDE","NOT","NUMBER","NUMBER_PER_IDENT","NUMBER_PER_CIDR","NUMBER_PER_IP",
1393 "NUMBER_PER_IP_GLOBAL","OPERATOR","OPERS_BYPASS_CALLERID","OPER_LOG",
1394 "OPER_ONLY_UMODES","OPER_PASS_RESV","OPER_SPY_T","OPER_UMODES",
1395 "JOIN_FLOOD_COUNT","JOIN_FLOOD_TIME","PACE_WAIT","PACE_WAIT_SIMPLE","PASSWORD",
1396 "PATH","PING_COOKIE","PING_TIME","PING_WARNING","PORT","QSTRING","QUIET_ON_BAN",
1397 "REASON","REDIRPORT","REDIRSERV","REGEX_T","REHASH","TREJECT_HOLD_TIME",
1398 "REMOTE","REMOTEBAN","RESTRICT_CHANNELS","RESTRICTED","RSA_PRIVATE_KEY_FILE",
1399 "RSA_PUBLIC_KEY_FILE","SSL_CERTIFICATE_FILE","RESV","RESV_EXEMPT","SECONDS",
1400 "MINUTES","HOURS","DAYS","WEEKS","SENDQ","SEND_PASSWORD","SERVERHIDE",
1401 "SERVERINFO","SERVLINK_PATH","IRCD_SID","TKLINE_EXPIRE_NOTICES","T_SHARED",
1402 "T_CLUSTER","TYPE","SHORT_MOTD","SILENT","SPOOF","SPOOF_NOTICE",
1403 "STATS_E_DISABLED","STATS_I_OPER_ONLY","STATS_K_OPER_ONLY","STATS_O_OPER_ONLY",
1404 "STATS_P_OPER_ONLY","TBOOL","TMASKED","T_REJECT","TS_MAX_DELTA","TS_WARN_DELTA",
1405 "TWODOTS","T_ALL","T_BOTS","T_SOFTCALLERID","T_CALLERID","T_CCONN",
1406 "T_CCONN_FULL","T_CLIENT_FLOOD","T_DEAF","T_DEBUG","T_DRONE","T_EXTERNAL",
1407 "T_FULL","T_INVISIBLE","T_IPV4","T_IPV6","T_LOCOPS","T_LOGPATH","T_L_CRIT",
1408 "T_L_DEBUG","T_L_ERROR","T_L_INFO","T_L_NOTICE","T_L_TRACE","T_L_WARN",
1409 "T_MAX_CLIENTS","T_NCHANGE","T_OPERWALL","T_REJ","T_SERVNOTICE","T_SKILL",
1410 "T_SPY","T_SSL","T_UMODES","T_UNAUTH","T_UNRESV","T_UNXLINE","T_WALLOP",
1411 "THROTTLE_TIME","TOPICBURST","TRUE_NO_OPER_FLOOD","TKLINE","TXLINE","TRESV",
1412 "UNKLINE","USER","USE_EGD","USE_EXCEPT","USE_INVEX","USE_KNOCK","USE_LOGGING",
1413 "USE_WHOIS_ACTUALLY","VHOST","VHOST6","XLINE","WARN","WARN_NO_NLINE",
1414 };
1415 const char * const yyrule[] = {
1416 "$accept : conf",
1417 "conf :",
1418 "conf : conf conf_item",
1419 "conf_item : admin_entry",
1420 "conf_item : logging_entry",
1421 "conf_item : oper_entry",
1422 "conf_item : channel_entry",
1423 "conf_item : class_entry",
1424 "conf_item : listen_entry",
1425 "conf_item : auth_entry",
1426 "conf_item : serverinfo_entry",
1427 "conf_item : serverhide_entry",
1428 "conf_item : resv_entry",
1429 "conf_item : shared_entry",
1430 "conf_item : cluster_entry",
1431 "conf_item : connect_entry",
1432 "conf_item : kill_entry",
1433 "conf_item : deny_entry",
1434 "conf_item : exempt_entry",
1435 "conf_item : general_entry",
1436 "conf_item : gline_entry",
1437 "conf_item : gecos_entry",
1438 "conf_item : modules_entry",
1439 "conf_item : error ';'",
1440 "conf_item : error '}'",
1441 "timespec_ :",
1442 "timespec_ : timespec",
1443 "timespec : NUMBER timespec_",
1444 "timespec : NUMBER SECONDS timespec_",
1445 "timespec : NUMBER MINUTES timespec_",
1446 "timespec : NUMBER HOURS timespec_",
1447 "timespec : NUMBER DAYS timespec_",
1448 "timespec : NUMBER WEEKS timespec_",
1449 "sizespec_ :",
1450 "sizespec_ : sizespec",
1451 "sizespec : NUMBER sizespec_",
1452 "sizespec : NUMBER BYTES sizespec_",
1453 "sizespec : NUMBER KBYTES sizespec_",
1454 "sizespec : NUMBER MBYTES sizespec_",
1455 "modules_entry : MODULES '{' modules_items '}' ';'",
1456 "modules_items : modules_items modules_item",
1457 "modules_items : modules_item",
1458 "modules_item : modules_module",
1459 "modules_item : modules_path",
1460 "modules_item : error ';'",
1461 "modules_module : MODULE '=' QSTRING ';'",
1462 "modules_path : PATH '=' QSTRING ';'",
1463 "serverinfo_entry : SERVERINFO '{' serverinfo_items '}' ';'",
1464 "serverinfo_items : serverinfo_items serverinfo_item",
1465 "serverinfo_items : serverinfo_item",
1466 "serverinfo_item : serverinfo_name",
1467 "serverinfo_item : serverinfo_vhost",
1468 "serverinfo_item : serverinfo_hub",
1469 "serverinfo_item : serverinfo_description",
1470 "serverinfo_item : serverinfo_network_name",
1471 "serverinfo_item : serverinfo_network_desc",
1472 "serverinfo_item : serverinfo_max_clients",
1473 "serverinfo_item : serverinfo_rsa_private_key_file",
1474 "serverinfo_item : serverinfo_vhost6",
1475 "serverinfo_item : serverinfo_sid",
1476 "serverinfo_item : serverinfo_ssl_certificate_file",
1477 "serverinfo_item : error ';'",
1478 "serverinfo_ssl_certificate_file : SSL_CERTIFICATE_FILE '=' QSTRING ';'",
1479 "serverinfo_rsa_private_key_file : RSA_PRIVATE_KEY_FILE '=' QSTRING ';'",
1480 "serverinfo_name : NAME '=' QSTRING ';'",
1481 "serverinfo_sid : IRCD_SID '=' QSTRING ';'",
1482 "serverinfo_description : DESCRIPTION '=' QSTRING ';'",
1483 "serverinfo_network_name : NETWORK_NAME '=' QSTRING ';'",
1484 "serverinfo_network_desc : NETWORK_DESC '=' QSTRING ';'",
1485 "serverinfo_vhost : VHOST '=' QSTRING ';'",
1486 "serverinfo_vhost6 : VHOST6 '=' QSTRING ';'",
1487 "serverinfo_max_clients : T_MAX_CLIENTS '=' NUMBER ';'",
1488 "serverinfo_hub : HUB '=' TBOOL ';'",
1489 "admin_entry : ADMIN '{' admin_items '}' ';'",
1490 "admin_items : admin_items admin_item",
1491 "admin_items : admin_item",
1492 "admin_item : admin_name",
1493 "admin_item : admin_description",
1494 "admin_item : admin_email",
1495 "admin_item : error ';'",
1496 "admin_name : NAME '=' QSTRING ';'",
1497 "admin_email : EMAIL '=' QSTRING ';'",
1498 "admin_description : DESCRIPTION '=' QSTRING ';'",
1499 "logging_entry : LOGGING '{' logging_items '}' ';'",
1500 "logging_items : logging_items logging_item",
1501 "logging_items : logging_item",
1502 "logging_item : logging_path",
1503 "logging_item : logging_oper_log",
1504 "logging_item : logging_log_level",
1505 "logging_item : logging_use_logging",
1506 "logging_item : logging_fuserlog",
1507 "logging_item : logging_foperlog",
1508 "logging_item : logging_fglinelog",
1509 "logging_item : logging_fklinelog",
1510 "logging_item : logging_killlog",
1511 "logging_item : logging_foperspylog",
1512 "logging_item : logging_ioerrlog",
1513 "logging_item : logging_ffailed_operlog",
1514 "logging_item : error ';'",
1515 "logging_path : T_LOGPATH '=' QSTRING ';'",
1516 "logging_oper_log : OPER_LOG '=' QSTRING ';'",
1517 "logging_fuserlog : FUSERLOG '=' QSTRING ';'",
1518 "logging_ffailed_operlog : FFAILED_OPERLOG '=' QSTRING ';'",
1519 "logging_foperlog : FOPERLOG '=' QSTRING ';'",
1520 "logging_foperspylog : FOPERSPYLOG '=' QSTRING ';'",
1521 "logging_fglinelog : FGLINELOG '=' QSTRING ';'",
1522 "logging_fklinelog : FKLINELOG '=' QSTRING ';'",
1523 "logging_ioerrlog : FIOERRLOG '=' QSTRING ';'",
1524 "logging_killlog : FKILLLOG '=' QSTRING ';'",
1525 "logging_log_level : LOG_LEVEL '=' T_L_CRIT ';'",
1526 "logging_log_level : LOG_LEVEL '=' T_L_ERROR ';'",
1527 "logging_log_level : LOG_LEVEL '=' T_L_WARN ';'",
1528 "logging_log_level : LOG_LEVEL '=' T_L_NOTICE ';'",
1529 "logging_log_level : LOG_LEVEL '=' T_L_TRACE ';'",
1530 "logging_log_level : LOG_LEVEL '=' T_L_INFO ';'",
1531 "logging_log_level : LOG_LEVEL '=' T_L_DEBUG ';'",
1532 "logging_use_logging : USE_LOGGING '=' TBOOL ';'",
1533 "$$1 :",
1534 "oper_entry : OPERATOR $$1 oper_name_b '{' oper_items '}' ';'",
1535 "oper_name_b :",
1536 "oper_name_b : oper_name_t",
1537 "oper_items : oper_items oper_item",
1538 "oper_items : oper_item",
1539 "oper_item : oper_name",
1540 "oper_item : oper_user",
1541 "oper_item : oper_password",
1542 "oper_item : oper_hidden_admin",
1543 "oper_item : oper_hidden_oper",
1544 "oper_item : oper_umodes",
1545 "oper_item : oper_class",
1546 "oper_item : oper_global_kill",
1547 "oper_item : oper_remote",
1548 "oper_item : oper_kline",
1549 "oper_item : oper_xline",
1550 "oper_item : oper_unkline",
1551 "oper_item : oper_gline",
1552 "oper_item : oper_nick_changes",
1553 "oper_item : oper_remoteban",
1554 "oper_item : oper_die",
1555 "oper_item : oper_rehash",
1556 "oper_item : oper_admin",
1557 "oper_item : oper_operwall",
1558 "oper_item : oper_encrypted",
1559 "oper_item : oper_rsa_public_key_file",
1560 "oper_item : oper_flags",
1561 "oper_item : error ';'",
1562 "oper_name : NAME '=' QSTRING ';'",
1563 "oper_name_t : QSTRING",
1564 "oper_user : USER '=' QSTRING ';'",
1565 "oper_password : PASSWORD '=' QSTRING ';'",
1566 "oper_encrypted : ENCRYPTED '=' TBOOL ';'",
1567 "oper_rsa_public_key_file : RSA_PUBLIC_KEY_FILE '=' QSTRING ';'",
1568 "oper_class : CLASS '=' QSTRING ';'",
1569 "$$2 :",
1570 "oper_umodes : T_UMODES $$2 '=' oper_umodes_items ';'",
1571 "oper_umodes_items : oper_umodes_items ',' oper_umodes_item",
1572 "oper_umodes_items : oper_umodes_item",
1573 "oper_umodes_item : T_BOTS",
1574 "oper_umodes_item : T_CCONN",
1575 "oper_umodes_item : T_CCONN_FULL",
1576 "oper_umodes_item : T_DEAF",
1577 "oper_umodes_item : T_DEBUG",
1578 "oper_umodes_item : T_FULL",
1579 "oper_umodes_item : T_SKILL",
1580 "oper_umodes_item : T_NCHANGE",
1581 "oper_umodes_item : T_REJ",
1582 "oper_umodes_item : T_UNAUTH",
1583 "oper_umodes_item : T_SPY",
1584 "oper_umodes_item : T_EXTERNAL",
1585 "oper_umodes_item : T_OPERWALL",
1586 "oper_umodes_item : T_SERVNOTICE",
1587 "oper_umodes_item : T_INVISIBLE",
1588 "oper_umodes_item : T_WALLOP",
1589 "oper_umodes_item : T_SOFTCALLERID",
1590 "oper_umodes_item : T_CALLERID",
1591 "oper_umodes_item : T_LOCOPS",
1592 "oper_global_kill : GLOBAL_KILL '=' TBOOL ';'",
1593 "oper_remote : REMOTE '=' TBOOL ';'",
1594 "oper_remoteban : REMOTEBAN '=' TBOOL ';'",
1595 "oper_kline : KLINE '=' TBOOL ';'",
1596 "oper_xline : XLINE '=' TBOOL ';'",
1597 "oper_unkline : UNKLINE '=' TBOOL ';'",
1598 "oper_gline : GLINE '=' TBOOL ';'",
1599 "oper_nick_changes : NICK_CHANGES '=' TBOOL ';'",
1600 "oper_die : DIE '=' TBOOL ';'",
1601 "oper_rehash : REHASH '=' TBOOL ';'",
1602 "oper_admin : ADMIN '=' TBOOL ';'",
1603 "oper_hidden_admin : HIDDEN_ADMIN '=' TBOOL ';'",
1604 "oper_hidden_oper : HIDDEN_OPER '=' TBOOL ';'",
1605 "oper_operwall : T_OPERWALL '=' TBOOL ';'",
1606 "$$3 :",
1607 "oper_flags : IRCD_FLAGS $$3 '=' oper_flags_items ';'",
1608 "oper_flags_items : oper_flags_items ',' oper_flags_item",
1609 "oper_flags_items : oper_flags_item",
1610 "$$4 :",
1611 "oper_flags_item : NOT $$4 oper_flags_item_atom",
1612 "$$5 :",
1613 "oper_flags_item : $$5 oper_flags_item_atom",
1614 "oper_flags_item_atom : GLOBAL_KILL",
1615 "oper_flags_item_atom : REMOTE",
1616 "oper_flags_item_atom : KLINE",
1617 "oper_flags_item_atom : UNKLINE",
1618 "oper_flags_item_atom : XLINE",
1619 "oper_flags_item_atom : GLINE",
1620 "oper_flags_item_atom : DIE",
1621 "oper_flags_item_atom : REHASH",
1622 "oper_flags_item_atom : ADMIN",
1623 "oper_flags_item_atom : HIDDEN_ADMIN",
1624 "oper_flags_item_atom : NICK_CHANGES",
1625 "oper_flags_item_atom : T_OPERWALL",
1626 "oper_flags_item_atom : OPER_SPY_T",
1627 "oper_flags_item_atom : HIDDEN_OPER",
1628 "oper_flags_item_atom : REMOTEBAN",
1629 "oper_flags_item_atom : ENCRYPTED",
1630 "$$6 :",
1631 "class_entry : CLASS $$6 class_name_b '{' class_items '}' ';'",
1632 "class_name_b :",
1633 "class_name_b : class_name_t",
1634 "class_items : class_items class_item",
1635 "class_items : class_item",
1636 "class_item : class_name",
1637 "class_item : class_cidr_bitlen_ipv4",
1638 "class_item : class_cidr_bitlen_ipv6",
1639 "class_item : class_ping_time",
1640 "class_item :