From: Wouter Wijngaards Date: Thu, 16 Jun 2011 13:15:57 +0000 (+0000) Subject: - log-queries: yesno option, default is no, prints querylog. X-Git-Tag: release-1.4.11rc1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8def9c1043fe271f8e8e187154ed4f7a751c5ce4;p=thirdparty%2Funbound.git - log-queries: yesno option, default is no, prints querylog. git-svn-id: file:///svn/unbound/trunk@2429 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/daemon/worker.c b/daemon/worker.c index eafdb8f1e..a9de14725 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -775,6 +775,11 @@ worker_handle_request(struct comm_point* c, void* arg, int error, server_stats_insrcode(&worker->stats, c->buffer); return 1; } + if(worker->env.cfg->log_queries) { + char ip[128]; + addr_to_str(&repinfo->addr, repinfo->addrlen, ip, sizeof(ip)); + log_nametypeclass(0, ip, qinfo.qname, qinfo.qtype, qinfo.qclass); + } if(qinfo.qtype == LDNS_RR_TYPE_AXFR || qinfo.qtype == LDNS_RR_TYPE_IXFR) { verbose(VERB_ALGO, "worker request: refused zone transfer."); diff --git a/doc/Changelog b/doc/Changelog index a64c0d5a3..639cf39dd 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +16 June 2011: Wouter + - log-queries: yesno option, default is no, prints querylog. + 14 June 2011: Wouter - Use -flto compiler flag for link time optimization, if supported. - iana portlist updated. diff --git a/doc/example.conf.in b/doc/example.conf.in index e92d5e0c0..840a4038f 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -212,6 +212,9 @@ server: # print UTC timestamp in ascii to logfile, default is epoch in seconds. # log-time-ascii: no + + # print one line with time, IP, name, type, class for every query. + # log-queries: no # the pid file. Can be an absolute path outside of chroot/work dir. # pidfile: "@UNBOUND_PIDFILE@" diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 574f63fdb..5341a28ef 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -395,6 +395,12 @@ Sets logfile lines to use a timestamp in UTC ascii. Default is no, which prints the seconds since 1970 in brackets. No effect if using syslog, in that case syslog formats the timestamp printed into the log files. .TP +.B log\-queries: \fI +Prints one line per query to the log, with the log timestamp and IP address, +name, type and class. Default is no. Note that it takes time to print these +lines which makes the server (significantly) slower. Odd (nonprintable) +characters in names are printed as '?'. +.TP .B pidfile: \fI The process id is written to the file. Default is "@UNBOUND_PIDFILE@". So, diff --git a/util/config_file.c b/util/config_file.c index 6772a2e2d..65ae1001b 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -89,6 +89,7 @@ config_create(void) cfg->do_tcp = 1; cfg->use_syslog = 1; cfg->log_time_ascii = 0; + cfg->log_queries = 0; #ifndef USE_WINSOCK # ifdef USE_MINI_EVENT /* select max 1024 sockets */ @@ -382,6 +383,7 @@ int config_set_option(struct config_file* cfg, const char* opt, else S_YNO("val-clean-additional:", val_clean_additional) else S_NUMBER_OR_ZERO("val-log-level:", val_log_level) else S_YNO("val-log-squelch:", val_log_squelch) + else S_YNO("log-queries:", log_queries) else S_YNO("val-permissive-mode:", val_permissive_mode) else S_YNO("ignore-cd-flag:", ignore_cd) else S_STR("val-nsec3-keysize-iterations:", val_nsec3_key_iterations) @@ -580,6 +582,7 @@ config_get_option(struct config_file* cfg, const char* opt, else O_STR(opt, "username", username) else O_STR(opt, "directory", directory) else O_STR(opt, "logfile", logfile) + else O_YNO(opt, "log-queries", log_queries) else O_STR(opt, "pidfile", pidfile) else O_YNO(opt, "hide-identity", hide_identity) else O_YNO(opt, "hide-version", hide_version) diff --git a/util/config_file.h b/util/config_file.h index 4e3867114..14832cfcd 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -192,6 +192,8 @@ struct config_file { int use_syslog; /** log timestamp in ascii UTC */ int log_time_ascii; + /** log queries with one line per query */ + int log_queries; /** do not report identity (id.server, hostname.bind) */ int hide_identity; diff --git a/util/configlexer.c b/util/configlexer.c index c6e215017..ff38854fd 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -362,8 +362,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 132 -#define YY_END_OF_BUFFER 133 +#define YY_NUM_RULES 133 +#define YY_END_OF_BUFFER 134 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -371,145 +371,146 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1250] = +static yyconst flex_int16_t yy_accept[1258] = { 0, - 1, 1, 114, 114, 118, 118, 122, 122, 126, 126, - 1, 1, 133, 130, 1, 112, 112, 131, 2, 131, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 114, - 115, 115, 116, 131, 118, 119, 119, 120, 131, 125, - 122, 123, 123, 124, 131, 126, 127, 127, 128, 131, - 129, 113, 2, 117, 131, 129, 130, 0, 1, 2, - 2, 2, 2, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 114, 0, 118, 0, - 125, 0, 122, 126, 0, 129, 0, 2, 2, 129, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 57, 130, 130, 130, - 130, 130, 6, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 129, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 129, 130, 130, 130, 130, 22, 130, 130, - 130, 130, 130, 12, 13, 130, 15, 14, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 110, 130, 130, 130, 130, 3, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 121, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 25, 130, - - 130, 130, 130, 130, 130, 130, 26, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 70, 121, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 69, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 55, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 23, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 24, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 17, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 20, 21, 130, 58, 59, 130, 56, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 5, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 72, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 96, 95, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 27, - 130, 130, 130, 130, 60, 130, 130, 130, 130, 130, - 93, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 46, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 4, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 90, 130, 130, 130, 130, 130, 130, 130, - 104, 91, 130, 16, 130, 130, 130, 130, 62, 63, - 61, 130, 130, 130, 130, 130, 130, 68, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 92, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 54, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 77, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 34, 35, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 67, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 71, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 109, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 81, 130, 85, 130, 130, 130, 130, - 66, 130, 130, 102, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 84, 130, 130, - 130, 130, 36, 37, 130, 42, 86, 130, 97, 94, - 130, 30, 130, 88, 130, 130, 130, 130, 130, 7, - 130, 53, 101, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 73, 130, 130, 111, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 87, 29, 31, 130, 130, 130, 130, 130, 52, 130, - 130, 130, 105, 130, 130, 130, 130, 130, 130, 50, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 107, - - 130, 130, 28, 130, 130, 130, 130, 130, 130, 11, - 130, 130, 130, 130, 130, 130, 10, 130, 130, 32, - 130, 106, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 80, 79, 130, 108, 103, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 38, 130, 130, - 130, 130, 130, 33, 130, 130, 130, 74, 76, 130, - 130, 130, 78, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 18, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 100, 130, 130, 130, 130, 130, 130, 130, 19, 130, - - 9, 130, 130, 98, 43, 130, 130, 130, 83, 130, - 64, 130, 130, 130, 45, 49, 44, 130, 39, 130, - 8, 130, 130, 82, 130, 130, 130, 48, 130, 40, - 130, 99, 130, 130, 75, 65, 47, 41, 130, 130, - 130, 130, 51, 130, 130, 130, 130, 89, 0 + 1, 1, 115, 115, 119, 119, 123, 123, 127, 127, + 1, 1, 134, 131, 1, 113, 113, 132, 2, 132, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 115, + 116, 116, 117, 132, 119, 120, 120, 121, 132, 126, + 123, 124, 124, 125, 132, 127, 128, 128, 129, 132, + 130, 114, 2, 118, 132, 130, 131, 0, 1, 2, + 2, 2, 2, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 115, 0, 119, 0, + 126, 0, 123, 127, 0, 130, 0, 2, 2, 130, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 57, 131, 131, + 131, 131, 131, 6, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 130, 131, 131, 131, 131, 22, + 131, 131, 131, 131, 131, 12, 13, 131, 15, 14, + + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 111, 131, 131, 131, 131, 3, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 130, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 122, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + + 131, 131, 25, 131, 131, 131, 131, 131, 131, 131, + 26, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 70, 122, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 69, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 55, 131, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 23, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 24, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 17, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 20, 21, 131, + 58, 59, 131, 56, 131, 131, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 5, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 72, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 97, 96, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 27, 131, 131, 131, + 131, 60, 131, 131, 131, 131, 131, 93, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 46, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 95, 131, 131, 131, 131, 131, + 131, 131, 4, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 90, 131, 131, 131, 131, 131, 131, 131, 105, 91, + 131, 16, 131, 131, 131, 131, 62, 63, 61, 131, + 131, 131, 131, 131, 131, 68, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 92, 131, 131, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 54, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 77, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 34, 35, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 67, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 71, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 110, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 81, 131, 85, 131, 131, 131, 131, 66, 131, + + 131, 103, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 84, 131, 131, 131, 131, + 36, 37, 131, 42, 86, 131, 98, 94, 131, 30, + 131, 88, 131, 131, 131, 131, 131, 7, 131, 53, + 102, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 73, 131, 131, 112, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 87, 29, + 31, 131, 131, 131, 131, 131, 52, 131, 131, 131, + 106, 131, 131, 131, 131, 131, 131, 50, 131, 131, + + 131, 131, 131, 131, 131, 131, 131, 108, 131, 131, + 28, 131, 131, 131, 131, 131, 131, 11, 131, 131, + 131, 131, 131, 131, 10, 131, 131, 32, 131, 107, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 80, 79, 131, 109, 104, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 38, 131, 131, 131, 131, + 131, 33, 131, 131, 131, 74, 76, 131, 131, 131, + 78, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 18, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 101, 131, + + 131, 131, 131, 131, 131, 131, 19, 131, 9, 131, + 131, 99, 43, 131, 131, 131, 83, 131, 64, 131, + 131, 131, 45, 49, 44, 131, 39, 131, 8, 131, + 131, 82, 131, 131, 131, 48, 131, 40, 131, 100, + 131, 131, 75, 65, 47, 41, 131, 131, 131, 131, + 51, 131, 131, 131, 131, 89, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -552,22 +553,22 @@ static yyconst flex_int32_t yy_meta[40] = 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[1264] = +static yyconst flex_int16_t yy_base[1272] = { 0, 0, 0, 37, 40, 44, 51, 63, 75, 56, 68, - 87, 108, 2401, 2387, 50, 2505, 2505, 2505, 129, 94, + 87, 108, 2416, 2402, 50, 2519, 2519, 2519, 129, 94, 70, 104, 122, 90, 92, 115, 126, 95, 84, 132, - 135, 138, 50, 142, 148, 141, 144, 155, 170, 2386, - 2505, 2505, 2505, 70, 2318, 2505, 2505, 2505, 42, 2151, - 1985, 2505, 2505, 2505, 187, 1905, 2505, 2505, 2505, 173, - 1741, 2505, 191, 2505, 195, 111, 1712, 201, 120, 0, + 135, 138, 50, 142, 148, 141, 144, 155, 170, 2401, + 2519, 2519, 2519, 70, 2400, 2519, 2519, 2519, 42, 2399, + 2271, 2519, 2519, 2519, 187, 2164, 2519, 2519, 2519, 173, + 1753, 2519, 191, 2519, 195, 111, 1571, 201, 120, 0, 212, 0, 0, 103, 168, 177, 149, 196, 188, 198, 199, 136, 213, 205, 207, 215, 216, 218, 220, 209, 229, 221, 231, 238, 224, 230, 239, 243, 242, 244, 247, 248, 253, 254, 246, 257, 260, 263, 270, 267, - 269, 173, 49, 271, 261, 275, 1511, 286, 1145, 289, - 1065, 300, 915, 865, 293, 772, 306, 310, 0, 303, + 269, 173, 49, 271, 261, 275, 1526, 286, 1405, 289, + 1153, 300, 1029, 779, 293, 747, 306, 310, 0, 303, 307, 313, 290, 309, 296, 314, 320, 316, 323, 335, 324, 319, 322, 328, 282, 326, 329, 330, 342, 332, 336, 333, 346, 352, 358, 365, 340, 368, 364, 372, @@ -577,268 +578,270 @@ static yyconst flex_int16_t yy_base[1264] = 435, 428, 438, 439, 441, 440, 448, 446, 450, 447, 459, 455, 456, 457, 458, 461, 463, 464, 470, 466, - 467, 468, 473, 472, 483, 490, 477, 487, 491, 492, - 494, 495, 496, 498, 499, 508, 502, 505, 509, 511, - 514, 520, 516, 517, 518, 524, 526, 544, 530, 529, - 528, 531, 533, 534, 541, 535, 542, 551, 552, 539, - 562, 571, 561, 564, 570, 565, 573, 574, 576, 577, - 583, 584, 582, 585, 588, 595, 596, 598, 599, 600, - 609, 606, 607, 608, 610, 616, 2505, 620, 611, 614, - 618, 623, 2505, 624, 625, 626, 628, 629, 639, 630, - 636, 638, 641, 646, 643, 656, 649, 652, 650, 664, - - 655, 659, 666, 657, 667, 668, 674, 677, 678, 680, - 687, 679, 685, 686, 695, 688, 690, 692, 698, 697, - 705, 709, 711, 713, 715, 721, 717, 718, 720, 727, - 725, 726, 719, 733, 730, 732, 737, 741, 748, 744, - 747, 751, 752, 754, 761, 757, 764, 766, 768, 758, - 760, 770, 778, 779, 787, 785, 762, 788, 794, 734, - 790, 783, 795, 796, 797, 798, 805, 801, 804, 807, - 806, 809, 810, 814, 819, 818, 826, 827, 816, 829, - 830, 833, 835, 817, 837, 838, 842, 2505, 849, 846, - 845, 848, 852, 2505, 2505, 853, 2505, 2505, 855, 854, - - 857, 871, 872, 868, 862, 858, 875, 882, 885, 886, - 888, 893, 895, 869, 877, 897, 899, 901, 902, 909, - 910, 906, 911, 914, 915, 918, 917, 921, 926, 930, - 927, 2505, 928, 929, 935, 937, 2505, 932, 938, 941, - 945, 939, 942, 947, 954, 952, 962, 963, 955, 944, - 964, 965, 970, 973, 972, 976, 977, 983, 979, 981, - 985, 982, 987, 988, 989, 992, 1014, 996, 993, 995, - 998, 1001, 1002, 1003, 1020, 1026, 1024, 1021, 1028, 1004, - 1031, 1033, 1032, 1037, 1039, 1043, 2505, 1049, 1008, 1042, - 1045, 1048, 1050, 1051, 1055, 1054, 1057, 1067, 2505, 1063, - - 1064, 1068, 1072, 1066, 1079, 1081, 2505, 1087, 1084, 1089, - 1083, 1090, 1091, 1095, 1096, 1093, 1097, 1102, 1104, 1106, - 1107, 1108, 1109, 1112, 337, 1116, 1123, 1117, 1125, 1119, - 1121, 1127, 1133, 1128, 1131, 1130, 1134, 2505, 403, 1136, - 1137, 1141, 1147, 1148, 1151, 1144, 1153, 1155, 1154, 1157, - 1163, 1164, 1165, 1166, 1168, 1170, 1173, 1176, 1178, 1179, - 1177, 1181, 1183, 1184, 1185, 1186, 1188, 1190, 2505, 1203, - 1195, 1197, 1196, 1206, 1215, 1207, 1212, 1218, 1222, 1219, - 1225, 1217, 1227, 1233, 1234, 1230, 1232, 1237, 1238, 2505, - 1239, 1241, 1240, 1247, 1244, 1242, 1248, 1252, 1260, 1265, - - 1254, 1268, 1270, 1257, 1272, 1274, 1275, 1276, 1278, 1279, - 1280, 2505, 1289, 1291, 1288, 1295, 1292, 1297, 1298, 1300, - 1282, 1303, 1310, 1304, 1307, 1311, 1312, 1308, 1306, 1314, - 1315, 2505, 1322, 1318, 1319, 1320, 1323, 1330, 1335, 1333, - 1334, 1336, 1340, 1342, 1346, 1349, 1343, 1355, 1345, 1356, - 1357, 1358, 1370, 1371, 1367, 2505, 1369, 1372, 1373, 1380, - 1377, 1381, 1382, 1389, 1383, 1385, 1387, 1390, 1391, 1393, - 1395, 1396, 1394, 1403, 1398, 1408, 1401, 1413, 1415, 1416, - 1423, 2505, 2505, 1424, 2505, 2505, 1426, 2505, 1427, 1422, - 1428, 1429, 1431, 1433, 1435, 1438, 1440, 1441, 1443, 1442, - - 1444, 2505, 1445, 1450, 1456, 1448, 1451, 1454, 1458, 1465, - 1472, 1459, 1466, 1469, 2505, 1473, 1476, 1481, 1482, 1485, - 1487, 1483, 1488, 1489, 1490, 1492, 1494, 1496, 1497, 1498, - 1502, 1507, 1500, 1509, 1506, 1508, 1510, 1515, 1520, 1523, - 1521, 2505, 2505, 1522, 1524, 1529, 1534, 1536, 1544, 1541, - 1538, 1542, 1547, 1549, 1550, 1551, 1552, 1554, 1556, 2505, - 1562, 1564, 1560, 1568, 2505, 1572, 1561, 1567, 1573, 1576, - 2505, 1578, 1581, 1582, 1583, 1590, 1584, 1591, 1592, 1597, - 1599, 1600, 1603, 1606, 1604, 1602, 1605, 1609, 1618, 1610, - 1622, 1628, 1624, 1625, 1626, 1630, 1632, 1634, 1640, 1636, - - 2505, 1642, 1638, 1648, 1627, 1650, 1653, 1660, 1647, 1651, - 1657, 1658, 1641, 1664, 1665, 1667, 1669, 1670, 1673, 1672, - 1674, 1675, 1682, 1683, 2505, 1685, 1692, 1684, 1686, 1695, - 1696, 1688, 1698, 1702, 1703, 1705, 1706, 1707, 1709, 1719, - 1721, 1729, 1713, 1731, 1727, 1730, 1732, 1710, 1738, 1736, - 1742, 1740, 2505, 1743, 1748, 1750, 1745, 1754, 1755, 1753, - 2505, 2505, 1756, 2505, 1763, 1760, 1757, 1765, 2505, 2505, - 2505, 1767, 1776, 1769, 1772, 1777, 1783, 2505, 1780, 1770, - 1784, 1788, 1789, 1791, 1792, 1793, 1794, 2505, 1795, 1796, - 1797, 1802, 1806, 1799, 1807, 1816, 1817, 1819, 1810, 1813, - - 1826, 1827, 2505, 1820, 1823, 1830, 1831, 1835, 1836, 1834, - 1838, 1840, 1841, 1842, 2505, 1849, 1850, 1852, 1854, 1856, - 1859, 1862, 1863, 1864, 1866, 1871, 1868, 2505, 2505, 1873, - 1878, 1883, 1874, 1880, 1887, 1888, 1889, 1872, 1890, 1892, - 1893, 1896, 1895, 1897, 2505, 1900, 1901, 1902, 1906, 1910, - 1914, 1921, 1922, 1924, 1926, 1908, 1929, 1931, 2505, 1932, - 1934, 1936, 1939, 1940, 1941, 1942, 1943, 1949, 1946, 1951, - 2505, 1953, 1954, 1956, 1960, 1961, 1962, 1963, 1964, 1967, - 1969, 1975, 1973, 2505, 1971, 2505, 1981, 1984, 1987, 1988, - 2505, 1986, 1992, 2505, 1993, 1994, 2003, 2005, 1995, 2007, - - 2008, 2000, 2010, 2011, 2012, 2021, 2018, 2505, 2019, 2022, - 2015, 2026, 2505, 2505, 2029, 2505, 2505, 2033, 2505, 2505, - 2037, 2505, 2039, 2505, 2045, 2041, 2034, 2025, 2043, 2505, - 2052, 2505, 2505, 2044, 2053, 2054, 2057, 2046, 2060, 2061, - 2062, 2063, 2064, 2066, 2067, 2068, 2069, 2070, 2071, 2072, - 2079, 2077, 2080, 2088, 2505, 2081, 2090, 2505, 2093, 2096, - 2098, 2100, 2101, 2104, 2102, 2107, 2108, 2109, 2110, 2111, - 2505, 2505, 2505, 2112, 2114, 2116, 2122, 2123, 2505, 2126, - 2127, 2134, 2505, 2135, 2128, 2130, 2138, 2140, 2144, 2505, - 2142, 2148, 2149, 2147, 2156, 2159, 2165, 2164, 2167, 2505, - - 2168, 2169, 2505, 2171, 2170, 2175, 2176, 2177, 2179, 2505, - 2161, 2172, 2187, 2189, 2182, 2192, 2505, 2193, 2194, 2505, - 2196, 2505, 2199, 2200, 2203, 2205, 2209, 2210, 2211, 2217, - 2214, 2216, 2505, 2505, 2215, 2505, 2505, 2218, 2222, 2223, - 2226, 2224, 2229, 2231, 2232, 2235, 2233, 2505, 2236, 2238, - 2246, 2243, 2241, 2505, 2248, 2249, 2252, 2505, 2505, 2254, - 2262, 2255, 2505, 2260, 2266, 2267, 2268, 2270, 2271, 2272, - 2273, 2274, 2276, 2278, 2279, 2285, 2289, 2505, 2291, 2287, - 2293, 2296, 2300, 2297, 2301, 2302, 2306, 2308, 2310, 2311, - 2505, 2303, 2314, 2324, 2326, 2328, 2329, 2332, 2505, 2335, - - 2505, 2338, 2339, 2505, 2505, 2333, 2343, 2340, 2505, 2346, - 2505, 2347, 2349, 2350, 2505, 2505, 2505, 2353, 2505, 2355, - 2505, 2357, 2358, 2505, 2360, 2362, 2364, 2505, 2366, 2505, - 2369, 2505, 2370, 2371, 2505, 2505, 2505, 2505, 2375, 2374, - 2377, 2312, 2505, 2380, 2383, 2381, 2385, 2505, 2505, 2413, - 2420, 2427, 2434, 2441, 94, 2448, 2455, 2462, 2469, 2476, - 2483, 2490, 2497 + 467, 468, 473, 472, 487, 492, 477, 483, 486, 493, + 495, 499, 496, 498, 505, 511, 507, 509, 512, 508, + 510, 521, 518, 517, 520, 526, 524, 546, 528, 530, + 531, 532, 535, 533, 541, 544, 540, 542, 547, 554, + 566, 572, 556, 559, 563, 573, 578, 577, 574, 582, + 584, 585, 583, 586, 589, 600, 591, 599, 601, 602, + 610, 607, 608, 609, 611, 612, 618, 2519, 622, 613, + 624, 620, 615, 2519, 625, 626, 630, 631, 635, 642, + 638, 639, 647, 640, 649, 648, 658, 652, 654, 641, + + 669, 662, 664, 667, 660, 671, 673, 674, 680, 681, + 684, 690, 686, 687, 689, 692, 694, 695, 697, 700, + 701, 709, 711, 718, 716, 720, 722, 704, 721, 723, + 729, 728, 730, 731, 738, 734, 736, 737, 741, 748, + 744, 752, 754, 756, 746, 757, 765, 763, 764, 768, + 770, 766, 772, 773, 774, 776, 788, 790, 782, 789, + 798, 794, 799, 795, 800, 802, 803, 805, 811, 807, + 809, 814, 810, 812, 816, 818, 822, 823, 828, 832, + 824, 834, 835, 836, 838, 845, 847, 839, 852, 2519, + 854, 855, 840, 856, 857, 2519, 2519, 846, 2519, 2519, + + 862, 867, 865, 875, 876, 874, 866, 868, 882, 887, + 889, 890, 877, 897, 899, 881, 900, 903, 904, 906, + 907, 908, 910, 912, 914, 916, 918, 917, 922, 923, + 929, 931, 937, 933, 2519, 938, 934, 942, 944, 2519, + 936, 940, 945, 946, 949, 951, 953, 956, 958, 964, + 965, 963, 966, 970, 971, 973, 981, 977, 979, 983, + 989, 985, 987, 991, 988, 994, 993, 995, 999, 1020, + 1000, 1001, 1002, 1007, 1006, 1008, 1009, 1016, 1032, 1030, + 1010, 1034, 1037, 1039, 1041, 1014, 1042, 1048, 1050, 2519, + 1056, 1052, 1043, 1053, 1059, 1060, 1057, 1063, 1045, 1067, + + 1070, 1077, 2519, 1071, 1073, 1075, 1082, 1074, 1084, 1093, + 2519, 1095, 1096, 1089, 1091, 1098, 1099, 1103, 1104, 1101, + 1105, 1110, 1112, 1114, 1115, 1116, 1117, 1120, 337, 1124, + 1131, 1125, 1133, 1127, 1129, 1135, 1141, 1136, 1139, 1138, + 1142, 2519, 403, 1144, 1145, 1149, 1155, 1156, 1159, 1152, + 1161, 1163, 1162, 1165, 1171, 1172, 1173, 1174, 1176, 1178, + 1181, 1184, 1186, 1187, 1185, 1189, 1191, 1192, 1193, 1194, + 1196, 1198, 2519, 1211, 1203, 1205, 1204, 1214, 1223, 1215, + 1220, 1226, 1230, 1227, 1233, 1234, 1225, 1236, 1242, 1245, + 1241, 1243, 1244, 1248, 2519, 1251, 1249, 1250, 1252, 1256, + + 1257, 1261, 1263, 1270, 1272, 1267, 1274, 1277, 1278, 1281, + 1282, 1284, 1285, 1287, 1289, 1291, 2519, 1299, 1301, 1303, + 1309, 1297, 1293, 1300, 1314, 1307, 1310, 1320, 1316, 1317, + 1321, 1318, 1322, 1323, 1325, 1324, 2519, 1331, 1328, 1332, + 1329, 1335, 1338, 1340, 1341, 1345, 1346, 1349, 1351, 1355, + 1352, 1363, 1364, 1365, 1366, 1367, 1369, 1375, 1376, 1377, + 2519, 1379, 1382, 1383, 1390, 1387, 1391, 1392, 1393, 1400, + 1394, 1397, 1398, 1401, 1404, 1403, 1406, 1407, 1409, 1415, + 1412, 1422, 1423, 1427, 1428, 1429, 1435, 2519, 2519, 1437, + 2519, 2519, 1439, 2519, 1441, 1436, 1434, 1440, 1442, 1447, + + 1448, 1452, 1450, 1454, 1456, 1455, 1458, 2519, 1461, 1462, + 1466, 1464, 1469, 1470, 1471, 1475, 1482, 1478, 1481, 1485, + 2519, 1483, 1486, 1493, 1492, 1499, 1494, 1497, 1501, 1502, + 1503, 1505, 1509, 1510, 1507, 1513, 1515, 1518, 1519, 1521, + 1520, 1522, 1523, 1524, 1531, 1534, 1535, 2519, 2519, 1537, + 1545, 1541, 1547, 1549, 1553, 1557, 1555, 1556, 1559, 1560, + 1563, 1564, 1565, 1567, 1569, 1570, 2519, 1579, 1580, 1581, + 1590, 2519, 1584, 1573, 1582, 1586, 1594, 2519, 1595, 1596, + 1598, 1604, 1605, 1597, 1607, 1608, 1614, 1611, 1616, 1617, + 1624, 1620, 1618, 1621, 1634, 1638, 1622, 1640, 1646, 1626, + + 1635, 1642, 1644, 1649, 1651, 1657, 1653, 2519, 1660, 1645, + 1664, 1658, 1666, 1667, 1674, 1661, 1670, 1671, 1672, 1676, + 1678, 1679, 1681, 1684, 2519, 1685, 1686, 1687, 1688, 1698, + 1689, 1695, 2519, 1701, 1707, 1700, 1703, 1709, 1712, 1713, + 1716, 1718, 1719, 1721, 1723, 1724, 1725, 1731, 1735, 1742, + 1728, 1746, 1743, 1744, 1747, 1729, 1756, 1749, 1757, 1750, + 2519, 1758, 1764, 1766, 1767, 1769, 1770, 1768, 2519, 2519, + 1760, 2519, 1778, 1775, 1780, 1782, 2519, 2519, 2519, 1781, + 1788, 1784, 1785, 1792, 1797, 2519, 1798, 1787, 1799, 1802, + 1803, 1804, 1806, 1809, 1808, 2519, 1812, 1811, 1814, 1810, + + 1821, 1822, 1825, 1827, 1826, 1833, 1834, 1835, 1841, 1837, + 2519, 1839, 1840, 1844, 1845, 1847, 1851, 1849, 1850, 1846, + 1853, 1862, 2519, 1864, 1865, 1867, 1872, 1873, 1875, 1877, + 1879, 1880, 1878, 1887, 1881, 2519, 2519, 1884, 1895, 1897, + 1888, 1899, 1901, 1892, 1903, 1902, 1906, 1909, 1910, 1911, + 1912, 1913, 2519, 1915, 1916, 1917, 1918, 1920, 1923, 1927, + 1935, 1937, 1939, 1940, 1942, 1944, 2519, 1945, 1947, 1949, + 1952, 1953, 1954, 1955, 1956, 1962, 1963, 1965, 2519, 1967, + 1969, 1973, 1975, 1976, 1970, 1978, 1977, 1979, 1980, 1990, + 1993, 2519, 1984, 2519, 1994, 1998, 2001, 2005, 2519, 2000, + + 2007, 2519, 2008, 2012, 2010, 2016, 2018, 2023, 2024, 2013, + 2026, 2025, 2027, 2036, 2028, 2519, 1986, 2035, 2038, 2037, + 2519, 2519, 2041, 2519, 2519, 2044, 2519, 2519, 2048, 2519, + 2050, 2519, 2056, 2052, 2054, 2055, 2057, 2519, 2059, 2519, + 2519, 2060, 2061, 2064, 2067, 2068, 2071, 2072, 2073, 2074, + 2075, 2079, 2081, 2076, 2083, 2087, 2082, 2091, 2092, 2088, + 2094, 2097, 2519, 2098, 2107, 2519, 2112, 2104, 2109, 2101, + 2114, 2115, 2117, 2121, 2123, 2122, 2125, 2126, 2519, 2519, + 2519, 2127, 2130, 2129, 2134, 2135, 2519, 2139, 2140, 2142, + 2519, 2150, 2143, 2145, 2152, 2155, 2148, 2519, 2158, 2161, + + 2162, 2163, 2169, 2171, 2177, 2175, 2180, 2519, 2176, 2182, + 2519, 2183, 2184, 2187, 2189, 2190, 2192, 2519, 2185, 2188, + 2200, 2193, 2195, 2205, 2519, 2206, 2208, 2519, 2212, 2519, + 2209, 2213, 2216, 2218, 2223, 2220, 2225, 2231, 2228, 2230, + 2519, 2519, 2235, 2519, 2519, 2224, 2232, 2233, 2236, 2242, + 2244, 2245, 2246, 2247, 2248, 2519, 2250, 2251, 2255, 2257, + 2262, 2519, 2264, 2263, 2259, 2519, 2519, 2274, 2266, 2276, + 2519, 2277, 2278, 2270, 2280, 2291, 2283, 2281, 2286, 2288, + 2293, 2294, 2299, 2301, 2302, 2519, 2304, 2306, 2308, 2310, + 2312, 2313, 2315, 2314, 2317, 2319, 2322, 2323, 2519, 2324, + + 2328, 2336, 2340, 2344, 2341, 2348, 2519, 2349, 2519, 2352, + 2353, 2519, 2519, 2329, 2355, 2356, 2519, 2357, 2519, 2325, + 2360, 2363, 2519, 2519, 2519, 2365, 2519, 2366, 2519, 2369, + 2371, 2519, 2372, 2374, 2376, 2519, 2378, 2519, 2380, 2519, + 2381, 2382, 2519, 2519, 2519, 2519, 2384, 2385, 2392, 2387, + 2519, 2389, 2394, 2395, 2398, 2519, 2519, 2427, 2434, 2441, + 2448, 2455, 94, 2462, 2469, 2476, 2483, 2490, 2497, 2504, + 2511 } ; -static yyconst flex_int16_t yy_def[1264] = +static yyconst flex_int16_t yy_def[1272] = { 0, - 1249, 1, 1250, 1250, 1251, 1251, 1252, 1252, 1253, 1253, - 1254, 1254, 1249, 1255, 1249, 1249, 1249, 1249, 1256, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1257, - 1249, 1249, 1249, 1257, 1258, 1249, 1249, 1249, 1258, 1259, - 1249, 1249, 1249, 1249, 1259, 1260, 1249, 1249, 1249, 1260, - 1261, 1249, 1262, 1249, 1261, 1261, 1255, 1255, 1249, 1263, - 1256, 1263, 1256, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1257, 1257, 1258, 1258, - 1259, 1259, 1249, 1260, 1260, 1261, 1261, 1262, 1262, 1261, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1261, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1261, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1261, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1261, 1255, 1255, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1249, 1249, 1255, 1249, 1249, 1255, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1249, 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1261, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1261, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1249, 1249, 1255, 1249, 1249, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1249, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, - 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, - 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1249, 1249, 1255, 1249, 1255, 1255, 1255, 1255, 1249, 1249, - 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1249, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1249, 1255, 1249, 1255, 1255, 1255, 1255, - 1249, 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, - - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1249, 1249, 1255, 1249, 1249, 1255, 1249, 1249, - 1255, 1249, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1249, - 1255, 1249, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1249, 1249, 1249, 1255, 1255, 1255, 1255, 1255, 1249, 1255, - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1249, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, - - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1249, - 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, 1249, - 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1249, 1249, 1255, 1249, 1249, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1249, 1255, 1255, 1255, 1249, 1249, 1255, - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1249, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1249, 1255, - - 1249, 1255, 1255, 1249, 1249, 1255, 1255, 1255, 1249, 1255, - 1249, 1255, 1255, 1255, 1249, 1249, 1249, 1255, 1249, 1255, - 1249, 1255, 1255, 1249, 1255, 1255, 1255, 1249, 1255, 1249, - 1255, 1249, 1255, 1255, 1249, 1249, 1249, 1249, 1255, 1255, - 1255, 1255, 1249, 1255, 1255, 1255, 1255, 1249, 0, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249 + 1257, 1, 1258, 1258, 1259, 1259, 1260, 1260, 1261, 1261, + 1262, 1262, 1257, 1263, 1257, 1257, 1257, 1257, 1264, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1265, + 1257, 1257, 1257, 1265, 1266, 1257, 1257, 1257, 1266, 1267, + 1257, 1257, 1257, 1257, 1267, 1268, 1257, 1257, 1257, 1268, + 1269, 1257, 1270, 1257, 1269, 1269, 1263, 1263, 1257, 1271, + 1264, 1271, 1264, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1265, 1265, 1266, 1266, + 1267, 1267, 1257, 1268, 1268, 1269, 1269, 1270, 1270, 1269, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1269, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1269, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1269, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1269, 1263, 1263, 1263, 1263, 1257, + 1263, 1263, 1263, 1263, 1263, 1257, 1257, 1263, 1257, 1257, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1257, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1269, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1257, 1269, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1257, 1263, + 1257, 1257, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1257, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, + 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1257, + 1263, 1257, 1263, 1263, 1263, 1263, 1257, 1257, 1257, 1263, + 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1257, 1257, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1257, 1263, 1257, 1263, 1263, 1263, 1263, 1257, 1263, + + 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, + 1257, 1257, 1263, 1257, 1257, 1263, 1257, 1257, 1263, 1257, + 1263, 1257, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1257, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1257, 1263, 1263, 1257, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1257, + 1257, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, + 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1257, 1263, 1257, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1257, 1257, 1263, 1257, 1257, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, + 1263, 1257, 1263, 1263, 1263, 1257, 1257, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1263, 1263, 1263, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, + + 1263, 1263, 1263, 1263, 1263, 1263, 1257, 1263, 1257, 1263, + 1263, 1257, 1257, 1263, 1263, 1263, 1257, 1263, 1257, 1263, + 1263, 1263, 1257, 1257, 1257, 1263, 1257, 1263, 1257, 1263, + 1263, 1257, 1263, 1263, 1263, 1257, 1263, 1257, 1263, 1257, + 1263, 1263, 1257, 1257, 1257, 1257, 1263, 1263, 1263, 1263, + 1257, 1263, 1263, 1263, 1263, 1257, 0, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257 } ; -static yyconst flex_int16_t yy_nxt[2545] = +static yyconst flex_int16_t yy_nxt[2559] = { 0, 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 14, 18, 20, 21, 14, 22, 23, 24, 25, 14, @@ -879,7 +882,7 @@ static yyconst flex_int16_t yy_nxt[2545] = 190, 68, 68, 189, 68, 68, 68, 196, 68, 198, 68, 68, 68, 201, 68, 68, 187, 68, 68, 68, 197, 191, 68, 207, 68, 202, 192, 203, 68, 210, - 608, 193, 206, 199, 68, 208, 204, 194, 195, 205, + 613, 193, 206, 199, 68, 208, 204, 194, 195, 205, 68, 211, 212, 214, 209, 215, 68, 68, 68, 217, 68, 216, 218, 213, 68, 219, 68, 68, 68, 68, 68, 68, 220, 68, 68, 222, 68, 68, 68, 224, @@ -893,236 +896,237 @@ static yyconst flex_int16_t yy_nxt[2545] = 68, 256, 68, 259, 260, 253, 261, 68, 68, 68, 68, 68, 258, 68, 266, 68, 68, 269, 68, 68, 68, 270, 68, 265, 68, 68, 263, 262, 268, 68, - 264, 271, 278, 267, 273, 68, 274, 275, 276, 68, - - 272, 277, 68, 68, 68, 283, 68, 68, 68, 285, - 68, 68, 284, 282, 68, 288, 279, 68, 281, 280, - 68, 68, 290, 68, 291, 286, 68, 294, 68, 68, - 68, 287, 68, 295, 289, 293, 68, 292, 68, 298, - 127, 68, 68, 68, 297, 68, 68, 68, 314, 296, - 309, 68, 300, 68, 68, 299, 68, 308, 301, 302, - 312, 310, 311, 68, 68, 319, 313, 315, 303, 316, - 304, 305, 306, 68, 68, 307, 68, 68, 317, 320, - 321, 322, 68, 68, 318, 68, 68, 327, 68, 68, - 328, 326, 324, 323, 68, 68, 68, 68, 325, 334, - - 68, 335, 337, 330, 331, 333, 329, 68, 68, 336, - 68, 68, 68, 341, 338, 339, 342, 332, 68, 68, - 68, 68, 68, 68, 340, 345, 68, 343, 68, 347, - 68, 344, 68, 348, 350, 68, 68, 68, 68, 351, - 68, 68, 68, 346, 349, 356, 358, 352, 68, 357, - 68, 68, 355, 68, 361, 68, 353, 354, 68, 363, - 359, 68, 68, 368, 68, 371, 364, 68, 68, 68, - 360, 68, 362, 369, 365, 367, 68, 373, 68, 68, - 68, 370, 374, 375, 366, 379, 68, 372, 377, 68, - 68, 68, 127, 376, 384, 380, 383, 68, 68, 68, - - 68, 378, 68, 385, 68, 382, 388, 68, 381, 68, - 68, 387, 389, 392, 390, 386, 394, 68, 396, 391, - 395, 68, 393, 68, 397, 68, 398, 68, 399, 68, - 68, 68, 68, 68, 403, 401, 402, 68, 68, 68, - 407, 404, 68, 405, 68, 68, 68, 408, 438, 68, - 400, 406, 410, 68, 413, 414, 68, 411, 409, 68, - 68, 412, 416, 68, 68, 415, 68, 417, 421, 68, - 68, 420, 68, 68, 68, 422, 68, 419, 68, 423, - 68, 424, 68, 434, 127, 425, 427, 428, 426, 418, - 68, 68, 433, 429, 431, 68, 430, 68, 432, 68, - - 68, 436, 68, 435, 439, 437, 68, 68, 68, 68, - 68, 441, 445, 68, 446, 440, 68, 68, 68, 68, - 447, 68, 68, 442, 448, 444, 68, 443, 68, 68, - 68, 68, 462, 452, 449, 451, 453, 454, 68, 68, - 450, 68, 68, 455, 456, 68, 457, 127, 458, 68, - 68, 459, 461, 463, 68, 465, 467, 68, 68, 460, - 68, 68, 468, 466, 68, 68, 68, 68, 470, 68, - 68, 464, 474, 475, 68, 469, 473, 125, 476, 471, - 68, 68, 472, 68, 68, 483, 477, 68, 478, 68, - 486, 479, 484, 487, 68, 485, 480, 68, 68, 489, - - 68, 493, 481, 482, 488, 68, 491, 68, 494, 68, - 492, 68, 496, 68, 68, 490, 123, 495, 68, 498, - 499, 68, 68, 68, 501, 500, 68, 68, 497, 68, - 68, 502, 507, 68, 503, 505, 506, 509, 68, 68, - 68, 68, 68, 511, 68, 504, 508, 68, 513, 68, - 68, 68, 514, 68, 68, 512, 68, 68, 510, 68, - 515, 519, 518, 521, 68, 516, 68, 68, 528, 525, - 520, 517, 523, 522, 68, 68, 68, 68, 524, 526, - 532, 529, 68, 531, 68, 68, 527, 533, 68, 68, - 536, 68, 538, 68, 68, 68, 539, 127, 530, 68, - - 68, 68, 535, 541, 68, 68, 534, 68, 68, 540, - 68, 537, 550, 68, 68, 68, 68, 564, 544, 542, - 68, 556, 552, 572, 553, 543, 68, 557, 555, 545, - 551, 546, 68, 68, 554, 547, 68, 548, 68, 558, - 68, 561, 549, 68, 68, 68, 559, 562, 565, 68, - 569, 68, 563, 566, 68, 68, 571, 68, 567, 570, - 68, 68, 68, 68, 560, 575, 68, 68, 568, 68, - 574, 576, 578, 573, 581, 68, 68, 122, 68, 68, - 68, 583, 577, 580, 68, 584, 579, 586, 588, 585, - 582, 68, 587, 68, 589, 68, 68, 591, 590, 68, - - 592, 68, 68, 68, 593, 68, 596, 68, 68, 68, - 594, 599, 597, 598, 68, 600, 68, 601, 68, 68, - 68, 68, 595, 609, 68, 605, 606, 607, 68, 68, - 610, 68, 604, 68, 602, 68, 612, 68, 603, 68, - 68, 616, 68, 68, 611, 68, 68, 614, 68, 68, - 613, 615, 618, 68, 624, 625, 68, 120, 617, 68, - 68, 619, 621, 68, 622, 68, 68, 68, 626, 68, - 627, 620, 629, 623, 632, 68, 68, 68, 68, 628, - 68, 630, 68, 635, 631, 68, 634, 637, 68, 68, - 68, 68, 639, 68, 633, 68, 68, 68, 68, 636, - - 68, 642, 68, 646, 638, 640, 641, 68, 68, 68, - 650, 649, 643, 647, 645, 68, 644, 652, 68, 68, - 648, 651, 655, 654, 68, 659, 656, 68, 653, 68, - 68, 68, 657, 658, 68, 660, 661, 68, 662, 68, - 665, 666, 68, 663, 68, 68, 68, 667, 668, 68, - 68, 68, 68, 68, 68, 674, 68, 664, 669, 68, - 68, 673, 679, 670, 68, 671, 68, 672, 675, 68, - 676, 682, 68, 677, 687, 678, 683, 68, 680, 685, - 68, 686, 68, 688, 68, 684, 68, 68, 68, 681, - 68, 68, 68, 691, 68, 690, 695, 693, 696, 694, - - 68, 68, 698, 68, 68, 697, 689, 68, 692, 68, - 68, 702, 68, 699, 703, 68, 68, 705, 68, 68, - 68, 701, 68, 68, 68, 709, 68, 68, 700, 714, - 68, 68, 68, 715, 68, 68, 706, 718, 704, 707, - 710, 708, 68, 711, 712, 68, 68, 68, 68, 717, - 713, 721, 68, 719, 68, 68, 716, 68, 68, 726, - 723, 68, 720, 724, 722, 727, 728, 68, 68, 68, - 68, 725, 731, 729, 732, 734, 730, 735, 736, 68, - 737, 68, 68, 68, 68, 68, 738, 741, 743, 68, - 733, 742, 68, 68, 68, 68, 746, 68, 739, 68, - - 745, 68, 68, 68, 740, 68, 68, 68, 68, 754, - 68, 755, 744, 68, 747, 68, 748, 751, 749, 756, - 68, 750, 753, 757, 760, 68, 752, 68, 68, 758, - 763, 764, 761, 759, 68, 68, 68, 765, 68, 68, - 68, 68, 766, 68, 771, 68, 769, 68, 762, 767, - 68, 773, 68, 68, 68, 68, 68, 68, 770, 776, - 68, 778, 68, 68, 775, 768, 68, 772, 68, 781, - 68, 68, 785, 777, 774, 779, 780, 68, 68, 787, - 782, 68, 786, 783, 68, 68, 784, 790, 68, 794, - 791, 788, 789, 68, 68, 68, 793, 68, 795, 68, - - 68, 68, 68, 801, 68, 798, 68, 800, 68, 68, - 68, 802, 68, 792, 68, 797, 809, 796, 68, 68, - 68, 68, 68, 118, 799, 808, 803, 68, 806, 804, - 805, 807, 68, 68, 68, 68, 68, 818, 810, 814, - 811, 68, 813, 812, 815, 819, 68, 816, 68, 817, - 68, 824, 825, 68, 68, 821, 68, 823, 822, 68, - 820, 68, 68, 68, 68, 832, 68, 827, 68, 835, - 826, 836, 68, 68, 68, 829, 68, 828, 837, 68, - 68, 831, 833, 838, 68, 68, 834, 830, 68, 839, - 68, 841, 840, 68, 68, 68, 68, 846, 842, 847, - - 848, 843, 68, 68, 68, 850, 844, 849, 853, 68, - 845, 68, 68, 857, 68, 68, 68, 68, 68, 852, - 861, 68, 68, 860, 855, 854, 851, 856, 858, 862, - 68, 863, 859, 864, 68, 865, 68, 68, 68, 68, - 68, 869, 68, 870, 68, 871, 68, 872, 68, 874, - 68, 873, 68, 68, 68, 876, 867, 866, 868, 68, - 68, 878, 68, 68, 877, 68, 879, 880, 875, 68, - 68, 881, 68, 882, 887, 888, 68, 68, 883, 68, - 890, 68, 68, 884, 68, 68, 68, 68, 896, 885, - 886, 892, 893, 894, 68, 68, 68, 68, 68, 900, - - 68, 891, 899, 889, 68, 902, 903, 68, 68, 905, - 68, 898, 895, 904, 68, 68, 901, 68, 68, 68, - 897, 68, 68, 909, 68, 68, 913, 910, 914, 907, - 906, 68, 915, 68, 908, 912, 916, 917, 918, 68, - 911, 68, 68, 68, 68, 923, 920, 922, 68, 925, - 68, 919, 68, 127, 68, 68, 921, 68, 927, 928, - 68, 929, 68, 930, 926, 68, 68, 68, 68, 68, - 924, 931, 68, 932, 933, 68, 935, 68, 938, 68, - 934, 68, 68, 941, 68, 943, 939, 936, 68, 68, - 937, 944, 68, 940, 945, 68, 68, 948, 942, 946, - - 68, 68, 947, 68, 68, 68, 68, 68, 68, 68, - 956, 68, 955, 950, 68, 951, 952, 959, 68, 68, - 953, 949, 68, 958, 961, 68, 954, 957, 68, 68, - 962, 68, 68, 967, 963, 68, 964, 960, 68, 68, - 965, 971, 68, 68, 968, 966, 68, 68, 68, 970, - 68, 969, 68, 68, 68, 972, 973, 975, 976, 974, - 980, 68, 68, 977, 68, 984, 68, 981, 68, 979, - 986, 68, 978, 983, 68, 68, 68, 985, 68, 988, - 68, 989, 991, 68, 68, 68, 68, 982, 992, 994, - 68, 990, 68, 987, 993, 68, 995, 997, 996, 68, - - 68, 68, 68, 998, 68, 68, 1000, 68, 68, 68, - 1001, 1008, 68, 68, 68, 999, 1009, 125, 68, 1006, - 68, 1002, 68, 1012, 1004, 1013, 68, 1010, 1003, 1005, - 1007, 1011, 1014, 68, 68, 1016, 68, 1017, 68, 1018, - 1019, 68, 1020, 68, 68, 1022, 68, 1015, 68, 1021, - 1024, 68, 68, 68, 68, 68, 1028, 1027, 68, 1026, - 1030, 68, 1032, 68, 1033, 68, 68, 1023, 68, 1035, - 1025, 1029, 68, 68, 68, 68, 68, 1031, 1037, 68, - 1039, 68, 1043, 68, 1036, 68, 123, 68, 1041, 1044, - 1042, 1040, 1034, 68, 1048, 1038, 68, 1047, 68, 68, - - 68, 1049, 1046, 1045, 68, 68, 68, 68, 1053, 1050, - 1057, 1054, 68, 1051, 1055, 68, 1052, 68, 1058, 68, - 68, 1056, 68, 68, 68, 1059, 1061, 68, 1064, 1063, - 68, 68, 1060, 68, 68, 1068, 1065, 68, 68, 1067, - 1069, 68, 1070, 1062, 1071, 68, 68, 1066, 1072, 68, - 1073, 68, 1074, 68, 1075, 68, 68, 68, 68, 1077, - 1078, 1080, 1076, 1079, 68, 68, 68, 1081, 1083, 68, - 1084, 1082, 68, 68, 68, 68, 68, 1090, 68, 68, - 68, 68, 68, 68, 68, 1086, 1087, 1088, 1091, 68, - 1085, 68, 68, 68, 1098, 1094, 1089, 1099, 1096, 1100, - - 68, 1093, 68, 1102, 1103, 68, 1092, 1095, 68, 1097, - 68, 1101, 68, 68, 68, 1111, 68, 1104, 1110, 68, - 68, 68, 68, 68, 68, 1105, 68, 1117, 68, 1116, - 1106, 1107, 1108, 1109, 68, 68, 1112, 1120, 68, 68, - 68, 1113, 68, 1114, 1115, 1122, 68, 68, 1123, 1118, - 68, 1125, 68, 1119, 68, 1126, 68, 1127, 1121, 68, - 68, 68, 1124, 122, 1128, 1130, 1131, 1133, 68, 1129, - 1134, 68, 1135, 68, 1132, 1136, 68, 68, 1137, 68, - 68, 68, 68, 68, 68, 1138, 1140, 68, 68, 68, - 1144, 68, 1146, 1139, 68, 1141, 1142, 1143, 1148, 68, - - 1145, 68, 1150, 1147, 68, 68, 68, 1154, 68, 1151, - 1149, 68, 68, 1156, 1152, 68, 1158, 68, 1157, 1153, - 1159, 68, 68, 68, 1162, 1163, 68, 68, 68, 68, - 68, 1155, 1164, 1165, 68, 68, 68, 1161, 68, 1169, - 1160, 68, 1167, 68, 68, 68, 1171, 68, 68, 1166, - 68, 1176, 1170, 68, 1168, 68, 1174, 1178, 68, 1179, - 68, 68, 1180, 1172, 68, 1175, 68, 68, 1177, 1181, - 1173, 1184, 68, 1182, 68, 1185, 1186, 1187, 68, 68, - 68, 1191, 68, 68, 68, 68, 68, 1188, 68, 1183, - 68, 68, 1192, 1196, 1195, 1190, 1199, 68, 1189, 68, - - 1193, 68, 1201, 68, 1194, 68, 1200, 1204, 68, 68, - 1198, 1205, 68, 68, 68, 68, 1197, 1209, 68, 1202, - 68, 1211, 68, 68, 68, 1207, 68, 1203, 1206, 1213, - 120, 1214, 1210, 1244, 1208, 1215, 68, 1216, 68, 1217, - 68, 68, 1212, 1219, 68, 68, 1218, 68, 1220, 1221, - 68, 68, 68, 1223, 1224, 68, 1222, 1225, 68, 68, - 1228, 68, 68, 1226, 1230, 68, 1229, 68, 1232, 68, - 68, 1231, 68, 1235, 68, 1236, 68, 1237, 68, 1227, - 1238, 68, 68, 68, 1240, 1233, 68, 68, 1243, 68, - 1234, 1241, 68, 68, 1239, 68, 1248, 68, 118, 68, - - 1249, 1249, 1249, 1249, 1249, 1249, 1242, 1245, 1249, 1246, - 1249, 1249, 1247, 40, 40, 40, 40, 40, 40, 40, - 45, 45, 45, 45, 45, 45, 45, 50, 50, 50, - 50, 50, 50, 50, 56, 56, 56, 56, 56, 56, - 56, 61, 61, 61, 61, 61, 61, 61, 71, 71, - 1249, 71, 71, 71, 71, 117, 117, 1249, 1249, 1249, - 117, 117, 119, 119, 1249, 1249, 119, 1249, 119, 121, - 1249, 1249, 1249, 1249, 1249, 121, 124, 124, 1249, 1249, - 1249, 124, 124, 126, 1249, 1249, 1249, 1249, 1249, 126, - 128, 128, 1249, 128, 128, 128, 128, 72, 72, 1249, - - 72, 72, 72, 72, 13, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249 + 264, 271, 279, 267, 274, 68, 275, 272, 68, 68, + + 273, 276, 277, 278, 68, 68, 284, 68, 68, 286, + 68, 68, 280, 282, 283, 281, 285, 68, 289, 68, + 68, 68, 68, 68, 68, 287, 291, 292, 295, 68, + 68, 294, 68, 68, 293, 296, 68, 288, 68, 290, + 68, 299, 68, 127, 68, 68, 298, 68, 315, 297, + 301, 310, 68, 68, 68, 309, 68, 300, 68, 68, + 302, 303, 313, 312, 311, 314, 68, 317, 68, 318, + 304, 68, 305, 306, 307, 68, 316, 308, 68, 319, + 320, 322, 323, 321, 68, 68, 68, 325, 324, 68, + 68, 326, 328, 329, 68, 68, 68, 68, 68, 327, + + 335, 68, 336, 68, 330, 332, 334, 338, 331, 339, + 337, 68, 68, 68, 68, 342, 340, 343, 333, 68, + 68, 68, 68, 68, 68, 68, 341, 68, 347, 345, + 68, 349, 68, 346, 68, 350, 68, 68, 68, 354, + 344, 353, 68, 68, 352, 348, 351, 68, 358, 360, + 68, 68, 68, 68, 68, 359, 357, 355, 356, 68, + 68, 68, 365, 363, 68, 370, 68, 373, 361, 366, + 68, 364, 68, 362, 68, 371, 68, 367, 374, 68, + 369, 68, 375, 68, 372, 68, 68, 368, 377, 376, + 381, 379, 68, 68, 378, 382, 127, 386, 68, 68, + + 385, 68, 68, 390, 68, 380, 68, 68, 384, 68, + 387, 383, 68, 68, 389, 394, 68, 388, 391, 392, + 396, 68, 397, 68, 393, 398, 395, 399, 68, 401, + 68, 400, 68, 68, 68, 68, 405, 402, 403, 404, + 68, 68, 68, 68, 406, 409, 68, 407, 68, 68, + 68, 410, 412, 68, 415, 416, 68, 413, 68, 127, + 68, 414, 411, 408, 68, 417, 68, 418, 68, 68, + 419, 422, 424, 421, 423, 68, 68, 68, 68, 426, + 68, 425, 68, 427, 68, 68, 68, 428, 68, 432, + 431, 125, 420, 433, 68, 434, 429, 436, 430, 435, + + 68, 68, 68, 437, 438, 439, 68, 68, 441, 440, + 68, 68, 68, 442, 68, 68, 444, 68, 448, 68, + 449, 68, 68, 68, 68, 450, 68, 443, 68, 445, + 68, 451, 447, 446, 68, 68, 68, 455, 452, 456, + 68, 454, 457, 453, 68, 458, 68, 68, 68, 459, + 127, 68, 68, 461, 460, 464, 462, 68, 68, 68, + 465, 470, 463, 466, 68, 468, 68, 68, 68, 68, + 472, 471, 467, 469, 68, 475, 473, 68, 68, 68, + 68, 478, 479, 476, 474, 477, 68, 68, 68, 68, + 480, 486, 481, 68, 68, 482, 487, 489, 490, 68, + + 483, 68, 68, 492, 493, 488, 484, 485, 491, 68, + 494, 68, 68, 496, 495, 68, 68, 499, 68, 68, + 68, 503, 68, 498, 68, 502, 68, 504, 68, 68, + 68, 497, 505, 500, 68, 68, 506, 501, 507, 509, + 511, 68, 510, 68, 513, 68, 68, 508, 68, 68, + 68, 512, 68, 515, 68, 517, 68, 68, 68, 518, + 516, 68, 523, 68, 514, 68, 522, 519, 68, 520, + 68, 529, 525, 521, 527, 68, 68, 68, 68, 526, + 524, 530, 68, 68, 528, 68, 535, 533, 536, 68, + 532, 68, 537, 68, 531, 68, 540, 68, 542, 68, + + 68, 68, 543, 127, 534, 68, 68, 68, 539, 538, + 545, 68, 68, 68, 68, 544, 554, 541, 68, 68, + 68, 68, 68, 561, 546, 548, 68, 560, 68, 556, + 123, 547, 68, 557, 559, 549, 566, 550, 555, 558, + 571, 551, 68, 552, 68, 562, 68, 565, 553, 68, + 568, 68, 563, 68, 68, 68, 569, 68, 567, 573, + 68, 570, 68, 575, 68, 68, 574, 576, 68, 68, + 564, 68, 68, 572, 577, 68, 579, 583, 578, 68, + 582, 580, 68, 68, 586, 68, 68, 68, 581, 68, + 588, 585, 589, 584, 68, 591, 68, 592, 587, 590, + + 593, 68, 594, 68, 598, 68, 595, 68, 68, 596, + 68, 68, 597, 68, 601, 68, 68, 68, 599, 604, + 602, 603, 68, 605, 68, 606, 68, 68, 68, 68, + 600, 614, 68, 610, 611, 612, 68, 68, 615, 68, + 609, 68, 607, 68, 617, 68, 608, 68, 68, 621, + 68, 68, 616, 68, 68, 619, 68, 68, 618, 620, + 623, 68, 629, 630, 68, 122, 622, 68, 68, 624, + 626, 68, 627, 68, 68, 68, 631, 68, 632, 625, + 634, 628, 637, 68, 68, 68, 68, 633, 68, 635, + 68, 640, 636, 68, 639, 642, 68, 68, 68, 68, + + 644, 68, 638, 68, 68, 68, 68, 641, 68, 647, + 68, 651, 643, 645, 646, 68, 68, 68, 655, 654, + 648, 652, 650, 68, 649, 657, 68, 68, 653, 656, + 660, 659, 68, 664, 661, 68, 658, 68, 68, 68, + 662, 663, 68, 665, 666, 68, 68, 668, 68, 671, + 667, 669, 672, 68, 68, 68, 68, 68, 673, 674, + 68, 68, 68, 68, 68, 675, 670, 680, 68, 68, + 676, 679, 677, 68, 678, 68, 681, 685, 683, 68, + 682, 688, 68, 689, 68, 691, 68, 684, 692, 68, + 68, 686, 694, 68, 68, 693, 68, 68, 690, 68, + + 687, 68, 697, 68, 696, 68, 701, 699, 702, 68, + 700, 68, 68, 68, 695, 68, 704, 698, 705, 68, + 703, 68, 68, 707, 706, 708, 68, 711, 68, 68, + 68, 715, 68, 68, 68, 68, 68, 68, 720, 709, + 68, 68, 721, 68, 68, 710, 724, 68, 712, 713, + 68, 714, 68, 68, 716, 718, 727, 68, 68, 719, + 717, 68, 723, 68, 68, 725, 722, 68, 732, 734, + 726, 729, 728, 730, 733, 68, 68, 68, 68, 68, + 731, 68, 741, 742, 738, 736, 740, 68, 68, 68, + 743, 68, 737, 735, 68, 68, 744, 747, 749, 68, + + 739, 748, 68, 68, 68, 68, 68, 753, 745, 68, + 68, 752, 68, 68, 746, 68, 68, 120, 68, 68, + 761, 68, 750, 751, 68, 754, 762, 68, 755, 756, + 758, 763, 757, 760, 68, 68, 759, 764, 767, 68, + 68, 68, 770, 765, 771, 768, 68, 68, 68, 68, + 772, 68, 68, 68, 68, 766, 773, 776, 778, 68, + 68, 769, 68, 774, 68, 780, 68, 68, 68, 777, + 68, 775, 783, 68, 68, 785, 68, 782, 68, 788, + 779, 68, 68, 68, 781, 792, 784, 68, 787, 794, + 68, 786, 793, 68, 68, 68, 789, 68, 68, 801, + + 798, 790, 791, 797, 68, 68, 68, 796, 800, 68, + 795, 68, 802, 68, 68, 68, 808, 68, 805, 68, + 807, 68, 68, 799, 803, 68, 809, 68, 816, 804, + 68, 68, 68, 68, 68, 68, 68, 806, 118, 811, + 810, 813, 814, 68, 815, 812, 68, 68, 825, 68, + 821, 820, 817, 68, 818, 822, 819, 68, 823, 68, + 826, 68, 827, 824, 832, 68, 833, 68, 68, 68, + 829, 68, 68, 830, 831, 68, 68, 68, 828, 68, + 840, 68, 68, 68, 835, 68, 843, 844, 834, 837, + 836, 68, 68, 68, 68, 839, 68, 841, 68, 845, + + 842, 838, 68, 849, 848, 846, 68, 68, 68, 68, + 68, 847, 854, 850, 851, 855, 68, 68, 858, 68, + 68, 856, 857, 68, 852, 861, 68, 853, 68, 68, + 68, 865, 68, 68, 68, 860, 68, 862, 68, 868, + 863, 864, 859, 871, 866, 869, 68, 68, 867, 870, + 68, 872, 68, 873, 68, 877, 68, 68, 68, 874, + 878, 68, 879, 68, 880, 68, 875, 882, 881, 68, + 68, 884, 68, 68, 876, 883, 68, 886, 68, 68, + 887, 888, 68, 68, 68, 889, 68, 890, 68, 896, + 68, 68, 891, 68, 898, 885, 68, 68, 68, 68, + + 68, 68, 892, 893, 894, 901, 900, 68, 902, 895, + 68, 904, 68, 68, 908, 68, 899, 897, 907, 68, + 911, 68, 910, 906, 68, 68, 903, 905, 68, 912, + 68, 68, 909, 68, 913, 68, 68, 68, 921, 917, + 68, 68, 922, 68, 918, 915, 923, 68, 914, 924, + 916, 920, 925, 926, 68, 68, 68, 919, 68, 68, + 928, 68, 68, 931, 933, 127, 930, 927, 68, 68, + 68, 929, 68, 935, 934, 936, 68, 937, 68, 68, + 68, 68, 68, 932, 942, 938, 939, 68, 940, 941, + 68, 943, 68, 68, 68, 949, 68, 68, 951, 68, + + 68, 946, 944, 947, 68, 945, 952, 948, 953, 68, + 68, 68, 956, 950, 68, 68, 68, 954, 68, 955, + 68, 68, 68, 68, 68, 964, 68, 958, 959, 963, + 960, 966, 967, 68, 68, 957, 961, 68, 68, 68, + 962, 970, 969, 971, 965, 68, 68, 68, 975, 68, + 972, 68, 68, 68, 976, 979, 68, 68, 68, 68, + 968, 68, 68, 68, 973, 68, 978, 974, 981, 980, + 977, 982, 983, 984, 68, 985, 68, 68, 986, 68, + 988, 987, 989, 992, 68, 68, 994, 68, 991, 68, + 68, 68, 68, 68, 993, 996, 68, 997, 999, 68, + + 68, 1000, 990, 998, 68, 1001, 1002, 68, 995, 68, + 1003, 68, 1004, 68, 68, 68, 1005, 1006, 68, 1007, + 1008, 68, 68, 68, 68, 68, 1016, 68, 68, 68, + 68, 1017, 68, 1020, 1021, 68, 1014, 1010, 1022, 68, + 1009, 1012, 1018, 1019, 1013, 1011, 1015, 68, 1024, 68, + 1025, 68, 68, 1027, 68, 1028, 68, 68, 1030, 68, + 1023, 68, 1029, 1032, 68, 68, 68, 68, 68, 1036, + 1035, 1026, 1034, 1038, 68, 68, 1040, 68, 1041, 68, + 1031, 68, 68, 1033, 1037, 68, 1043, 68, 68, 68, + 68, 68, 68, 1045, 1039, 1047, 68, 1051, 68, 1044, + + 1049, 1050, 68, 1046, 1048, 68, 68, 1042, 1056, 1052, + 68, 1055, 68, 68, 1074, 1054, 1053, 68, 1057, 68, + 68, 1063, 68, 1061, 68, 68, 1058, 1059, 68, 1062, + 68, 1060, 1064, 1065, 1066, 68, 68, 68, 68, 68, + 68, 1067, 1069, 1072, 1071, 1068, 1073, 68, 68, 68, + 68, 1077, 1075, 68, 1078, 1079, 68, 1070, 1076, 1080, + 68, 1081, 68, 1082, 68, 1083, 68, 68, 68, 68, + 1087, 68, 68, 68, 1086, 1089, 68, 1088, 1091, 68, + 68, 1090, 1084, 68, 68, 68, 68, 68, 68, 1085, + 1098, 68, 1092, 68, 68, 68, 1094, 1095, 1096, 68, + + 68, 1093, 1099, 68, 68, 1106, 68, 1097, 1108, 68, + 68, 1107, 1102, 68, 1100, 1101, 68, 1104, 1103, 68, + 1110, 68, 1105, 1111, 68, 1112, 68, 68, 1109, 68, + 1119, 1114, 1118, 68, 68, 68, 1113, 68, 68, 68, + 1125, 68, 68, 1116, 1115, 1124, 68, 68, 1117, 1120, + 1128, 68, 68, 1130, 68, 68, 1121, 68, 1122, 1123, + 68, 1126, 68, 1131, 68, 1127, 1133, 68, 1136, 1134, + 68, 1129, 1135, 68, 68, 68, 125, 1132, 1138, 1139, + 1141, 68, 1142, 68, 1143, 1137, 1144, 68, 68, 68, + 1140, 1145, 68, 1146, 68, 68, 68, 68, 1148, 68, + + 68, 68, 68, 1152, 68, 68, 1147, 68, 1150, 1149, + 1151, 1156, 68, 1153, 1157, 1158, 1154, 68, 68, 1155, + 68, 68, 1159, 1162, 68, 68, 1164, 1160, 68, 1166, + 68, 1165, 68, 1161, 1167, 68, 68, 68, 1170, 1171, + 68, 1163, 68, 68, 68, 68, 1172, 68, 68, 1177, + 1168, 1169, 1175, 1173, 68, 1174, 68, 68, 68, 68, + 68, 1179, 68, 68, 1176, 1184, 1186, 68, 1182, 68, + 1178, 68, 123, 1187, 68, 68, 68, 1180, 68, 1193, + 1183, 1185, 68, 1188, 1181, 1189, 68, 1190, 68, 68, + 68, 1192, 68, 68, 1195, 68, 1191, 1194, 68, 1196, + + 68, 1197, 1199, 68, 1200, 68, 68, 1198, 1203, 1201, + 1204, 68, 1207, 68, 68, 1209, 68, 1202, 68, 1208, + 68, 1212, 68, 1213, 68, 68, 68, 68, 1217, 68, + 1206, 68, 1205, 1219, 68, 68, 68, 68, 1210, 1215, + 68, 68, 1211, 1218, 1214, 1222, 1216, 1223, 68, 1231, + 1221, 1224, 68, 68, 1220, 1225, 68, 1235, 1226, 1227, + 68, 68, 1228, 1229, 68, 68, 1232, 68, 68, 68, + 1230, 1236, 68, 1233, 1234, 68, 1238, 68, 68, 1237, + 1240, 68, 1239, 68, 68, 1243, 68, 1244, 68, 1245, + 68, 1246, 68, 68, 68, 1248, 68, 68, 1241, 68, + + 1249, 68, 1242, 1251, 68, 1247, 68, 68, 1252, 1256, + 68, 122, 120, 118, 68, 1257, 1253, 1250, 1257, 1257, + 1254, 1257, 1257, 1257, 1257, 1257, 1255, 40, 40, 40, + 40, 40, 40, 40, 45, 45, 45, 45, 45, 45, + 45, 50, 50, 50, 50, 50, 50, 50, 56, 56, + 56, 56, 56, 56, 56, 61, 61, 61, 61, 61, + 61, 61, 71, 71, 1257, 71, 71, 71, 71, 117, + 117, 1257, 1257, 1257, 117, 117, 119, 119, 1257, 1257, + 119, 1257, 119, 121, 1257, 1257, 1257, 1257, 1257, 121, + 124, 124, 1257, 1257, 1257, 124, 124, 126, 1257, 1257, + + 1257, 1257, 1257, 126, 128, 128, 1257, 128, 128, 128, + 128, 72, 72, 1257, 72, 72, 72, 72, 13, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257 } ; -static yyconst flex_int16_t yy_chk[2545] = +static yyconst flex_int16_t yy_chk[2559] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1133,7 +1137,7 @@ static yyconst flex_int16_t yy_chk[2545] = 9, 113, 33, 6, 7, 7, 7, 7, 9, 7, 10, 10, 10, 44, 44, 7, 8, 8, 8, 8, 10, 8, 21, 33, 113, 21, 21, 8, 11, 11, - 11, 11, 11, 11, 1255, 20, 29, 20, 20, 11, + 11, 11, 11, 11, 1263, 20, 29, 20, 20, 11, 20, 29, 24, 21, 25, 20, 24, 28, 11, 12, 12, 12, 12, 12, 12, 74, 22, 22, 74, 25, @@ -1161,15 +1165,15 @@ static yyconst flex_int16_t yy_chk[2545] = 127, 128, 127, 128, 128, 130, 128, 133, 130, 131, 132, 134, 128, 135, 131, 132, 136, 137, 138, 134, 139, 142, 137, 138, 143, 139, 141, 141, 146, 143, - 144, 147, 148, 146, 150, 152, 136, 140, 151, 525, + 144, 147, 148, 146, 150, 152, 136, 140, 151, 529, 142, 140, 157, 151, 149, 147, 140, 148, 153, 154, - 525, 140, 150, 144, 154, 152, 149, 140, 140, 149, + 529, 140, 150, 144, 154, 152, 149, 140, 140, 149, 155, 155, 156, 157, 153, 158, 159, 156, 162, 160, 158, 159, 161, 156, 160, 162, 163, 161, 164, 165, 166, 167, 163, 169, 168, 165, 170, 171, 172, 167, 173, 170, 174, 175, 174, 176, 177, 177, 164, 168, - 175, 182, 166, 169, 186, 539, 172, 172, 178, 171, + 175, 182, 166, 169, 186, 543, 172, 172, 178, 171, 173, 179, 181, 178, 176, 180, 179, 180, 183, 186, 182, 187, 184, 185, 181, 188, 183, 184, 185, 189, 192, 178, 189, 188, 180, 190, 190, 191, 191, 187, @@ -1177,233 +1181,234 @@ static yyconst flex_int16_t yy_chk[2545] = 197, 196, 199, 199, 200, 193, 201, 202, 203, 204, 205, 201, 198, 206, 206, 207, 208, 209, 210, 211, 212, 210, 209, 205, 214, 213, 203, 202, 208, 217, - 204, 211, 217, 207, 213, 215, 214, 215, 215, 218, - - 212, 216, 216, 219, 220, 221, 221, 222, 223, 223, - 224, 225, 222, 220, 227, 226, 218, 228, 219, 218, - 226, 229, 228, 230, 229, 224, 231, 232, 233, 234, - 235, 225, 232, 233, 227, 231, 236, 230, 237, 236, - 241, 240, 239, 242, 235, 243, 244, 246, 245, 234, - 240, 250, 237, 245, 247, 236, 238, 239, 238, 238, - 243, 241, 242, 248, 249, 250, 244, 246, 238, 247, - 238, 238, 238, 253, 251, 238, 254, 256, 248, 251, - 252, 252, 255, 252, 249, 257, 258, 257, 259, 260, - 258, 256, 254, 253, 263, 261, 262, 264, 255, 263, - - 265, 264, 266, 260, 261, 262, 259, 266, 267, 265, - 268, 269, 270, 270, 267, 268, 271, 261, 272, 273, - 274, 271, 275, 279, 269, 274, 280, 272, 276, 276, - 281, 273, 278, 278, 280, 282, 284, 285, 286, 281, - 287, 288, 290, 275, 279, 287, 289, 282, 291, 288, - 292, 289, 286, 293, 292, 295, 284, 285, 294, 294, - 290, 297, 299, 296, 298, 298, 294, 301, 296, 304, - 291, 302, 293, 296, 294, 295, 300, 300, 303, 305, - 306, 297, 301, 302, 294, 306, 307, 299, 304, 308, - 309, 312, 310, 303, 311, 307, 310, 313, 314, 311, - - 316, 305, 317, 312, 318, 309, 315, 315, 308, 320, - 319, 314, 316, 319, 317, 313, 321, 321, 323, 318, - 322, 322, 320, 323, 324, 324, 325, 325, 326, 327, - 328, 333, 329, 326, 330, 328, 329, 331, 332, 330, - 334, 331, 335, 332, 336, 334, 360, 335, 360, 337, - 327, 333, 337, 338, 338, 339, 340, 337, 336, 341, - 339, 337, 341, 342, 343, 340, 344, 342, 345, 346, - 350, 344, 351, 345, 357, 346, 347, 343, 348, 347, - 349, 348, 352, 357, 126, 349, 351, 352, 350, 342, - 353, 354, 356, 353, 355, 362, 354, 356, 355, 355, - - 358, 359, 361, 358, 361, 359, 359, 363, 364, 365, - 366, 363, 367, 368, 368, 362, 369, 367, 371, 370, - 369, 372, 373, 364, 370, 366, 374, 365, 379, 384, - 376, 375, 384, 374, 371, 373, 375, 376, 377, 378, - 372, 380, 381, 377, 378, 382, 379, 383, 380, 385, - 386, 381, 383, 385, 387, 387, 389, 391, 390, 382, - 392, 389, 390, 387, 393, 396, 400, 399, 392, 401, - 406, 386, 400, 401, 405, 391, 399, 124, 402, 393, - 404, 414, 396, 402, 403, 404, 403, 407, 403, 415, - 407, 403, 405, 408, 408, 406, 403, 409, 410, 410, - - 411, 414, 403, 403, 409, 412, 412, 413, 415, 416, - 413, 417, 417, 418, 419, 411, 123, 416, 422, 419, - 420, 420, 421, 423, 422, 421, 424, 425, 418, 427, - 426, 423, 428, 428, 424, 426, 427, 430, 429, 431, - 433, 434, 430, 433, 438, 425, 429, 435, 435, 436, - 439, 442, 436, 440, 443, 434, 450, 441, 431, 444, - 436, 441, 440, 443, 446, 438, 445, 449, 450, 447, - 442, 439, 445, 444, 447, 448, 451, 452, 446, 448, - 454, 451, 453, 453, 455, 454, 449, 455, 456, 457, - 458, 459, 460, 460, 462, 458, 461, 461, 452, 463, - - 464, 465, 457, 463, 466, 469, 456, 470, 468, 462, - 471, 459, 468, 472, 473, 474, 480, 480, 466, 464, - 489, 474, 470, 489, 471, 465, 467, 475, 473, 467, - 469, 467, 475, 478, 472, 467, 477, 467, 476, 476, - 479, 477, 467, 481, 483, 482, 476, 478, 481, 484, - 485, 485, 479, 482, 490, 486, 488, 491, 483, 486, - 492, 488, 493, 494, 476, 492, 496, 495, 484, 497, - 491, 493, 495, 490, 498, 500, 501, 121, 504, 498, - 502, 501, 494, 497, 503, 502, 496, 504, 506, 503, - 500, 505, 505, 506, 508, 511, 509, 509, 508, 508, - - 509, 510, 512, 513, 510, 516, 513, 514, 515, 517, - 511, 516, 514, 515, 518, 517, 519, 518, 520, 521, - 522, 523, 512, 526, 524, 522, 523, 524, 526, 528, - 527, 530, 521, 531, 519, 527, 529, 529, 520, 532, - 534, 533, 536, 535, 528, 533, 537, 531, 540, 541, - 530, 532, 535, 542, 543, 544, 546, 119, 534, 543, - 544, 536, 540, 545, 541, 547, 549, 548, 545, 550, - 546, 537, 548, 542, 551, 551, 552, 553, 554, 547, - 555, 549, 556, 554, 550, 557, 553, 556, 558, 561, - 559, 560, 558, 562, 552, 563, 564, 565, 566, 555, - - 567, 561, 568, 565, 557, 559, 560, 571, 573, 572, - 570, 568, 562, 566, 564, 570, 563, 572, 574, 576, - 567, 571, 575, 574, 577, 578, 575, 575, 573, 582, - 578, 580, 576, 577, 579, 579, 580, 581, 581, 583, - 584, 585, 586, 582, 587, 584, 585, 586, 587, 588, - 589, 591, 593, 592, 596, 591, 595, 583, 588, 594, - 597, 589, 596, 588, 598, 588, 601, 588, 592, 604, - 593, 599, 599, 594, 604, 595, 600, 600, 597, 602, - 602, 603, 603, 605, 605, 601, 606, 607, 608, 598, - 609, 610, 611, 608, 621, 607, 613, 610, 614, 611, - - 615, 613, 616, 614, 617, 615, 606, 616, 609, 618, - 619, 620, 620, 617, 621, 622, 624, 623, 629, 625, - 628, 619, 623, 626, 627, 627, 630, 631, 618, 633, - 634, 635, 636, 633, 633, 637, 624, 636, 622, 625, - 628, 626, 638, 629, 630, 640, 641, 639, 642, 635, - 631, 639, 643, 637, 644, 647, 634, 649, 645, 644, - 641, 646, 638, 642, 640, 645, 646, 648, 650, 651, - 652, 643, 649, 647, 650, 652, 648, 653, 654, 655, - 655, 657, 653, 654, 658, 659, 657, 660, 661, 661, - 651, 660, 660, 662, 663, 665, 664, 666, 658, 667, - - 663, 664, 668, 669, 659, 670, 673, 671, 672, 672, - 675, 673, 662, 677, 665, 674, 666, 669, 667, 674, - 676, 668, 671, 675, 678, 678, 670, 679, 680, 676, - 681, 684, 679, 677, 690, 681, 684, 687, 687, 689, - 691, 692, 689, 693, 694, 694, 692, 695, 680, 690, - 696, 696, 697, 698, 700, 699, 701, 703, 693, 699, - 706, 701, 704, 707, 698, 691, 708, 695, 705, 705, - 709, 712, 709, 700, 697, 703, 704, 710, 713, 711, - 706, 714, 710, 707, 711, 716, 708, 714, 717, 719, - 716, 712, 713, 718, 719, 722, 718, 720, 720, 721, - - 723, 724, 725, 726, 726, 723, 727, 725, 728, 729, - 730, 727, 733, 717, 731, 722, 734, 721, 735, 732, - 736, 734, 737, 117, 724, 733, 728, 738, 731, 729, - 730, 732, 739, 741, 744, 740, 745, 744, 735, 739, - 736, 746, 738, 737, 740, 745, 747, 740, 748, 741, - 751, 749, 750, 750, 752, 747, 749, 748, 747, 753, - 746, 754, 755, 756, 757, 757, 758, 752, 759, 761, - 751, 762, 763, 767, 761, 754, 762, 753, 763, 768, - 764, 756, 758, 764, 766, 769, 759, 755, 770, 764, - 772, 767, 766, 773, 774, 775, 777, 773, 768, 774, - - 775, 769, 776, 778, 779, 777, 770, 776, 780, 780, - 772, 781, 782, 784, 786, 783, 785, 787, 784, 779, - 788, 788, 790, 787, 782, 781, 778, 783, 785, 789, - 789, 790, 786, 791, 791, 792, 793, 794, 795, 805, - 792, 796, 796, 797, 797, 798, 798, 799, 800, 802, - 803, 800, 799, 813, 802, 804, 794, 793, 795, 809, - 804, 806, 806, 810, 805, 807, 807, 808, 803, 811, - 812, 809, 808, 809, 813, 814, 814, 815, 809, 816, - 816, 817, 818, 810, 820, 819, 821, 822, 822, 811, - 812, 818, 819, 820, 823, 824, 828, 826, 829, 827, - - 832, 817, 826, 815, 827, 829, 830, 830, 831, 832, - 833, 824, 821, 831, 834, 835, 828, 836, 837, 838, - 823, 839, 848, 836, 67, 843, 840, 837, 841, 834, - 833, 840, 841, 841, 835, 839, 842, 843, 844, 845, - 838, 842, 846, 844, 847, 849, 846, 848, 850, 851, - 849, 845, 852, 61, 851, 854, 847, 857, 854, 855, - 855, 856, 856, 857, 852, 860, 858, 859, 863, 867, - 850, 858, 866, 859, 860, 865, 865, 868, 867, 872, - 863, 874, 880, 873, 875, 875, 868, 865, 873, 876, - 866, 876, 879, 872, 877, 877, 881, 881, 874, 879, - - 882, 883, 880, 884, 885, 886, 887, 889, 890, 891, - 890, 894, 889, 883, 892, 884, 885, 893, 893, 895, - 886, 882, 899, 892, 895, 900, 887, 891, 896, 897, - 896, 898, 904, 901, 897, 905, 898, 894, 901, 902, - 899, 906, 906, 907, 902, 900, 910, 908, 909, 905, - 911, 904, 912, 913, 914, 907, 908, 909, 910, 908, - 914, 916, 917, 911, 918, 919, 919, 916, 920, 913, - 921, 921, 912, 918, 922, 923, 924, 920, 925, 923, - 927, 924, 926, 926, 938, 930, 933, 917, 927, 931, - 931, 925, 934, 922, 930, 932, 932, 934, 933, 935, - - 936, 937, 939, 935, 940, 941, 937, 943, 942, 944, - 938, 946, 946, 947, 948, 936, 947, 56, 949, 943, - 956, 939, 950, 950, 941, 951, 951, 948, 940, 942, - 944, 949, 952, 952, 953, 954, 954, 955, 955, 956, - 957, 957, 958, 958, 960, 961, 961, 953, 962, 960, - 963, 963, 964, 965, 966, 967, 967, 966, 969, 965, - 968, 968, 970, 970, 972, 972, 973, 962, 974, 974, - 964, 967, 975, 976, 977, 978, 979, 969, 976, 980, - 978, 981, 982, 985, 975, 983, 51, 982, 980, 983, - 981, 979, 973, 987, 989, 977, 988, 988, 992, 989, - - 990, 990, 987, 985, 993, 995, 996, 999, 995, 990, - 999, 996, 1002, 992, 997, 997, 993, 998, 1000, 1000, - 1001, 998, 1003, 1004, 1005, 1001, 1003, 1011, 1006, 1005, - 1007, 1009, 1002, 1006, 1010, 1011, 1007, 1028, 1012, 1010, - 1012, 1015, 1015, 1004, 1018, 1018, 1027, 1009, 1021, 1021, - 1023, 1023, 1025, 1026, 1026, 1029, 1034, 1025, 1038, 1028, - 1029, 1034, 1027, 1031, 1031, 1035, 1036, 1035, 1037, 1037, - 1038, 1036, 1039, 1040, 1041, 1042, 1043, 1044, 1044, 1045, - 1046, 1047, 1048, 1049, 1050, 1040, 1041, 1042, 1045, 1052, - 1039, 1051, 1053, 1056, 1052, 1048, 1043, 1053, 1050, 1054, - - 1054, 1047, 1057, 1057, 1059, 1059, 1046, 1049, 1060, 1051, - 1061, 1056, 1062, 1063, 1065, 1067, 1064, 1060, 1066, 1066, - 1067, 1068, 1069, 1070, 1074, 1061, 1075, 1076, 1076, 1075, - 1062, 1063, 1064, 1065, 1077, 1078, 1068, 1080, 1080, 1081, - 1085, 1069, 1086, 1070, 1074, 1082, 1082, 1084, 1084, 1077, - 1087, 1086, 1088, 1078, 1091, 1087, 1089, 1088, 1081, 1094, - 1092, 1093, 1085, 50, 1089, 1092, 1093, 1095, 1095, 1091, - 1096, 1096, 1097, 1111, 1094, 1098, 1098, 1097, 1099, 1099, - 1101, 1102, 1105, 1104, 1112, 1101, 1104, 1106, 1107, 1108, - 1108, 1109, 1111, 1102, 1115, 1105, 1106, 1107, 1113, 1113, - - 1109, 1114, 1115, 1112, 1116, 1118, 1119, 1121, 1121, 1116, - 1114, 1123, 1124, 1124, 1118, 1125, 1126, 1126, 1125, 1119, - 1127, 1127, 1128, 1129, 1130, 1131, 1131, 1135, 1132, 1130, - 1138, 1123, 1132, 1135, 1139, 1140, 1142, 1129, 1141, 1141, - 1128, 1143, 1139, 1144, 1145, 1147, 1143, 1146, 1149, 1138, - 1150, 1149, 1142, 1153, 1140, 1152, 1146, 1151, 1151, 1152, - 1155, 1156, 1153, 1144, 1157, 1147, 1160, 1162, 1150, 1155, - 1145, 1160, 1164, 1156, 1161, 1161, 1162, 1164, 1165, 1166, - 1167, 1168, 1168, 1169, 1170, 1171, 1172, 1165, 1173, 1157, - 1174, 1175, 1169, 1173, 1172, 1167, 1176, 1176, 1166, 1180, - - 1170, 1177, 1179, 1179, 1171, 1181, 1177, 1182, 1182, 1184, - 1175, 1183, 1183, 1185, 1186, 1192, 1174, 1187, 1187, 1180, - 1188, 1189, 1189, 1190, 1242, 1185, 1193, 1181, 1184, 1192, - 45, 1193, 1188, 1242, 1186, 1194, 1194, 1195, 1195, 1196, - 1196, 1197, 1190, 1198, 1198, 1206, 1197, 1200, 1200, 1202, - 1202, 1203, 1208, 1206, 1207, 1207, 1203, 1208, 1210, 1212, - 1213, 1213, 1214, 1210, 1218, 1218, 1214, 1220, 1222, 1222, - 1223, 1220, 1225, 1226, 1226, 1227, 1227, 1229, 1229, 1212, - 1231, 1231, 1233, 1234, 1234, 1223, 1240, 1239, 1241, 1241, - 1225, 1239, 1244, 1246, 1233, 1245, 1247, 1247, 40, 14, - - 13, 0, 0, 0, 0, 0, 1240, 1244, 0, 1245, - 0, 0, 1246, 1250, 1250, 1250, 1250, 1250, 1250, 1250, - 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1252, 1252, 1252, - 1252, 1252, 1252, 1252, 1253, 1253, 1253, 1253, 1253, 1253, - 1253, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1256, 1256, - 0, 1256, 1256, 1256, 1256, 1257, 1257, 0, 0, 0, - 1257, 1257, 1258, 1258, 0, 0, 1258, 0, 1258, 1259, - 0, 0, 0, 0, 0, 1259, 1260, 1260, 0, 0, - 0, 1260, 1260, 1261, 0, 0, 0, 0, 0, 1261, - 1262, 1262, 0, 1262, 1262, 1262, 1262, 1263, 1263, 0, - - 1263, 1263, 1263, 1263, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249 + 204, 211, 217, 207, 213, 218, 214, 212, 219, 215, + + 212, 215, 215, 216, 216, 220, 221, 221, 223, 223, + 224, 222, 218, 219, 220, 218, 222, 225, 226, 227, + 230, 228, 231, 226, 229, 224, 228, 229, 232, 234, + 233, 231, 235, 232, 230, 233, 237, 225, 236, 227, + 239, 236, 240, 241, 242, 244, 235, 243, 245, 234, + 237, 240, 247, 245, 248, 239, 246, 236, 238, 249, + 238, 238, 243, 242, 241, 244, 250, 247, 253, 248, + 238, 254, 238, 238, 238, 255, 246, 238, 251, 249, + 250, 252, 252, 251, 252, 256, 259, 254, 253, 258, + 257, 255, 257, 258, 260, 263, 261, 262, 264, 256, + + 263, 265, 264, 267, 259, 261, 262, 266, 260, 267, + 265, 268, 266, 269, 270, 270, 268, 271, 261, 272, + 273, 274, 271, 275, 276, 280, 269, 283, 275, 273, + 277, 277, 282, 274, 279, 279, 281, 285, 286, 283, + 272, 282, 287, 288, 281, 276, 280, 289, 288, 290, + 291, 292, 294, 300, 290, 289, 287, 285, 286, 293, + 296, 295, 295, 293, 298, 297, 299, 299, 291, 295, + 297, 294, 305, 292, 302, 297, 303, 295, 300, 304, + 296, 301, 301, 306, 298, 307, 308, 295, 303, 302, + 307, 305, 309, 310, 304, 308, 311, 312, 313, 314, + + 311, 315, 312, 316, 316, 306, 317, 318, 310, 319, + 313, 309, 320, 321, 315, 320, 328, 314, 317, 318, + 322, 322, 323, 323, 319, 324, 321, 325, 325, 327, + 324, 326, 326, 329, 327, 330, 331, 328, 329, 330, + 332, 331, 333, 334, 332, 335, 336, 333, 337, 338, + 335, 336, 338, 339, 339, 340, 341, 338, 345, 126, + 340, 338, 337, 334, 342, 341, 343, 342, 344, 346, + 343, 345, 347, 344, 346, 348, 349, 347, 352, 349, + 350, 348, 351, 350, 353, 354, 355, 351, 356, 355, + 354, 124, 343, 356, 359, 357, 352, 358, 353, 357, + + 357, 360, 358, 359, 360, 361, 362, 364, 362, 361, + 361, 363, 365, 363, 366, 367, 365, 368, 369, 370, + 370, 371, 373, 369, 374, 371, 372, 364, 375, 366, + 376, 372, 368, 367, 377, 378, 381, 376, 373, 377, + 379, 375, 378, 374, 380, 379, 382, 383, 384, 380, + 385, 388, 393, 382, 381, 385, 383, 386, 398, 387, + 386, 391, 384, 387, 389, 389, 391, 392, 394, 395, + 393, 392, 388, 389, 401, 398, 394, 403, 407, 402, + 408, 403, 404, 401, 395, 402, 406, 404, 405, 413, + 405, 406, 405, 416, 409, 405, 407, 409, 410, 410, + + 405, 411, 412, 412, 413, 408, 405, 405, 411, 414, + 414, 415, 417, 416, 415, 418, 419, 419, 420, 421, + 422, 423, 423, 418, 424, 422, 425, 424, 426, 428, + 427, 417, 425, 420, 429, 430, 426, 421, 427, 429, + 431, 431, 430, 432, 433, 434, 437, 428, 441, 433, + 436, 432, 442, 436, 438, 438, 439, 443, 444, 439, + 437, 445, 444, 446, 434, 447, 443, 439, 448, 441, + 449, 450, 446, 442, 448, 452, 450, 451, 453, 447, + 445, 451, 454, 455, 449, 456, 456, 454, 457, 458, + 453, 459, 458, 457, 452, 460, 461, 462, 463, 463, + + 465, 461, 464, 464, 455, 467, 466, 468, 460, 459, + 466, 469, 471, 472, 473, 465, 471, 462, 475, 474, + 476, 477, 481, 478, 467, 469, 486, 477, 478, 473, + 123, 468, 470, 474, 476, 470, 481, 470, 472, 475, + 486, 470, 480, 470, 479, 479, 482, 480, 470, 483, + 483, 484, 479, 485, 487, 493, 484, 499, 482, 488, + 488, 485, 489, 491, 492, 494, 489, 492, 491, 497, + 479, 495, 496, 487, 493, 498, 495, 499, 494, 500, + 498, 496, 501, 504, 502, 505, 508, 506, 497, 502, + 505, 501, 506, 500, 507, 508, 509, 509, 504, 507, + + 510, 514, 512, 515, 514, 510, 512, 512, 513, 513, + 516, 517, 513, 520, 517, 518, 519, 521, 515, 520, + 518, 519, 522, 521, 523, 522, 524, 525, 526, 527, + 516, 530, 528, 526, 527, 528, 530, 532, 531, 534, + 525, 535, 523, 531, 533, 533, 524, 536, 538, 537, + 540, 539, 532, 537, 541, 535, 544, 545, 534, 536, + 539, 546, 547, 548, 550, 121, 538, 547, 548, 540, + 544, 549, 545, 551, 553, 552, 549, 554, 550, 541, + 552, 546, 555, 555, 556, 557, 558, 551, 559, 553, + 560, 558, 554, 561, 557, 560, 562, 565, 563, 564, + + 562, 566, 556, 567, 568, 569, 570, 559, 571, 565, + 572, 569, 561, 563, 564, 575, 577, 576, 574, 572, + 566, 570, 568, 574, 567, 576, 578, 580, 571, 575, + 579, 578, 581, 582, 579, 579, 577, 587, 582, 584, + 580, 581, 583, 583, 584, 585, 586, 586, 588, 589, + 585, 587, 590, 591, 589, 592, 593, 590, 591, 592, + 594, 597, 598, 596, 599, 593, 588, 596, 600, 601, + 593, 594, 593, 602, 593, 603, 597, 601, 599, 606, + 598, 604, 604, 605, 605, 607, 607, 600, 608, 608, + 609, 602, 610, 610, 611, 609, 612, 613, 606, 614, + + 603, 615, 613, 616, 612, 623, 618, 615, 619, 622, + 616, 618, 624, 619, 611, 620, 621, 614, 622, 626, + 620, 621, 627, 624, 623, 625, 625, 628, 629, 630, + 632, 632, 628, 631, 633, 634, 636, 635, 638, 626, + 639, 641, 638, 638, 640, 627, 641, 642, 629, 630, + 643, 631, 644, 645, 633, 635, 644, 646, 647, 636, + 634, 648, 640, 649, 651, 642, 639, 650, 649, 651, + 643, 646, 645, 647, 650, 652, 653, 654, 655, 656, + 648, 657, 658, 659, 655, 653, 657, 658, 659, 660, + 660, 662, 654, 652, 663, 664, 662, 665, 666, 666, + + 656, 665, 665, 667, 668, 669, 671, 670, 663, 672, + 673, 669, 670, 674, 664, 676, 675, 119, 677, 678, + 678, 679, 667, 668, 681, 671, 679, 680, 672, 673, + 675, 680, 674, 677, 682, 683, 676, 681, 684, 684, + 685, 686, 687, 682, 690, 685, 697, 687, 696, 690, + 693, 693, 698, 695, 699, 683, 695, 698, 700, 700, + 701, 686, 703, 696, 702, 702, 704, 706, 705, 699, + 707, 697, 705, 709, 710, 707, 712, 704, 711, 711, + 701, 713, 714, 715, 703, 715, 706, 716, 710, 717, + 718, 709, 716, 719, 717, 722, 712, 720, 723, 725, + + 722, 713, 714, 720, 725, 724, 727, 719, 724, 728, + 718, 726, 726, 729, 730, 731, 732, 732, 729, 735, + 731, 733, 734, 723, 727, 736, 733, 737, 740, 728, + 738, 739, 741, 740, 742, 743, 744, 730, 117, 735, + 734, 737, 738, 745, 739, 736, 746, 747, 750, 750, + 745, 744, 741, 752, 742, 746, 743, 751, 746, 753, + 751, 754, 752, 747, 756, 755, 757, 757, 758, 756, + 754, 759, 760, 754, 755, 761, 762, 763, 753, 764, + 764, 765, 766, 67, 759, 774, 768, 769, 758, 761, + 760, 768, 769, 770, 775, 763, 773, 765, 776, 770, + + 766, 762, 771, 774, 773, 771, 777, 779, 780, 784, + 781, 771, 780, 775, 776, 781, 782, 783, 784, 785, + 786, 782, 783, 788, 777, 787, 787, 779, 789, 790, + 793, 791, 792, 794, 797, 786, 791, 788, 800, 794, + 789, 790, 785, 797, 792, 795, 795, 801, 793, 796, + 796, 798, 798, 799, 802, 803, 803, 810, 799, 800, + 804, 804, 805, 805, 806, 807, 801, 809, 807, 806, + 812, 811, 809, 816, 802, 810, 811, 813, 813, 814, + 814, 815, 817, 818, 819, 816, 815, 816, 820, 821, + 821, 822, 816, 823, 823, 812, 824, 826, 827, 828, + + 829, 831, 817, 818, 819, 827, 826, 832, 828, 820, + 830, 830, 836, 834, 835, 837, 824, 822, 834, 835, + 838, 838, 837, 832, 839, 840, 829, 831, 841, 839, + 842, 843, 836, 844, 840, 845, 846, 847, 848, 844, + 851, 856, 849, 848, 845, 842, 849, 849, 841, 850, + 843, 847, 851, 852, 850, 853, 854, 846, 852, 855, + 854, 858, 860, 857, 859, 61, 856, 853, 857, 859, + 862, 855, 871, 862, 860, 863, 863, 864, 864, 865, + 868, 866, 867, 858, 871, 865, 866, 874, 867, 868, + 873, 873, 875, 880, 876, 881, 882, 883, 883, 888, + + 881, 875, 873, 876, 884, 874, 884, 880, 885, 885, + 887, 889, 889, 882, 890, 891, 892, 887, 893, 888, + 895, 894, 900, 898, 897, 898, 899, 891, 892, 897, + 893, 900, 901, 901, 902, 890, 894, 903, 905, 904, + 895, 904, 903, 905, 899, 906, 907, 908, 909, 910, + 906, 912, 913, 909, 910, 914, 914, 915, 920, 916, + 902, 918, 919, 917, 907, 921, 913, 908, 916, 915, + 912, 916, 917, 918, 922, 919, 924, 925, 920, 926, + 922, 921, 924, 927, 927, 928, 929, 929, 926, 930, + 933, 931, 932, 935, 928, 931, 938, 932, 934, 934, + + 941, 935, 925, 933, 944, 938, 939, 939, 930, 940, + 940, 942, 941, 943, 946, 945, 942, 943, 947, 944, + 945, 948, 949, 950, 951, 952, 954, 954, 955, 956, + 957, 955, 958, 958, 959, 959, 951, 947, 960, 960, + 946, 949, 956, 957, 950, 948, 952, 961, 962, 962, + 963, 963, 964, 965, 965, 966, 966, 968, 969, 969, + 961, 970, 968, 971, 971, 972, 973, 974, 975, 975, + 974, 964, 973, 976, 976, 977, 978, 978, 980, 980, + 970, 981, 985, 972, 975, 982, 982, 983, 984, 987, + 986, 988, 989, 984, 977, 986, 993, 990, 1017, 983, + + 988, 989, 990, 985, 987, 991, 995, 981, 997, 991, + 996, 996, 1000, 997, 1017, 995, 993, 998, 998, 1001, + 1003, 1005, 1005, 1003, 1004, 1010, 998, 1000, 1006, 1004, + 1007, 1001, 1006, 1007, 1008, 1008, 1009, 1012, 1011, 1013, + 1015, 1009, 1011, 1014, 1013, 1010, 1015, 1018, 1014, 1020, + 1019, 1020, 1018, 1023, 1023, 1026, 1026, 1012, 1019, 1029, + 1029, 1031, 1031, 1033, 1034, 1034, 1035, 1036, 1033, 1037, + 1039, 1039, 1042, 1043, 1037, 1043, 1044, 1042, 1045, 1045, + 1046, 1044, 1035, 1047, 1048, 1049, 1050, 1051, 1054, 1036, + 1052, 1052, 1046, 1053, 1057, 1055, 1048, 1049, 1050, 1056, + + 1060, 1047, 1053, 1058, 1059, 1060, 1061, 1051, 1062, 1062, + 1064, 1061, 1056, 1070, 1054, 1055, 1068, 1058, 1057, 1065, + 1065, 1069, 1059, 1067, 1067, 1068, 1071, 1072, 1064, 1073, + 1075, 1070, 1074, 1074, 1076, 1075, 1069, 1077, 1078, 1082, + 1084, 1084, 1083, 1072, 1071, 1083, 1085, 1086, 1073, 1076, + 1088, 1088, 1089, 1090, 1090, 1093, 1077, 1094, 1078, 1082, + 1097, 1085, 1092, 1092, 1095, 1086, 1094, 1096, 1097, 1095, + 1099, 1089, 1096, 1100, 1101, 1102, 56, 1093, 1100, 1101, + 1103, 1103, 1104, 1104, 1105, 1099, 1106, 1106, 1109, 1105, + 1102, 1107, 1107, 1109, 1110, 1112, 1113, 1119, 1112, 1114, + + 1120, 1115, 1116, 1116, 1117, 1122, 1110, 1123, 1114, 1113, + 1115, 1121, 1121, 1117, 1122, 1123, 1119, 1124, 1126, 1120, + 1127, 1131, 1124, 1129, 1129, 1132, 1132, 1126, 1133, 1134, + 1134, 1133, 1136, 1127, 1135, 1135, 1146, 1137, 1138, 1139, + 1139, 1131, 1140, 1138, 1147, 1148, 1140, 1143, 1149, 1149, + 1136, 1137, 1147, 1143, 1150, 1146, 1151, 1152, 1153, 1154, + 1155, 1151, 1157, 1158, 1148, 1157, 1159, 1159, 1154, 1160, + 1150, 1165, 51, 1160, 1161, 1164, 1163, 1152, 1169, 1169, + 1155, 1158, 1174, 1161, 1153, 1163, 1168, 1164, 1170, 1172, + 1173, 1168, 1175, 1178, 1172, 1177, 1165, 1170, 1179, 1173, + + 1180, 1174, 1176, 1176, 1177, 1181, 1182, 1175, 1180, 1178, + 1181, 1183, 1184, 1184, 1185, 1187, 1187, 1179, 1188, 1185, + 1189, 1190, 1190, 1191, 1191, 1192, 1194, 1193, 1195, 1195, + 1183, 1196, 1182, 1197, 1197, 1198, 1200, 1220, 1188, 1193, + 1201, 1214, 1189, 1196, 1192, 1201, 1194, 1202, 1202, 1214, + 1200, 1203, 1203, 1205, 1198, 1204, 1204, 1220, 1205, 1206, + 1206, 1208, 1208, 1210, 1210, 1211, 1215, 1215, 1216, 1218, + 1211, 1221, 1221, 1216, 1218, 1222, 1226, 1226, 1228, 1222, + 1230, 1230, 1228, 1231, 1233, 1234, 1234, 1235, 1235, 1237, + 1237, 1239, 1239, 1241, 1242, 1242, 1247, 1248, 1231, 1250, + + 1247, 1252, 1233, 1249, 1249, 1241, 1253, 1254, 1250, 1255, + 1255, 50, 45, 40, 14, 13, 1252, 1248, 0, 0, + 1253, 0, 0, 0, 0, 0, 1254, 1258, 1258, 1258, + 1258, 1258, 1258, 1258, 1259, 1259, 1259, 1259, 1259, 1259, + 1259, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1261, 1261, + 1261, 1261, 1261, 1261, 1261, 1262, 1262, 1262, 1262, 1262, + 1262, 1262, 1264, 1264, 0, 1264, 1264, 1264, 1264, 1265, + 1265, 0, 0, 0, 1265, 1265, 1266, 1266, 0, 0, + 1266, 0, 1266, 1267, 0, 0, 0, 0, 0, 1267, + 1268, 1268, 0, 0, 0, 1268, 1268, 1269, 0, 0, + + 0, 0, 0, 1269, 1270, 1270, 0, 1270, 1270, 1270, + 1270, 1271, 1271, 0, 1271, 1271, 1271, 1271, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257 } ; static yy_state_type yy_last_accepting_state; @@ -1527,7 +1532,7 @@ static void config_end_include(void) #define YY_NO_INPUT 1 #endif -#line 1529 "" +#line 1534 "" #define INITIAL 0 #define quotedstring 1 @@ -1714,7 +1719,7 @@ YY_DECL #line 120 "util/configlexer.lex" -#line 1716 "" +#line 1721 "" if ( !(yy_init) ) { @@ -1773,13 +1778,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1250 ) + if ( yy_current_state >= 1258 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 2505 ); + while ( yy_base[yy_current_state] != 2519 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2280,123 +2285,128 @@ YY_RULE_SETUP case 95: YY_RULE_SETUP #line 219 "util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } +{ YDVAR(1, VAR_LOG_QUERIES) } YY_BREAK case 96: YY_RULE_SETUP #line 220 "util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } +{ YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 97: YY_RULE_SETUP #line 221 "util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } +{ YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 98: YY_RULE_SETUP #line 222 "util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } +{ YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 99: YY_RULE_SETUP #line 223 "util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } +{ YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 100: YY_RULE_SETUP #line 224 "util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } +{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 101: YY_RULE_SETUP #line 225 "util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } +{ YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 102: YY_RULE_SETUP #line 226 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } +{ YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 103: YY_RULE_SETUP #line 227 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } +{ YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 104: YY_RULE_SETUP #line 228 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } +{ YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 105: YY_RULE_SETUP #line 229 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } +{ YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 106: YY_RULE_SETUP #line 230 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } +{ YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 107: YY_RULE_SETUP #line 231 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } +{ YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 108: YY_RULE_SETUP #line 232 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } +{ YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 109: YY_RULE_SETUP #line 233 "util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } +{ YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 110: YY_RULE_SETUP #line 234 "util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } +{ YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 111: YY_RULE_SETUP #line 235 "util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } +{ YDVAR(0, VAR_PYTHON) } YY_BREAK case 112: -/* rule 112 can match eol */ YY_RULE_SETUP #line 236 "util/configlexer.lex" +{ YDVAR(1, VAR_DOMAIN_INSECURE) } + YY_BREAK +case 113: +/* rule 113 can match eol */ +YY_RULE_SETUP +#line 237 "util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 113: +case 114: YY_RULE_SETUP -#line 239 "util/configlexer.lex" +#line 240 "util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 240 "util/configlexer.lex" +#line 241 "util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 114: +case 115: YY_RULE_SETUP -#line 245 "util/configlexer.lex" +#line 246 "util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 115: -/* rule 115 can match eol */ +case 116: +/* rule 116 can match eol */ YY_RULE_SETUP -#line 246 "util/configlexer.lex" +#line 247 "util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 248 "util/configlexer.lex" +#line 249 "util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -2409,34 +2419,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 117: +case 118: YY_RULE_SETUP -#line 260 "util/configlexer.lex" +#line 261 "util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 261 "util/configlexer.lex" +#line 262 "util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 118: +case 119: YY_RULE_SETUP -#line 266 "util/configlexer.lex" +#line 267 "util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 119: -/* rule 119 can match eol */ +case 120: +/* rule 120 can match eol */ YY_RULE_SETUP -#line 267 "util/configlexer.lex" +#line 268 "util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 120: +case 121: YY_RULE_SETUP -#line 269 "util/configlexer.lex" +#line 270 "util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -2449,38 +2459,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 121: +case 122: YY_RULE_SETUP -#line 281 "util/configlexer.lex" +#line 282 "util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 283 "util/configlexer.lex" +#line 284 "util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 122: -YY_RULE_SETUP -#line 287 "util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK case 123: -/* rule 123 can match eol */ YY_RULE_SETUP #line 288 "util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 124: +/* rule 124 can match eol */ YY_RULE_SETUP #line 289 "util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 125: YY_RULE_SETUP #line 290 "util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 126: +YY_RULE_SETUP +#line 291 "util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include(yytext); @@ -2488,27 +2498,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 295 "util/configlexer.lex" +#line 296 "util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 126: +case 127: YY_RULE_SETUP -#line 299 "util/configlexer.lex" +#line 300 "util/configlexer.lex" { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } YY_BREAK -case 127: -/* rule 127 can match eol */ +case 128: +/* rule 128 can match eol */ YY_RULE_SETUP -#line 300 "util/configlexer.lex" +#line 301 "util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 128: +case 129: YY_RULE_SETUP -#line 302 "util/configlexer.lex" +#line 303 "util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -2518,7 +2528,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 308 "util/configlexer.lex" +#line 309 "util/configlexer.lex" { yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ if (config_include_stack_ptr == 0) { @@ -2529,33 +2539,33 @@ case YY_STATE_EOF(val): } } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 318 "util/configlexer.lex" +#line 319 "util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 322 "util/configlexer.lex" +#line 323 "util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 326 "util/configlexer.lex" +#line 327 "util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 330 "util/configlexer.lex" +#line 331 "util/configlexer.lex" ECHO; YY_BREAK -#line 2557 "" +#line 2567 "" case YY_END_OF_BUFFER: { @@ -2845,7 +2855,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1250 ) + if ( yy_current_state >= 1258 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2873,11 +2883,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1250 ) + if ( yy_current_state >= 1258 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1249); + yy_is_jam = (yy_current_state == 1257); return yy_is_jam ? 0 : yy_current_state; } @@ -3514,7 +3524,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 330 "util/configlexer.lex" +#line 331 "util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index d9f70180b..742d54640 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -216,6 +216,7 @@ del-holddown{COLON} { YDVAR(1, VAR_DEL_HOLDDOWN) } keep-missing{COLON} { YDVAR(1, VAR_KEEP_MISSING) } use-syslog{COLON} { YDVAR(1, VAR_USE_SYSLOG) } log-time-ascii{COLON} { YDVAR(1, VAR_LOG_TIME_ASCII) } +log-queries{COLON} { YDVAR(1, VAR_LOG_QUERIES) } local-zone{COLON} { YDVAR(2, VAR_LOCAL_ZONE) } local-data{COLON} { YDVAR(1, VAR_LOCAL_DATA) } local-data-ptr{COLON} { YDVAR(1, VAR_LOCAL_DATA_PTR) } diff --git a/util/configparser.c b/util/configparser.c index cfd15e8ad..03df6195f 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -239,7 +239,8 @@ extern struct config_parser_state* cfg_parser; VAR_PREFETCH_KEY = 371, VAR_SO_SNDBUF = 372, VAR_HARDEN_BELOW_NXDOMAIN = 373, - VAR_IGNORE_CD_FLAG = 374 + VAR_IGNORE_CD_FLAG = 374, + VAR_LOG_QUERIES = 375 }; #endif /* Tokens. */ @@ -360,6 +361,7 @@ extern struct config_parser_state* cfg_parser; #define VAR_SO_SNDBUF 372 #define VAR_HARDEN_BELOW_NXDOMAIN 373 #define VAR_IGNORE_CD_FLAG 374 +#define VAR_LOG_QUERIES 375 @@ -376,7 +378,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 380 "util/configparser.c" +#line 382 "util/configparser.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -388,7 +390,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 392 "util/configparser.c" +#line 394 "util/configparser.c" #ifdef short # undef short @@ -603,20 +605,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 217 +#define YYLAST 219 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 120 +#define YYNTOKENS 121 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 123 +#define YYNNTS 124 /* YYNRULES -- Number of rules. */ -#define YYNRULES 233 +#define YYNRULES 235 /* YYNRULES -- Number of states. */ -#define YYNSTATES 341 +#define YYNSTATES 344 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 374 +#define YYMAXUTOK 375 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -661,7 +663,7 @@ static const yytype_uint8 yytranslate[] = 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119 + 115, 116, 117, 118, 119, 120 }; #if YYDEBUG @@ -679,83 +681,84 @@ static const yytype_uint16 yyprhs[] = 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, - 204, 206, 208, 210, 213, 214, 216, 218, 220, 222, - 224, 227, 228, 230, 232, 234, 237, 240, 243, 246, - 249, 252, 255, 258, 261, 264, 267, 270, 273, 276, - 279, 282, 285, 288, 291, 294, 297, 300, 303, 306, - 309, 312, 315, 318, 321, 324, 327, 330, 333, 336, - 339, 342, 345, 348, 351, 354, 357, 360, 363, 366, - 369, 372, 375, 378, 381, 384, 387, 390, 393, 396, - 399, 402, 405, 408, 411, 414, 417, 420, 423, 426, - 429, 432, 435, 438, 442, 445, 448, 451, 454, 457, - 460, 463, 466, 469, 472, 475, 478, 481, 484, 487, - 490, 493, 496, 500, 503, 506, 509, 512, 515, 518, - 521, 524, 527, 529, 532, 533, 535, 537, 539, 541, - 543, 545, 547, 550, 553, 556, 559, 562, 565, 568, - 570, 573, 574, 576 + 204, 206, 208, 210, 212, 215, 216, 218, 220, 222, + 224, 226, 229, 230, 232, 234, 236, 239, 242, 245, + 248, 251, 254, 257, 260, 263, 266, 269, 272, 275, + 278, 281, 284, 287, 290, 293, 296, 299, 302, 305, + 308, 311, 314, 317, 320, 323, 326, 329, 332, 335, + 338, 341, 344, 347, 350, 353, 356, 359, 362, 365, + 368, 371, 374, 377, 380, 383, 386, 389, 392, 395, + 398, 401, 404, 407, 410, 413, 416, 419, 422, 425, + 428, 431, 434, 437, 440, 443, 447, 450, 453, 456, + 459, 462, 465, 468, 471, 474, 477, 480, 483, 486, + 489, 492, 495, 498, 501, 505, 508, 511, 514, 517, + 520, 523, 526, 529, 532, 534, 537, 538, 540, 542, + 544, 546, 548, 550, 552, 555, 558, 561, 564, 567, + 570, 573, 575, 578, 579, 581 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 121, 0, -1, -1, 121, 122, -1, 123, 124, -1, - 126, 127, -1, 129, 130, -1, 239, 240, -1, 229, - 230, -1, 11, -1, 124, 125, -1, -1, 132, -1, - 133, -1, 137, -1, 140, -1, 146, -1, 147, -1, - 148, -1, 149, -1, 138, -1, 153, -1, 154, -1, - 155, -1, 156, -1, 157, -1, 174, -1, 175, -1, - 176, -1, 178, -1, 179, -1, 143, -1, 180, -1, - 181, -1, 184, -1, 182, -1, 183, -1, 185, -1, - 186, -1, 187, -1, 198, -1, 166, -1, 167, -1, - 168, -1, 169, -1, 188, -1, 201, -1, 162, -1, - 164, -1, 202, -1, 207, -1, 208, -1, 209, -1, - 144, -1, 173, -1, 216, -1, 217, -1, 163, -1, - 212, -1, 151, -1, 139, -1, 158, -1, 199, -1, - 205, -1, 189, -1, 200, -1, 219, -1, 220, -1, - 145, -1, 134, -1, 150, -1, 192, -1, 135, -1, - 141, -1, 142, -1, 159, -1, 160, -1, 218, -1, - 191, -1, 193, -1, 194, -1, 136, -1, 221, -1, - 177, -1, 197, -1, 152, -1, 165, -1, 203, -1, - 204, -1, 206, -1, 211, -1, 161, -1, 213, -1, - 214, -1, 215, -1, 170, -1, 172, -1, 195, -1, - 196, -1, 171, -1, 190, -1, 210, -1, 38, -1, - 127, 128, -1, -1, 222, -1, 223, -1, 224, -1, - 225, -1, 44, -1, 130, 131, -1, -1, 226, -1, - 227, -1, 228, -1, 13, 10, -1, 12, 10, -1, - 76, 10, -1, 79, 10, -1, 96, 10, -1, 14, - 10, -1, 16, 10, -1, 67, 10, -1, 15, 10, - -1, 80, 10, -1, 81, 10, -1, 31, 10, -1, - 60, 10, -1, 75, 10, -1, 17, 10, -1, 18, - 10, -1, 19, 10, -1, 20, 10, -1, 77, 10, - -1, 66, 10, -1, 101, 10, -1, 21, 10, -1, - 22, 10, -1, 23, 10, -1, 24, 10, -1, 25, - 10, -1, 68, 10, -1, 82, 10, -1, 83, 10, - -1, 109, 10, -1, 54, 10, -1, 64, 10, -1, - 55, 10, -1, 102, 10, -1, 48, 10, -1, 49, - 10, -1, 50, 10, -1, 51, 10, -1, 113, 10, - -1, 117, 10, -1, 114, 10, -1, 61, 10, -1, - 26, 10, -1, 27, 10, -1, 28, 10, -1, 98, - 10, -1, 29, 10, -1, 30, 10, -1, 32, 10, - -1, 33, 10, -1, 35, 10, -1, 36, 10, -1, - 34, 10, -1, 41, 10, -1, 42, 10, -1, 43, - 10, -1, 52, 10, -1, 71, 10, -1, 118, 10, - -1, 85, 10, -1, 78, 10, -1, 86, 10, -1, - 87, 10, -1, 115, 10, -1, 116, 10, -1, 100, - 10, -1, 47, 10, -1, 69, 10, -1, 72, 10, - 10, -1, 53, 10, -1, 56, 10, -1, 105, 10, - -1, 106, 10, -1, 70, 10, -1, 107, 10, -1, - 57, 10, -1, 58, 10, -1, 59, 10, -1, 119, - 10, -1, 108, 10, -1, 65, 10, -1, 111, 10, - -1, 112, 10, -1, 110, 10, -1, 62, 10, -1, - 63, 10, -1, 84, 10, -1, 73, 10, 10, -1, - 74, 10, -1, 97, 10, -1, 37, 10, -1, 39, - 10, -1, 40, 10, -1, 99, 10, -1, 37, 10, - -1, 45, 10, -1, 46, 10, -1, 88, -1, 230, - 231, -1, -1, 232, -1, 234, -1, 233, -1, 235, - -1, 236, -1, 237, -1, 238, -1, 89, 10, -1, - 91, 10, -1, 90, 10, -1, 92, 10, -1, 93, - 10, -1, 94, 10, -1, 95, 10, -1, 103, -1, - 240, 241, -1, -1, 242, -1, 104, 10, -1 + 122, 0, -1, -1, 122, 123, -1, 124, 125, -1, + 127, 128, -1, 130, 131, -1, 241, 242, -1, 231, + 232, -1, 11, -1, 125, 126, -1, -1, 133, -1, + 134, -1, 138, -1, 141, -1, 147, -1, 148, -1, + 149, -1, 150, -1, 139, -1, 155, -1, 156, -1, + 157, -1, 158, -1, 159, -1, 176, -1, 177, -1, + 178, -1, 180, -1, 181, -1, 144, -1, 182, -1, + 183, -1, 186, -1, 184, -1, 185, -1, 187, -1, + 188, -1, 189, -1, 200, -1, 168, -1, 169, -1, + 170, -1, 171, -1, 190, -1, 203, -1, 164, -1, + 166, -1, 204, -1, 209, -1, 210, -1, 211, -1, + 145, -1, 175, -1, 218, -1, 219, -1, 165, -1, + 214, -1, 152, -1, 140, -1, 160, -1, 201, -1, + 207, -1, 191, -1, 202, -1, 221, -1, 222, -1, + 146, -1, 135, -1, 151, -1, 194, -1, 136, -1, + 142, -1, 143, -1, 161, -1, 162, -1, 220, -1, + 193, -1, 195, -1, 196, -1, 137, -1, 223, -1, + 179, -1, 199, -1, 153, -1, 167, -1, 205, -1, + 206, -1, 208, -1, 213, -1, 163, -1, 215, -1, + 216, -1, 217, -1, 172, -1, 174, -1, 197, -1, + 198, -1, 173, -1, 192, -1, 212, -1, 154, -1, + 38, -1, 128, 129, -1, -1, 224, -1, 225, -1, + 226, -1, 227, -1, 44, -1, 131, 132, -1, -1, + 228, -1, 229, -1, 230, -1, 13, 10, -1, 12, + 10, -1, 76, 10, -1, 79, 10, -1, 96, 10, + -1, 14, 10, -1, 16, 10, -1, 67, 10, -1, + 15, 10, -1, 80, 10, -1, 81, 10, -1, 31, + 10, -1, 60, 10, -1, 75, 10, -1, 17, 10, + -1, 18, 10, -1, 19, 10, -1, 20, 10, -1, + 77, 10, -1, 66, 10, -1, 101, 10, -1, 120, + 10, -1, 21, 10, -1, 22, 10, -1, 23, 10, + -1, 24, 10, -1, 25, 10, -1, 68, 10, -1, + 82, 10, -1, 83, 10, -1, 109, 10, -1, 54, + 10, -1, 64, 10, -1, 55, 10, -1, 102, 10, + -1, 48, 10, -1, 49, 10, -1, 50, 10, -1, + 51, 10, -1, 113, 10, -1, 117, 10, -1, 114, + 10, -1, 61, 10, -1, 26, 10, -1, 27, 10, + -1, 28, 10, -1, 98, 10, -1, 29, 10, -1, + 30, 10, -1, 32, 10, -1, 33, 10, -1, 35, + 10, -1, 36, 10, -1, 34, 10, -1, 41, 10, + -1, 42, 10, -1, 43, 10, -1, 52, 10, -1, + 71, 10, -1, 118, 10, -1, 85, 10, -1, 78, + 10, -1, 86, 10, -1, 87, 10, -1, 115, 10, + -1, 116, 10, -1, 100, 10, -1, 47, 10, -1, + 69, 10, -1, 72, 10, 10, -1, 53, 10, -1, + 56, 10, -1, 105, 10, -1, 106, 10, -1, 70, + 10, -1, 107, 10, -1, 57, 10, -1, 58, 10, + -1, 59, 10, -1, 119, 10, -1, 108, 10, -1, + 65, 10, -1, 111, 10, -1, 112, 10, -1, 110, + 10, -1, 62, 10, -1, 63, 10, -1, 84, 10, + -1, 73, 10, 10, -1, 74, 10, -1, 97, 10, + -1, 37, 10, -1, 39, 10, -1, 40, 10, -1, + 99, 10, -1, 37, 10, -1, 45, 10, -1, 46, + 10, -1, 88, -1, 232, 233, -1, -1, 234, -1, + 236, -1, 235, -1, 237, -1, 238, -1, 239, -1, + 240, -1, 89, 10, -1, 91, 10, -1, 90, 10, + -1, 92, 10, -1, 93, 10, -1, 94, 10, -1, + 95, 10, -1, 103, -1, 242, 243, -1, -1, 244, + -1, 104, 10, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -771,20 +774,20 @@ static const yytype_uint16 yyrline[] = 146, 147, 147, 148, 148, 149, 149, 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, 154, 155, 155, 155, 156, 156, 157, 157, 157, 158, 158, 158, 159, - 159, 159, 161, 173, 174, 175, 175, 175, 175, 177, - 189, 190, 191, 191, 191, 193, 202, 211, 222, 231, - 240, 249, 262, 277, 286, 295, 304, 313, 322, 331, - 340, 349, 358, 367, 376, 390, 399, 406, 413, 420, - 428, 435, 442, 449, 456, 464, 472, 480, 487, 494, - 503, 512, 519, 526, 534, 542, 555, 566, 574, 587, - 596, 605, 613, 626, 635, 644, 653, 662, 675, 682, - 692, 702, 712, 722, 732, 742, 752, 759, 766, 775, - 784, 793, 800, 810, 824, 831, 849, 862, 875, 884, - 893, 902, 912, 922, 931, 940, 947, 956, 965, 974, - 982, 995, 1003, 1025, 1032, 1047, 1057, 1064, 1071, 1081, - 1091, 1098, 1105, 1110, 1111, 1112, 1112, 1112, 1113, 1113, - 1113, 1114, 1116, 1126, 1135, 1142, 1149, 1156, 1163, 1170, - 1175, 1176, 1177, 1179 + 159, 159, 160, 162, 174, 175, 176, 176, 176, 176, + 178, 190, 191, 192, 192, 192, 194, 203, 212, 223, + 232, 241, 250, 263, 278, 287, 296, 305, 314, 323, + 332, 341, 350, 359, 368, 377, 391, 400, 409, 416, + 423, 430, 438, 445, 452, 459, 466, 474, 482, 490, + 497, 504, 513, 522, 529, 536, 544, 552, 565, 576, + 584, 597, 606, 615, 623, 636, 645, 654, 663, 672, + 685, 692, 702, 712, 722, 732, 742, 752, 762, 769, + 776, 785, 794, 803, 810, 820, 834, 841, 859, 872, + 885, 894, 903, 912, 922, 932, 941, 950, 957, 966, + 975, 984, 992, 1005, 1013, 1035, 1042, 1057, 1067, 1074, + 1081, 1091, 1101, 1108, 1115, 1120, 1121, 1122, 1122, 1122, + 1123, 1123, 1123, 1124, 1126, 1136, 1145, 1152, 1159, 1166, + 1173, 1180, 1185, 1186, 1187, 1189 }; #endif @@ -831,18 +834,19 @@ static const char *const yytname[] = "VAR_ADD_HOLDDOWN", "VAR_DEL_HOLDDOWN", "VAR_SO_RCVBUF", "VAR_EDNS_BUFFER_SIZE", "VAR_PREFETCH", "VAR_PREFETCH_KEY", "VAR_SO_SNDBUF", "VAR_HARDEN_BELOW_NXDOMAIN", "VAR_IGNORE_CD_FLAG", - "$accept", "toplevelvars", "toplevelvar", "serverstart", - "contents_server", "content_server", "stubstart", "contents_stub", - "content_stub", "forwardstart", "contents_forward", "content_forward", - "server_num_threads", "server_verbosity", "server_statistics_interval", - "server_statistics_cumulative", "server_extended_statistics", - "server_port", "server_interface", "server_outgoing_interface", - "server_outgoing_range", "server_outgoing_port_permit", - "server_outgoing_port_avoid", "server_outgoing_num_tcp", - "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4", - "server_do_ip6", "server_do_udp", "server_do_tcp", "server_do_daemonize", - "server_use_syslog", "server_log_time_ascii", "server_chroot", - "server_username", "server_directory", "server_logfile", + "VAR_LOG_QUERIES", "$accept", "toplevelvars", "toplevelvar", + "serverstart", "contents_server", "content_server", "stubstart", + "contents_stub", "content_stub", "forwardstart", "contents_forward", + "content_forward", "server_num_threads", "server_verbosity", + "server_statistics_interval", "server_statistics_cumulative", + "server_extended_statistics", "server_port", "server_interface", + "server_outgoing_interface", "server_outgoing_range", + "server_outgoing_port_permit", "server_outgoing_port_avoid", + "server_outgoing_num_tcp", "server_incoming_num_tcp", + "server_interface_automatic", "server_do_ip4", "server_do_ip6", + "server_do_udp", "server_do_tcp", "server_do_daemonize", + "server_use_syslog", "server_log_time_ascii", "server_log_queries", + "server_chroot", "server_username", "server_directory", "server_logfile", "server_pidfile", "server_root_hints", "server_dlv_anchor_file", "server_dlv_anchor", "server_auto_trust_anchor_file", "server_trust_anchor_file", "server_trusted_keys_file", @@ -897,25 +901,26 @@ static const yytype_uint16 yytoknum[] = 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374 + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 120, 121, 121, 122, 122, 122, 122, 122, 123, - 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 126, 127, 127, 128, 128, 128, 128, 129, - 130, 130, 131, 131, 131, 132, 133, 134, 135, 136, + 0, 121, 122, 122, 123, 123, 123, 123, 123, 124, + 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 127, 128, 128, 129, 129, 129, 129, + 130, 131, 131, 132, 132, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, @@ -925,9 +930,9 @@ static const yytype_uint8 yyr1[] = 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 230, 231, 231, 231, 231, 231, - 231, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 240, 241, 242 + 227, 228, 229, 230, 231, 232, 232, 233, 233, 233, + 233, 233, 233, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 242, 243, 244 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -943,20 +948,20 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, - 2, 0, 1, 1, 1, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, + 1, 2, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 2, 0, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, - 2, 0, 1, 2 + 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 1, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 1, 2, 0, 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -964,8 +969,8 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 2, 0, 1, 9, 102, 109, 212, 229, 3, 11, - 104, 111, 214, 231, 4, 5, 6, 8, 7, 0, + 2, 0, 1, 9, 103, 110, 214, 231, 3, 11, + 105, 112, 216, 233, 4, 5, 6, 8, 7, 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, @@ -974,49 +979,49 @@ static const yytype_uint8 yydefact[] = 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, 10, - 12, 13, 69, 72, 81, 14, 20, 60, 15, 73, - 74, 31, 53, 68, 16, 17, 18, 19, 70, 59, - 85, 21, 22, 23, 24, 25, 61, 75, 76, 91, - 47, 57, 48, 86, 41, 42, 43, 44, 95, 99, - 96, 54, 26, 27, 28, 83, 29, 30, 32, 33, - 35, 36, 34, 37, 38, 39, 45, 64, 100, 78, - 71, 79, 80, 97, 98, 84, 40, 62, 65, 46, - 49, 87, 88, 63, 89, 50, 51, 52, 101, 90, - 58, 92, 93, 94, 55, 56, 77, 66, 67, 82, - 0, 0, 0, 0, 103, 105, 106, 107, 108, 0, - 0, 0, 110, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 213, 215, 217, 216, 218, 219, 220, - 221, 0, 230, 232, 116, 115, 120, 123, 121, 129, - 130, 131, 132, 136, 137, 138, 139, 140, 157, 158, - 159, 161, 162, 126, 163, 164, 167, 165, 166, 168, - 169, 170, 181, 149, 150, 151, 152, 171, 184, 145, - 147, 185, 190, 191, 192, 127, 156, 199, 200, 146, - 195, 134, 122, 141, 182, 188, 172, 0, 0, 203, - 128, 117, 133, 175, 118, 124, 125, 142, 143, 201, - 174, 176, 177, 119, 204, 160, 180, 135, 148, 186, - 187, 189, 194, 144, 198, 196, 197, 153, 155, 178, - 179, 154, 173, 193, 205, 206, 207, 208, 209, 210, - 211, 222, 224, 223, 225, 226, 227, 228, 233, 183, - 202 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 12, 13, 69, 72, 81, 14, 20, 60, 15, + 73, 74, 31, 53, 68, 16, 17, 18, 19, 70, + 59, 85, 102, 21, 22, 23, 24, 25, 61, 75, + 76, 91, 47, 57, 48, 86, 41, 42, 43, 44, + 95, 99, 96, 54, 26, 27, 28, 83, 29, 30, + 32, 33, 35, 36, 34, 37, 38, 39, 45, 64, + 100, 78, 71, 79, 80, 97, 98, 84, 40, 62, + 65, 46, 49, 87, 88, 63, 89, 50, 51, 52, + 101, 90, 58, 92, 93, 94, 55, 56, 77, 66, + 67, 82, 0, 0, 0, 0, 104, 106, 107, 108, + 109, 0, 0, 0, 111, 113, 114, 115, 0, 0, + 0, 0, 0, 0, 0, 215, 217, 219, 218, 220, + 221, 222, 223, 0, 232, 234, 117, 116, 121, 124, + 122, 130, 131, 132, 133, 138, 139, 140, 141, 142, + 159, 160, 161, 163, 164, 127, 165, 166, 169, 167, + 168, 170, 171, 172, 183, 151, 152, 153, 154, 173, + 186, 147, 149, 187, 192, 193, 194, 128, 158, 201, + 202, 148, 197, 135, 123, 143, 184, 190, 174, 0, + 0, 205, 129, 118, 134, 177, 119, 125, 126, 144, + 145, 203, 176, 178, 179, 120, 206, 162, 182, 136, + 150, 188, 189, 191, 196, 146, 200, 198, 199, 155, + 157, 180, 181, 156, 175, 195, 137, 207, 208, 209, + 210, 211, 212, 213, 224, 226, 225, 227, 228, 229, + 230, 235, 185, 204 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 8, 9, 14, 109, 10, 15, 204, 11, - 16, 212, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 205, 206, 207, 208, 213, 214, 215, 12, - 17, 223, 224, 225, 226, 227, 228, 229, 230, 13, - 18, 232, 233 + -1, 1, 8, 9, 14, 110, 10, 15, 206, 11, + 16, 214, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 207, 208, 209, 210, 215, 216, 217, + 12, 17, 225, 226, 227, 228, 229, 230, 231, 232, + 13, 18, 234, 235 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing @@ -1026,15 +1031,15 @@ static const yytype_int16 yypact[] = { -80, 76, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -12, 40, 46, 32, -79, 16, - 17, 18, 22, 23, 24, 68, 71, 72, 98, 99, - 100, 101, 102, 103, 105, 106, 107, 108, 109, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, -80, + 17, 18, 22, 23, 24, 68, 71, 72, 99, 100, + 101, 102, 103, 105, 106, 107, 108, 109, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, @@ -1044,21 +1049,21 @@ static const yytype_int16 yypact[] = -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - 191, 192, 193, 194, -80, -80, -80, -80, -80, 195, - 196, 197, -80, -80, -80, -80, 198, 199, 200, 201, - 202, 203, 204, -80, -80, -80, -80, -80, -80, -80, - -80, 205, -80, -80, -80, -80, -80, -80, -80, -80, + -80, -80, 193, 194, 195, 196, -80, -80, -80, -80, + -80, 197, 198, 199, -80, -80, -80, -80, 200, 201, + 202, 203, 204, 205, 206, -80, -80, -80, -80, -80, + -80, -80, -80, 207, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, 206, 207, -80, + -80, -80, -80, -80, -80, -80, -80, -80, -80, 208, + 209, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80 + -80, -80, -80, -80 }; /* YYPGOTO[NTERM-NUM]. */ @@ -1076,7 +1081,7 @@ static const yytype_int8 yypgoto[] = -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80 + -80, -80, -80, -80 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1088,26 +1093,26 @@ static const yytype_uint16 yytable[] = { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 231, 234, 235, 236, 44, - 45, 46, 237, 238, 239, 47, 48, 49, 50, 51, + 39, 40, 41, 42, 43, 233, 236, 237, 238, 44, + 45, 46, 239, 240, 241, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 2, 200, 240, 201, - 202, 241, 242, 209, 88, 89, 90, 3, 91, 92, - 93, 210, 211, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 243, 244, - 245, 246, 247, 248, 4, 249, 250, 251, 252, 253, - 5, 216, 217, 218, 219, 220, 221, 222, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 203, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 6, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 7, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340 + 82, 83, 84, 85, 86, 87, 2, 202, 242, 203, + 204, 243, 244, 211, 88, 89, 90, 3, 91, 92, + 93, 212, 213, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 245, + 246, 247, 248, 249, 4, 250, 251, 252, 253, 254, + 5, 218, 219, 220, 221, 222, 223, 224, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 205, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 6, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 7, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, 342, 343 }; static const yytype_uint8 yycheck[] = @@ -1122,7 +1127,7 @@ static const yytype_uint8 yycheck[] = 82, 83, 84, 85, 86, 87, 0, 37, 10, 39, 40, 10, 10, 37, 96, 97, 98, 11, 100, 101, 102, 45, 46, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 10, 10, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 10, 10, 10, 10, 10, 38, 10, 10, 10, 10, 10, 44, 89, 90, 91, 92, 93, 94, 95, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 99, @@ -1133,15 +1138,15 @@ static const yytype_uint8 yycheck[] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 121, 0, 11, 38, 44, 88, 103, 122, 123, - 126, 129, 229, 239, 124, 127, 130, 230, 240, 12, + 0, 122, 0, 11, 38, 44, 88, 103, 123, 124, + 127, 130, 231, 241, 125, 128, 131, 232, 242, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 41, 42, 43, 47, 48, 49, @@ -1150,8 +1155,8 @@ static const yytype_uint8 yystos[] = 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 96, 97, 98, 100, 101, 102, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 125, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 126, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, @@ -1160,10 +1165,10 @@ static const yytype_uint8 yystos[] = 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 37, 39, 40, 99, 128, 222, 223, 224, 225, 37, - 45, 46, 131, 226, 227, 228, 89, 90, 91, 92, - 93, 94, 95, 231, 232, 233, 234, 235, 236, 237, - 238, 104, 241, 242, 10, 10, 10, 10, 10, 10, + 222, 223, 37, 39, 40, 99, 129, 224, 225, 226, + 227, 37, 45, 46, 132, 228, 229, 230, 89, 90, + 91, 92, 93, 94, 95, 233, 234, 235, 236, 237, + 238, 239, 240, 104, 243, 244, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1174,7 +1179,7 @@ static const yytype_uint8 yystos[] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10 + 10, 10, 10, 10 }; #define yyerrok (yyerrstatus = 0) @@ -2003,10 +2008,10 @@ yyreduce: } break; - case 102: + case 103: /* Line 1464 of yacc.c */ -#line 162 "util/configparser.y" +#line 163 "util/configparser.y" { struct config_stub* s; OUTYY(("\nP(stub_zone:)\n")); @@ -2019,10 +2024,10 @@ yyreduce: } break; - case 109: + case 110: /* Line 1464 of yacc.c */ -#line 178 "util/configparser.y" +#line 179 "util/configparser.y" { struct config_stub* s; OUTYY(("\nP(forward_zone:)\n")); @@ -2035,10 +2040,10 @@ yyreduce: } break; - case 115: + case 116: /* Line 1464 of yacc.c */ -#line 194 "util/configparser.y" +#line 195 "util/configparser.y" { OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2048,10 +2053,10 @@ yyreduce: } break; - case 116: + case 117: /* Line 1464 of yacc.c */ -#line 203 "util/configparser.y" +#line 204 "util/configparser.y" { OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2061,10 +2066,10 @@ yyreduce: } break; - case 117: + case 118: /* Line 1464 of yacc.c */ -#line 212 "util/configparser.y" +#line 213 "util/configparser.y" { OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) @@ -2076,10 +2081,10 @@ yyreduce: } break; - case 118: + case 119: /* Line 1464 of yacc.c */ -#line 223 "util/configparser.y" +#line 224 "util/configparser.y" { OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2089,10 +2094,10 @@ yyreduce: } break; - case 119: + case 120: /* Line 1464 of yacc.c */ -#line 232 "util/configparser.y" +#line 233 "util/configparser.y" { OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2102,10 +2107,10 @@ yyreduce: } break; - case 120: + case 121: /* Line 1464 of yacc.c */ -#line 241 "util/configparser.y" +#line 242 "util/configparser.y" { OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2115,10 +2120,10 @@ yyreduce: } break; - case 121: + case 122: /* Line 1464 of yacc.c */ -#line 250 "util/configparser.y" +#line 251 "util/configparser.y" { OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str))); if(cfg_parser->cfg->num_ifs == 0) @@ -2132,10 +2137,10 @@ yyreduce: } break; - case 122: + case 123: /* Line 1464 of yacc.c */ -#line 263 "util/configparser.y" +#line 264 "util/configparser.y" { OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str))); if(cfg_parser->cfg->num_out_ifs == 0) @@ -2151,10 +2156,10 @@ yyreduce: } break; - case 123: + case 124: /* Line 1464 of yacc.c */ -#line 278 "util/configparser.y" +#line 279 "util/configparser.y" { OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2164,10 +2169,10 @@ yyreduce: } break; - case 124: + case 125: /* Line 1464 of yacc.c */ -#line 287 "util/configparser.y" +#line 288 "util/configparser.y" { OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1, @@ -2177,10 +2182,10 @@ yyreduce: } break; - case 125: + case 126: /* Line 1464 of yacc.c */ -#line 296 "util/configparser.y" +#line 297 "util/configparser.y" { OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0, @@ -2190,10 +2195,10 @@ yyreduce: } break; - case 126: + case 127: /* Line 1464 of yacc.c */ -#line 305 "util/configparser.y" +#line 306 "util/configparser.y" { OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2203,10 +2208,10 @@ yyreduce: } break; - case 127: + case 128: /* Line 1464 of yacc.c */ -#line 314 "util/configparser.y" +#line 315 "util/configparser.y" { OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2216,10 +2221,10 @@ yyreduce: } break; - case 128: + case 129: /* Line 1464 of yacc.c */ -#line 323 "util/configparser.y" +#line 324 "util/configparser.y" { OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2229,10 +2234,10 @@ yyreduce: } break; - case 129: + case 130: /* Line 1464 of yacc.c */ -#line 332 "util/configparser.y" +#line 333 "util/configparser.y" { OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2242,10 +2247,10 @@ yyreduce: } break; - case 130: + case 131: /* Line 1464 of yacc.c */ -#line 341 "util/configparser.y" +#line 342 "util/configparser.y" { OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2255,10 +2260,10 @@ yyreduce: } break; - case 131: + case 132: /* Line 1464 of yacc.c */ -#line 350 "util/configparser.y" +#line 351 "util/configparser.y" { OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2268,10 +2273,10 @@ yyreduce: } break; - case 132: + case 133: /* Line 1464 of yacc.c */ -#line 359 "util/configparser.y" +#line 360 "util/configparser.y" { OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2281,10 +2286,10 @@ yyreduce: } break; - case 133: + case 134: /* Line 1464 of yacc.c */ -#line 368 "util/configparser.y" +#line 369 "util/configparser.y" { OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2294,10 +2299,10 @@ yyreduce: } break; - case 134: + case 135: /* Line 1464 of yacc.c */ -#line 377 "util/configparser.y" +#line 378 "util/configparser.y" { OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2312,10 +2317,10 @@ yyreduce: } break; - case 135: + case 136: /* Line 1464 of yacc.c */ -#line 391 "util/configparser.y" +#line 392 "util/configparser.y" { OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2325,10 +2330,23 @@ yyreduce: } break; - case 136: + case 137: /* Line 1464 of yacc.c */ -#line 400 "util/configparser.y" +#line 401 "util/configparser.y" + { + OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str))); + if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->log_queries = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + free((yyvsp[(2) - (2)].str)); + } + break; + + case 138: + +/* Line 1464 of yacc.c */ +#line 410 "util/configparser.y" { OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->chrootdir); @@ -2336,10 +2354,10 @@ yyreduce: } break; - case 137: + case 139: /* Line 1464 of yacc.c */ -#line 407 "util/configparser.y" +#line 417 "util/configparser.y" { OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->username); @@ -2347,10 +2365,10 @@ yyreduce: } break; - case 138: + case 140: /* Line 1464 of yacc.c */ -#line 414 "util/configparser.y" +#line 424 "util/configparser.y" { OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->directory); @@ -2358,10 +2376,10 @@ yyreduce: } break; - case 139: + case 141: /* Line 1464 of yacc.c */ -#line 421 "util/configparser.y" +#line 431 "util/configparser.y" { OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->logfile); @@ -2370,10 +2388,10 @@ yyreduce: } break; - case 140: + case 142: /* Line 1464 of yacc.c */ -#line 429 "util/configparser.y" +#line 439 "util/configparser.y" { OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->pidfile); @@ -2381,10 +2399,10 @@ yyreduce: } break; - case 141: + case 143: /* Line 1464 of yacc.c */ -#line 436 "util/configparser.y" +#line 446 "util/configparser.y" { OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str))) @@ -2392,10 +2410,10 @@ yyreduce: } break; - case 142: + case 144: /* Line 1464 of yacc.c */ -#line 443 "util/configparser.y" +#line 453 "util/configparser.y" { OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->dlv_anchor_file); @@ -2403,10 +2421,10 @@ yyreduce: } break; - case 143: + case 145: /* Line 1464 of yacc.c */ -#line 450 "util/configparser.y" +#line 460 "util/configparser.y" { OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[(2) - (2)].str))) @@ -2414,10 +2432,10 @@ yyreduce: } break; - case 144: + case 146: /* Line 1464 of yacc.c */ -#line 457 "util/configparser.y" +#line 467 "util/configparser.y" { OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> @@ -2426,10 +2444,10 @@ yyreduce: } break; - case 145: + case 147: /* Line 1464 of yacc.c */ -#line 465 "util/configparser.y" +#line 475 "util/configparser.y" { OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> @@ -2438,10 +2456,10 @@ yyreduce: } break; - case 146: + case 148: /* Line 1464 of yacc.c */ -#line 473 "util/configparser.y" +#line 483 "util/configparser.y" { OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> @@ -2450,10 +2468,10 @@ yyreduce: } break; - case 147: + case 149: /* Line 1464 of yacc.c */ -#line 481 "util/configparser.y" +#line 491 "util/configparser.y" { OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str))) @@ -2461,10 +2479,10 @@ yyreduce: } break; - case 148: + case 150: /* Line 1464 of yacc.c */ -#line 488 "util/configparser.y" +#line 498 "util/configparser.y" { OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str))) @@ -2472,10 +2490,10 @@ yyreduce: } break; - case 149: + case 151: /* Line 1464 of yacc.c */ -#line 495 "util/configparser.y" +#line 505 "util/configparser.y" { OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2485,10 +2503,10 @@ yyreduce: } break; - case 150: + case 152: /* Line 1464 of yacc.c */ -#line 504 "util/configparser.y" +#line 514 "util/configparser.y" { OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2498,10 +2516,10 @@ yyreduce: } break; - case 151: + case 153: /* Line 1464 of yacc.c */ -#line 513 "util/configparser.y" +#line 523 "util/configparser.y" { OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->identity); @@ -2509,10 +2527,10 @@ yyreduce: } break; - case 152: + case 154: /* Line 1464 of yacc.c */ -#line 520 "util/configparser.y" +#line 530 "util/configparser.y" { OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->version); @@ -2520,10 +2538,10 @@ yyreduce: } break; - case 153: + case 155: /* Line 1464 of yacc.c */ -#line 527 "util/configparser.y" +#line 537 "util/configparser.y" { OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf)) @@ -2532,10 +2550,10 @@ yyreduce: } break; - case 154: + case 156: /* Line 1464 of yacc.c */ -#line 535 "util/configparser.y" +#line 545 "util/configparser.y" { OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf)) @@ -2544,10 +2562,10 @@ yyreduce: } break; - case 155: + case 157: /* Line 1464 of yacc.c */ -#line 543 "util/configparser.y" +#line 553 "util/configparser.y" { OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2561,10 +2579,10 @@ yyreduce: } break; - case 156: + case 158: /* Line 1464 of yacc.c */ -#line 556 "util/configparser.y" +#line 566 "util/configparser.y" { OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2576,10 +2594,10 @@ yyreduce: } break; - case 157: + case 159: /* Line 1464 of yacc.c */ -#line 567 "util/configparser.y" +#line 577 "util/configparser.y" { OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size)) @@ -2588,10 +2606,10 @@ yyreduce: } break; - case 158: + case 160: /* Line 1464 of yacc.c */ -#line 575 "util/configparser.y" +#line 585 "util/configparser.y" { OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2605,10 +2623,10 @@ yyreduce: } break; - case 159: + case 161: /* Line 1464 of yacc.c */ -#line 588 "util/configparser.y" +#line 598 "util/configparser.y" { OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2618,10 +2636,10 @@ yyreduce: } break; - case 160: + case 162: /* Line 1464 of yacc.c */ -#line 597 "util/configparser.y" +#line 607 "util/configparser.y" { OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2631,10 +2649,10 @@ yyreduce: } break; - case 161: + case 163: /* Line 1464 of yacc.c */ -#line 606 "util/configparser.y" +#line 616 "util/configparser.y" { OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size)) @@ -2643,10 +2661,10 @@ yyreduce: } break; - case 162: + case 164: /* Line 1464 of yacc.c */ -#line 614 "util/configparser.y" +#line 624 "util/configparser.y" { OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2660,10 +2678,10 @@ yyreduce: } break; - case 163: + case 165: /* Line 1464 of yacc.c */ -#line 627 "util/configparser.y" +#line 637 "util/configparser.y" { OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2673,10 +2691,10 @@ yyreduce: } break; - case 164: + case 166: /* Line 1464 of yacc.c */ -#line 636 "util/configparser.y" +#line 646 "util/configparser.y" { OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2686,10 +2704,10 @@ yyreduce: } break; - case 165: + case 167: /* Line 1464 of yacc.c */ -#line 645 "util/configparser.y" +#line 655 "util/configparser.y" { OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2699,10 +2717,10 @@ yyreduce: } break; - case 166: + case 168: /* Line 1464 of yacc.c */ -#line 654 "util/configparser.y" +#line 664 "util/configparser.y" { OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg-> @@ -2712,10 +2730,10 @@ yyreduce: } break; - case 167: + case 169: /* Line 1464 of yacc.c */ -#line 663 "util/configparser.y" +#line 673 "util/configparser.y" { OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2729,10 +2747,10 @@ yyreduce: } break; - case 168: + case 170: /* Line 1464 of yacc.c */ -#line 676 "util/configparser.y" +#line 686 "util/configparser.y" { OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->target_fetch_policy); @@ -2740,10 +2758,10 @@ yyreduce: } break; - case 169: + case 171: /* Line 1464 of yacc.c */ -#line 683 "util/configparser.y" +#line 693 "util/configparser.y" { OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2754,10 +2772,10 @@ yyreduce: } break; - case 170: + case 172: /* Line 1464 of yacc.c */ -#line 693 "util/configparser.y" +#line 703 "util/configparser.y" { OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2768,10 +2786,10 @@ yyreduce: } break; - case 171: + case 173: /* Line 1464 of yacc.c */ -#line 703 "util/configparser.y" +#line 713 "util/configparser.y" { OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2782,10 +2800,10 @@ yyreduce: } break; - case 172: + case 174: /* Line 1464 of yacc.c */ -#line 713 "util/configparser.y" +#line 723 "util/configparser.y" { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2796,10 +2814,10 @@ yyreduce: } break; - case 173: + case 175: /* Line 1464 of yacc.c */ -#line 723 "util/configparser.y" +#line 733 "util/configparser.y" { OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2810,10 +2828,10 @@ yyreduce: } break; - case 174: + case 176: /* Line 1464 of yacc.c */ -#line 733 "util/configparser.y" +#line 743 "util/configparser.y" { OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2824,10 +2842,10 @@ yyreduce: } break; - case 175: + case 177: /* Line 1464 of yacc.c */ -#line 743 "util/configparser.y" +#line 753 "util/configparser.y" { OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2838,10 +2856,10 @@ yyreduce: } break; - case 176: + case 178: /* Line 1464 of yacc.c */ -#line 753 "util/configparser.y" +#line 763 "util/configparser.y" { OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str))) @@ -2849,10 +2867,10 @@ yyreduce: } break; - case 177: + case 179: /* Line 1464 of yacc.c */ -#line 760 "util/configparser.y" +#line 770 "util/configparser.y" { OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str))) @@ -2860,10 +2878,10 @@ yyreduce: } break; - case 178: + case 180: /* Line 1464 of yacc.c */ -#line 767 "util/configparser.y" +#line 777 "util/configparser.y" { OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2873,10 +2891,10 @@ yyreduce: } break; - case 179: + case 181: /* Line 1464 of yacc.c */ -#line 776 "util/configparser.y" +#line 786 "util/configparser.y" { OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2886,10 +2904,10 @@ yyreduce: } break; - case 180: + case 182: /* Line 1464 of yacc.c */ -#line 785 "util/configparser.y" +#line 795 "util/configparser.y" { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -2899,10 +2917,10 @@ yyreduce: } break; - case 181: + case 183: /* Line 1464 of yacc.c */ -#line 794 "util/configparser.y" +#line 804 "util/configparser.y" { OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str))) @@ -2910,10 +2928,10 @@ yyreduce: } break; - case 182: + case 184: /* Line 1464 of yacc.c */ -#line 801 "util/configparser.y" +#line 811 "util/configparser.y" { OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -2924,10 +2942,10 @@ yyreduce: } break; - case 183: + case 185: /* Line 1464 of yacc.c */ -#line 811 "util/configparser.y" +#line 821 "util/configparser.y" { OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && @@ -2942,10 +2960,10 @@ yyreduce: } break; - case 184: + case 186: /* Line 1464 of yacc.c */ -#line 825 "util/configparser.y" +#line 835 "util/configparser.y" { OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->module_conf); @@ -2953,10 +2971,10 @@ yyreduce: } break; - case 185: + case 187: /* Line 1464 of yacc.c */ -#line 832 "util/configparser.y" +#line 842 "util/configparser.y" { OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str))); if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) { @@ -2975,10 +2993,10 @@ yyreduce: } break; - case 186: + case 188: /* Line 1464 of yacc.c */ -#line 850 "util/configparser.y" +#line 860 "util/configparser.y" { OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str))); if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) { @@ -2992,10 +3010,10 @@ yyreduce: } break; - case 187: + case 189: /* Line 1464 of yacc.c */ -#line 863 "util/configparser.y" +#line 873 "util/configparser.y" { OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str))); if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) { @@ -3009,10 +3027,10 @@ yyreduce: } break; - case 188: + case 190: /* Line 1464 of yacc.c */ -#line 876 "util/configparser.y" +#line 886 "util/configparser.y" { OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3022,10 +3040,10 @@ yyreduce: } break; - case 189: + case 191: /* Line 1464 of yacc.c */ -#line 885 "util/configparser.y" +#line 895 "util/configparser.y" { OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3035,10 +3053,10 @@ yyreduce: } break; - case 190: + case 192: /* Line 1464 of yacc.c */ -#line 894 "util/configparser.y" +#line 904 "util/configparser.y" { OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3048,10 +3066,10 @@ yyreduce: } break; - case 191: + case 193: /* Line 1464 of yacc.c */ -#line 903 "util/configparser.y" +#line 913 "util/configparser.y" { OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3062,10 +3080,10 @@ yyreduce: } break; - case 192: + case 194: /* Line 1464 of yacc.c */ -#line 913 "util/configparser.y" +#line 923 "util/configparser.y" { OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3076,10 +3094,10 @@ yyreduce: } break; - case 193: + case 195: /* Line 1464 of yacc.c */ -#line 923 "util/configparser.y" +#line 933 "util/configparser.y" { OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3089,10 +3107,10 @@ yyreduce: } break; - case 194: + case 196: /* Line 1464 of yacc.c */ -#line 932 "util/configparser.y" +#line 942 "util/configparser.y" { OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3102,10 +3120,10 @@ yyreduce: } break; - case 195: + case 197: /* Line 1464 of yacc.c */ -#line 941 "util/configparser.y" +#line 951 "util/configparser.y" { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->val_nsec3_key_iterations); @@ -3113,10 +3131,10 @@ yyreduce: } break; - case 196: + case 198: /* Line 1464 of yacc.c */ -#line 948 "util/configparser.y" +#line 958 "util/configparser.y" { OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3126,10 +3144,10 @@ yyreduce: } break; - case 197: + case 199: /* Line 1464 of yacc.c */ -#line 957 "util/configparser.y" +#line 967 "util/configparser.y" { OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3139,10 +3157,10 @@ yyreduce: } break; - case 198: + case 200: /* Line 1464 of yacc.c */ -#line 966 "util/configparser.y" +#line 976 "util/configparser.y" { OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) @@ -3152,10 +3170,10 @@ yyreduce: } break; - case 199: + case 201: /* Line 1464 of yacc.c */ -#line 975 "util/configparser.y" +#line 985 "util/configparser.y" { OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size)) @@ -3164,10 +3182,10 @@ yyreduce: } break; - case 200: + case 202: /* Line 1464 of yacc.c */ -#line 983 "util/configparser.y" +#line 993 "util/configparser.y" { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -3181,10 +3199,10 @@ yyreduce: } break; - case 201: + case 203: /* Line 1464 of yacc.c */ -#line 996 "util/configparser.y" +#line 1006 "util/configparser.y" { OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size)) @@ -3193,10 +3211,10 @@ yyreduce: } break; - case 202: + case 204: /* Line 1464 of yacc.c */ -#line 1004 "util/configparser.y" +#line 1014 "util/configparser.y" { OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && @@ -3219,10 +3237,10 @@ yyreduce: } break; - case 203: + case 205: /* Line 1464 of yacc.c */ -#line 1026 "util/configparser.y" +#line 1036 "util/configparser.y" { OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str))) @@ -3230,10 +3248,10 @@ yyreduce: } break; - case 204: + case 206: /* Line 1464 of yacc.c */ -#line 1033 "util/configparser.y" +#line 1043 "util/configparser.y" { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str))); @@ -3249,10 +3267,10 @@ yyreduce: } break; - case 205: + case 207: /* Line 1464 of yacc.c */ -#line 1048 "util/configparser.y" +#line 1058 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); if(cfg_parser->cfg->stubs->name) @@ -3263,10 +3281,10 @@ yyreduce: } break; - case 206: + case 208: /* Line 1464 of yacc.c */ -#line 1058 "util/configparser.y" +#line 1068 "util/configparser.y" { OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str))) @@ -3274,10 +3292,10 @@ yyreduce: } break; - case 207: + case 209: /* Line 1464 of yacc.c */ -#line 1065 "util/configparser.y" +#line 1075 "util/configparser.y" { OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str))) @@ -3285,10 +3303,10 @@ yyreduce: } break; - case 208: + case 210: /* Line 1464 of yacc.c */ -#line 1072 "util/configparser.y" +#line 1082 "util/configparser.y" { OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3299,10 +3317,10 @@ yyreduce: } break; - case 209: + case 211: /* Line 1464 of yacc.c */ -#line 1082 "util/configparser.y" +#line 1092 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); if(cfg_parser->cfg->forwards->name) @@ -3313,10 +3331,10 @@ yyreduce: } break; - case 210: + case 212: /* Line 1464 of yacc.c */ -#line 1092 "util/configparser.y" +#line 1102 "util/configparser.y" { OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str))) @@ -3324,10 +3342,10 @@ yyreduce: } break; - case 211: + case 213: /* Line 1464 of yacc.c */ -#line 1099 "util/configparser.y" +#line 1109 "util/configparser.y" { OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str))) @@ -3335,19 +3353,19 @@ yyreduce: } break; - case 212: + case 214: /* Line 1464 of yacc.c */ -#line 1106 "util/configparser.y" +#line 1116 "util/configparser.y" { OUTYY(("\nP(remote-control:)\n")); } break; - case 222: + case 224: /* Line 1464 of yacc.c */ -#line 1117 "util/configparser.y" +#line 1127 "util/configparser.y" { OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3358,10 +3376,10 @@ yyreduce: } break; - case 223: + case 225: /* Line 1464 of yacc.c */ -#line 1127 "util/configparser.y" +#line 1137 "util/configparser.y" { OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -3371,10 +3389,10 @@ yyreduce: } break; - case 224: + case 226: /* Line 1464 of yacc.c */ -#line 1136 "util/configparser.y" +#line 1146 "util/configparser.y" { OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str))) @@ -3382,10 +3400,10 @@ yyreduce: } break; - case 225: + case 227: /* Line 1464 of yacc.c */ -#line 1143 "util/configparser.y" +#line 1153 "util/configparser.y" { OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->server_key_file); @@ -3393,10 +3411,10 @@ yyreduce: } break; - case 226: + case 228: /* Line 1464 of yacc.c */ -#line 1150 "util/configparser.y" +#line 1160 "util/configparser.y" { OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->server_cert_file); @@ -3404,10 +3422,10 @@ yyreduce: } break; - case 227: + case 229: /* Line 1464 of yacc.c */ -#line 1157 "util/configparser.y" +#line 1167 "util/configparser.y" { OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->control_key_file); @@ -3415,10 +3433,10 @@ yyreduce: } break; - case 228: + case 230: /* Line 1464 of yacc.c */ -#line 1164 "util/configparser.y" +#line 1174 "util/configparser.y" { OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->control_cert_file); @@ -3426,19 +3444,19 @@ yyreduce: } break; - case 229: + case 231: /* Line 1464 of yacc.c */ -#line 1171 "util/configparser.y" +#line 1181 "util/configparser.y" { OUTYY(("\nP(python:)\n")); } break; - case 233: + case 235: /* Line 1464 of yacc.c */ -#line 1180 "util/configparser.y" +#line 1190 "util/configparser.y" { OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->python_script); @@ -3449,7 +3467,7 @@ yyreduce: /* Line 1464 of yacc.c */ -#line 3453 "util/configparser.c" +#line 3471 "util/configparser.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3661,7 +3679,7 @@ yyreturn: /* Line 1684 of yacc.c */ -#line 1185 "util/configparser.y" +#line 1195 "util/configparser.y" /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index 5fdfda353..09414c806 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -154,7 +154,8 @@ VAR_PREFETCH_KEY = 371, VAR_SO_SNDBUF = 372, VAR_HARDEN_BELOW_NXDOMAIN = 373, - VAR_IGNORE_CD_FLAG = 374 + VAR_IGNORE_CD_FLAG = 374, + VAR_LOG_QUERIES = 375 }; #endif /* Tokens. */ @@ -275,6 +276,7 @@ #define VAR_SO_SNDBUF 372 #define VAR_HARDEN_BELOW_NXDOMAIN 373 #define VAR_IGNORE_CD_FLAG 374 +#define VAR_LOG_QUERIES 375 @@ -291,7 +293,7 @@ typedef union YYSTYPE /* Line 1685 of yacc.c */ -#line 295 "util/configparser.h" +#line 297 "util/configparser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/util/configparser.y b/util/configparser.y index f1c4e2626..897d674e1 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -102,7 +102,7 @@ extern struct config_parser_state* cfg_parser; %token VAR_AUTO_TRUST_ANCHOR_FILE VAR_KEEP_MISSING VAR_ADD_HOLDDOWN %token VAR_DEL_HOLDDOWN VAR_SO_RCVBUF VAR_EDNS_BUFFER_SIZE VAR_PREFETCH %token VAR_PREFETCH_KEY VAR_SO_SNDBUF VAR_HARDEN_BELOW_NXDOMAIN -%token VAR_IGNORE_CD_FLAG +%token VAR_IGNORE_CD_FLAG VAR_LOG_QUERIES %% toplevelvars: /* empty */ | toplevelvars toplevelvar ; @@ -156,7 +156,8 @@ content_server: server_num_threads | server_verbosity | server_port | server_auto_trust_anchor_file | server_add_holddown | server_del_holddown | server_keep_missing | server_so_rcvbuf | server_edns_buffer_size | server_prefetch | server_prefetch_key | - server_so_sndbuf | server_harden_below_nxdomain | server_ignore_cd_flag + server_so_sndbuf | server_harden_below_nxdomain | server_ignore_cd_flag | + server_log_queries ; stubstart: VAR_STUB_ZONE { @@ -396,6 +397,15 @@ server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG free($2); } ; +server_log_queries: VAR_LOG_QUERIES STRING_ARG + { + OUTYY(("P(server_log_queries:%s)\n", $2)); + if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->log_queries = (strcmp($2, "yes")==0); + free($2); + } + ; server_chroot: VAR_CHROOT STRING_ARG { OUTYY(("P(server_chroot:%s)\n", $2)); diff --git a/util/net_help.c b/util/net_help.c index 504a415ef..95f300df4 100644 --- a/util/net_help.c +++ b/util/net_help.c @@ -271,7 +271,7 @@ log_nametypeclass(enum verbosity_value v, const char* str, uint8_t* name, snprintf(c, sizeof(c), "CLASS%d", (int)dclass); cs = c; } - log_info("%s <%s %s %s>", str, buf, ts, cs); + log_info("%s %s %s %s", str, buf, ts, cs); } void log_name_addr(enum verbosity_value v, const char* str, uint8_t* zone,