summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2015-01-02 17:31:36 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2015-01-02 17:31:36 +0000
commitd433784affd32a879670e66bcf330b2561342f3c (patch)
tree7e110cb938b4f1a0c7a7f5bbbfc0a682ab32c4b6 /util
parentc40c0dcc50043c1f440bca54c9d731eeec13678a (diff)
downloadsrc-test2-d433784affd32a879670e66bcf330b2561342f3c.tar.gz
src-test2-d433784affd32a879670e66bcf330b2561342f3c.zip
Notes
Diffstat (limited to 'util')
-rw-r--r--util/config_file.c48
-rw-r--r--util/config_file.h46
-rw-r--r--util/configlexer.c3360
-rw-r--r--util/configlexer.lex23
-rw-r--r--util/configparser.c1858
-rw-r--r--util/configparser.h48
-rw-r--r--util/configparser.y159
-rw-r--r--util/data/dname.c30
-rw-r--r--util/data/msgreply.c2
-rw-r--r--util/data/msgreply.h20
-rw-r--r--util/data/packed_rrset.h2
-rw-r--r--util/fptr_wlist.c12
-rw-r--r--util/fptr_wlist.h2
-rw-r--r--util/iana_ports.inc21
-rw-r--r--util/locks.h5
-rw-r--r--util/log.c29
-rw-r--r--util/mini_event.h15
-rw-r--r--util/module.h4
-rw-r--r--util/net_help.c32
-rw-r--r--util/net_help.h10
-rw-r--r--util/netevent.c75
-rw-r--r--util/netevent.h4
-rw-r--r--util/random.c150
-rw-r--r--util/storage/lookup3.c11
-rw-r--r--util/storage/slabhash.c14
-rw-r--r--util/storage/slabhash.h7
-rw-r--r--util/winsock_event.h15
27 files changed, 3441 insertions, 2561 deletions
diff --git a/util/config_file.c b/util/config_file.c
index 72f71199dab4..35bc6452a0ce 100644
--- a/util/config_file.c
+++ b/util/config_file.c
@@ -63,18 +63,6 @@
/** global config during parsing */
struct config_parser_state* cfg_parser = 0;
-/** lex in file */
-extern FILE* ub_c_in;
-/** lex out file */
-extern FILE* ub_c_out;
-/** the yacc lex generated parse function */
-int ub_c_parse(void);
-/** the lexer function */
-int ub_c_lex(void);
-/** wrap function */
-int ub_c_wrap(void);
-/** init lex state */
-void init_cfg_parse(void);
/** init ports possible for use */
static void init_outgoing_availports(int* array, int num);
@@ -203,6 +191,7 @@ config_create(void)
cfg->local_zones = NULL;
cfg->local_zones_nodefault = NULL;
cfg->local_data = NULL;
+ cfg->unblock_lan_zones = 0;
cfg->python_script = NULL;
cfg->remote_control_enable = 0;
cfg->control_ifs = NULL;
@@ -222,6 +211,10 @@ config_create(void)
if(!(cfg->module_conf = strdup("validator iterator"))) goto error_exit;
if(!(cfg->val_nsec3_key_iterations =
strdup("1024 150 2048 500 4096 2500"))) goto error_exit;
+#if defined(DNSTAP_SOCKET_PATH)
+ if(!(cfg->dnstap_socket_path = strdup(DNSTAP_SOCKET_PATH)))
+ goto error_exit;
+#endif
return cfg;
error_exit:
config_delete(cfg);
@@ -426,6 +419,7 @@ int config_set_option(struct config_file* cfg, const char* opt,
else S_YNO("minimal-responses:", minimal_responses)
else S_YNO("rrset-roundrobin:", rrset_roundrobin)
else S_STRLIST("local-data:", local_data)
+ else S_YNO("unblock-lan-zones:", unblock_lan_zones)
else S_YNO("control-enable:", remote_control_enable)
else S_STRLIST("control-interface:", control_ifs)
else S_NUMBER_NONZERO("control-port:", control_port)
@@ -690,6 +684,7 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_UNS(opt, "val-override-date", val_date_override)
else O_YNO(opt, "minimal-responses", minimal_responses)
else O_YNO(opt, "rrset-roundrobin", rrset_roundrobin)
+ else O_YNO(opt, "unblock-lan-zones", unblock_lan_zones)
else O_DEC(opt, "max-udp-size", max_udp_size)
else O_STR(opt, "python-script", python_script)
else O_DEC(opt, "val-sig-skew-min", val_sig_skew_min)
@@ -800,7 +795,7 @@ config_read(struct config_file* cfg, const char* filename, const char* chroot)
if(cfg_parser->errors != 0) {
fprintf(stderr, "read %s failed: %d errors in configuration file\n",
- cfg_parser->filename, cfg_parser->errors);
+ fname, cfg_parser->errors);
errno=EINVAL;
return 0;
}
@@ -897,6 +892,9 @@ config_delete(struct config_file* cfg)
free(cfg->server_cert_file);
free(cfg->control_key_file);
free(cfg->control_cert_file);
+ free(cfg->dnstap_socket_path);
+ free(cfg->dnstap_identity);
+ free(cfg->dnstap_version);
free(cfg);
}
@@ -1107,7 +1105,7 @@ cfg_count_numbers(const char* s)
/* sp ::= (space|tab)* */
int num = 0;
while(*s) {
- while(*s && isspace((int)*s))
+ while(*s && isspace((unsigned char)*s))
s++;
if(!*s) /* end of string */
break;
@@ -1115,9 +1113,9 @@ cfg_count_numbers(const char* s)
s++;
if(!*s) /* only - not allowed */
return 0;
- if(!isdigit((int)*s)) /* bad character */
+ if(!isdigit((unsigned char)*s)) /* bad character */
return 0;
- while(*s && isdigit((int)*s))
+ while(*s && isdigit((unsigned char)*s))
s++;
num++;
}
@@ -1129,7 +1127,7 @@ static int isalldigit(const char* str, size_t l)
{
size_t i;
for(i=0; i<l; i++)
- if(!isdigit(str[i]))
+ if(!isdigit((unsigned char)str[i]))
return 0;
return 1;
}
@@ -1155,13 +1153,13 @@ cfg_parse_memsize(const char* str, size_t* res)
else if(len > 1 && str[len-1] == 'B')
len--;
- if(len > 1 && tolower(str[len-1]) == 'g')
+ if(len > 1 && tolower((unsigned char)str[len-1]) == 'g')
mult = 1024*1024*1024;
- else if(len > 1 && tolower(str[len-1]) == 'm')
+ else if(len > 1 && tolower((unsigned char)str[len-1]) == 'm')
mult = 1024*1024;
- else if(len > 1 && tolower(str[len-1]) == 'k')
+ else if(len > 1 && tolower((unsigned char)str[len-1]) == 'k')
mult = 1024;
- else if(len > 0 && isdigit(str[len-1]))
+ else if(len > 0 && isdigit((unsigned char)str[len-1]))
mult = 1;
else {
log_err("unknown size specifier: '%s'", str);
@@ -1324,7 +1322,7 @@ cfg_parse_local_zone(struct config_file* cfg, const char* val)
/* parse it as: [zone_name] [between stuff] [zone_type] */
name = val;
- while(*name && isspace(*name))
+ while(*name && isspace((unsigned char)*name))
name++;
if(!*name) {
log_err("syntax error: too short: %s", val);
@@ -1343,7 +1341,7 @@ cfg_parse_local_zone(struct config_file* cfg, const char* val)
buf[name_end-name] = '\0';
type = last_space_pos(name_end);
- while(type && *type && isspace(*type))
+ while(type && *type && isspace((unsigned char)*type))
type++;
if(!type || !*type) {
log_err("syntax error: expected zone type: %s", val);
@@ -1370,7 +1368,7 @@ char* cfg_ptr_reverse(char* str)
/* parse it as: [IP] [between stuff] [name] */
ip = str;
- while(*ip && isspace(*ip))
+ while(*ip && isspace((unsigned char)*ip))
ip++;
if(!*ip) {
log_err("syntax error: too short: %s", str);
@@ -1425,7 +1423,7 @@ char* cfg_ptr_reverse(char* str)
}
/* printed the reverse address, now the between goop and name on end */
- while(*ip_end && isspace(*ip_end))
+ while(*ip_end && isspace((unsigned char)*ip_end))
ip_end++;
if(name>ip_end) {
snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%.*s",
diff --git a/util/config_file.h b/util/config_file.h
index 7360fd30205e..49ffbdde4a56 100644
--- a/util/config_file.h
+++ b/util/config_file.h
@@ -273,6 +273,8 @@ struct config_file {
struct config_strlist* local_zones_nodefault;
/** local data RRs configged */
struct config_strlist* local_data;
+ /** unblock lan zones (reverse lookups for 10/8 and so on) */
+ int unblock_lan_zones;
/** remote control section. enable toggle. */
int remote_control_enable;
@@ -303,6 +305,38 @@ struct config_file {
/* maximum UDP response size */
size_t max_udp_size;
+
+ /* DNS64 prefix */
+ char* dns64_prefix;
+
+ /* Synthetize all AAAA record despite the presence of an authoritative one */
+ int dns64_synthall;
+
+ /** true to enable dnstap support */
+ int dnstap;
+ /** dnstap socket path */
+ char* dnstap_socket_path;
+ /** true to send "identity" via dnstap */
+ int dnstap_send_identity;
+ /** true to send "version" via dnstap */
+ int dnstap_send_version;
+ /** dnstap "identity", hostname is used if "". */
+ char* dnstap_identity;
+ /** dnstap "version", package version is used if "". */
+ char* dnstap_version;
+
+ /** true to log dnstap RESOLVER_QUERY message events */
+ int dnstap_log_resolver_query_messages;
+ /** true to log dnstap RESOLVER_RESPONSE message events */
+ int dnstap_log_resolver_response_messages;
+ /** true to log dnstap CLIENT_QUERY message events */
+ int dnstap_log_client_query_messages;
+ /** true to log dnstap CLIENT_RESPONSE message events */
+ int dnstap_log_client_response_messages;
+ /** true to log dnstap FORWARDER_QUERY message events */
+ int dnstap_log_forwarder_query_messages;
+ /** true to log dnstap FORWARDER_RESPONSE message events */
+ int dnstap_log_forwarder_response_messages;
};
/**
@@ -639,6 +673,18 @@ struct config_parser_state {
/** global config parser object used during config parsing */
extern struct config_parser_state* cfg_parser;
+/** init lex state */
+void init_cfg_parse(void);
+/** lex in file */
+extern FILE* ub_c_in;
+/** lex out file */
+extern FILE* ub_c_out;
+/** the yacc lex generated parse function */
+int ub_c_parse(void);
+/** the lexer function */
+int ub_c_lex(void);
+/** wrap function */
+int ub_c_wrap(void);
/** parsing helpers: print error with file and line numbers */
void ub_c_error(const char* msg);
/** parsing helpers: print error with file and line numbers */
diff --git a/util/configlexer.c b/util/configlexer.c
index a73adeccea26..3a71d967e687 100644
--- a/util/configlexer.c
+++ b/util/configlexer.c
@@ -10,7 +10,7 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 36
+#define YY_FLEX_SUBMINOR_VERSION 37
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -363,8 +363,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 146
-#define YY_END_OF_BUFFER 147
+#define YY_NUM_RULES 162
+#define YY_END_OF_BUFFER 163
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -372,160 +372,185 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1383] =
+static yyconst flex_int16_t yy_accept[1611] =
{ 0,
- 1, 1, 128, 128, 132, 132, 136, 136, 140, 140,
- 1, 1, 147, 144, 1, 126, 126, 145, 2, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 145, 128,
- 129, 129, 130, 145, 132, 133, 133, 134, 145, 139,
- 136, 137, 137, 138, 145, 140, 141, 141, 142, 145,
- 143, 127, 2, 131, 143, 145, 144, 0, 1, 2,
- 2, 2, 2, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 128, 0, 132, 0, 139, 0, 136, 140, 0,
- 143, 0, 2, 2, 143, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 143, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 143, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 65, 144, 144,
-
- 144, 144, 144, 6, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 143, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 143,
- 144, 144, 144, 144, 29, 144, 144, 144, 144, 144,
- 144, 12, 13, 144, 15, 14, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 121, 144, 144, 144, 144, 144, 3,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 143,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 135, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 32, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 33, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 80, 135,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 79, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 63, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 20,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 30, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 144, 31, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 22, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 26, 144, 27, 144, 144, 144, 66, 144,
- 67, 144, 64, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 5, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 82, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 23, 144, 144, 144, 144,
- 107, 106, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 34, 144, 144, 144, 144, 144, 144, 144, 144,
- 69, 68, 144, 144, 144, 144, 144, 144, 103, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 50, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 54, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 105, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 4, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 100, 144, 144, 144, 144, 144, 144, 144, 115, 101,
- 144, 21, 144, 144, 144, 144, 71, 144, 72, 70,
- 144, 144, 144, 144, 144, 144, 78, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 102, 144, 144, 144,
-
- 144, 125, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 62, 144, 144, 144, 144, 144, 144,
- 144, 144, 28, 144, 144, 17, 144, 144, 144, 16,
- 144, 87, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 41, 42, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 73, 144, 144, 144,
- 144, 144, 77, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 81, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 120,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 91, 144, 95, 144, 144,
- 144, 144, 76, 144, 144, 113, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 94,
- 144, 144, 144, 144, 43, 44, 144, 49, 96, 144,
- 108, 104, 144, 144, 37, 144, 98, 144, 144, 144,
- 144, 144, 7, 144, 61, 112, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 83, 144, 144, 122, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 97, 144, 36, 38,
-
- 144, 144, 144, 144, 144, 60, 144, 144, 144, 144,
- 116, 18, 19, 144, 144, 144, 144, 144, 144, 58,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 118,
- 144, 144, 35, 144, 144, 144, 144, 144, 144, 11,
- 144, 144, 144, 144, 144, 144, 144, 10, 144, 144,
- 39, 144, 124, 117, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 90, 89, 144, 119, 114, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 45,
- 144, 123, 144, 144, 144, 144, 40, 144, 144, 144,
- 84, 86, 144, 144, 144, 88, 144, 144, 144, 144,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 24, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 111, 144, 144, 144, 144, 144, 144,
- 144, 25, 144, 9, 144, 144, 109, 51, 144, 144,
- 144, 93, 144, 74, 144, 144, 144, 53, 57, 52,
- 144, 46, 144, 8, 144, 144, 92, 144, 144, 144,
- 56, 144, 47, 144, 110, 144, 144, 85, 75, 55,
- 48, 144, 144, 144, 144, 59, 144, 144, 144, 144,
- 99, 0
+ 1, 1, 144, 144, 148, 148, 152, 152, 156, 156,
+ 1, 1, 163, 160, 1, 142, 142, 161, 2, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 161, 144,
+ 145, 145, 146, 161, 148, 149, 149, 150, 161, 155,
+ 152, 153, 153, 154, 161, 156, 157, 157, 158, 161,
+ 159, 143, 2, 147, 159, 161, 160, 0, 1, 2,
+ 2, 2, 2, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 144, 0, 148, 0, 155, 0, 152, 156,
+ 0, 159, 0, 2, 2, 159, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 159, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 159, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 65, 160, 160, 160, 160,
+ 160, 6, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 159, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 159, 160, 160, 160, 160, 29, 160, 160, 160,
+ 160, 160, 160, 160, 160, 129, 160, 12, 13, 160,
+ 15, 14, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 122,
+ 160, 160, 160, 160, 160, 3, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 159, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 151, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 32, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 33, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 80, 151, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 79, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 63,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 20, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 30,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 31, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 22, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 26, 160, 27, 160, 160, 160,
+ 66, 160, 67, 160, 64, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 5, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 82, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 23, 160, 160, 160,
+ 160, 107, 106, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 34, 160, 160, 160, 160, 160, 160, 160,
+ 160, 69, 68, 160, 160, 160, 160, 160, 160, 160,
+ 103, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 50,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 54, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 105,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 4,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 100, 160, 160, 160, 160, 160, 160,
+ 160, 116, 101, 160, 127, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 21, 160, 160, 160, 160,
+ 71, 160, 72, 70, 160, 160, 160, 160, 160, 160,
+ 78, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 102, 160, 160, 160, 160, 126, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 62, 160, 160,
+ 160, 160, 160, 160, 160, 160, 28, 160, 160, 17,
+
+ 160, 160, 160, 16, 160, 87, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 41,
+ 42, 160, 160, 160, 160, 160, 160, 130, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 73, 160, 160, 160, 160, 160, 77, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 81, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 121, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 91, 160, 95, 160, 160, 160, 160, 76, 160,
+
+ 160, 114, 160, 160, 160, 128, 160, 160, 160, 160,
+ 160, 160, 160, 135, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 94, 160, 160, 160, 160, 43,
+ 44, 160, 49, 96, 160, 108, 104, 160, 160, 37,
+ 160, 98, 160, 160, 160, 160, 160, 7, 160, 61,
+ 113, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 83, 134, 160, 160,
+ 160, 160, 160, 160, 160, 160, 123, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 97,
+
+ 160, 36, 38, 160, 160, 160, 160, 160, 60, 160,
+ 160, 160, 160, 117, 18, 19, 160, 160, 160, 160,
+ 160, 160, 160, 58, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 119, 160, 160, 160, 160, 160, 160,
+ 160, 160, 35, 160, 160, 160, 160, 160, 160, 11,
+ 160, 160, 160, 160, 160, 160, 160, 10, 160, 160,
+ 39, 160, 125, 118, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 90, 89, 160, 120, 115,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 45, 160, 124, 160,
+
+ 160, 160, 160, 40, 160, 160, 160, 84, 86, 109,
+ 160, 160, 160, 88, 160, 160, 160, 160, 160, 160,
+ 160, 160, 131, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 24, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 133, 160, 160, 112, 160, 160, 160, 160, 160,
+ 160, 160, 25, 160, 9, 160, 160, 110, 51, 160,
+ 160, 160, 93, 160, 160, 160, 160, 160, 160, 132,
+ 74, 160, 160, 160, 53, 57, 52, 160, 46, 160,
+ 8, 160, 160, 92, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 56, 160, 47, 160, 111, 160, 160,
+ 85, 160, 160, 160, 160, 160, 160, 75, 55, 48,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 59, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 99, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 138, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 136, 160,
+
+ 139, 140, 160, 160, 160, 160, 160, 137, 141, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -571,323 +596,373 @@ static yyconst flex_int32_t yy_meta[66] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[1397] =
+static yyconst flex_int16_t yy_base[1625] =
{ 0,
0, 0, 63, 66, 69, 71, 77, 83, 88, 91,
- 129, 135, 296, 256, 95, 4001, 4001, 4001, 107, 110,
- 142, 140, 108, 50, 159, 147, 158, 148, 174, 190,
- 192, 175, 212, 220, 226, 248, 215, 254, 116, 253,
- 4001, 4001, 4001, 94, 252, 4001, 4001, 4001, 96, 247,
- 280, 4001, 4001, 4001, 295, 242, 4001, 4001, 4001, 102,
- 233, 4001, 299, 4001, 236, 305, 201, 309, 111, 0,
- 313, 0, 0, 180, 240, 287, 293, 188, 297, 298,
- 294, 295, 319, 302, 308, 300, 315, 326, 331, 327,
- 344, 121, 329, 356, 359, 325, 351, 363, 372, 357,
-
- 373, 369, 375, 383, 385, 396, 384, 400, 402, 397,
- 407, 137, 406, 414, 419, 420, 427, 426, 433, 439,
- 432, 195, 154, 187, 216, 171, 477, 204, 165, 211,
- 115, 489, 493, 0, 465, 466, 216, 472, 481, 475,
- 453, 495, 492, 430, 521, 500, 485, 502, 482, 506,
- 513, 512, 479, 531, 520, 539, 548, 534, 540, 555,
- 558, 568, 564, 563, 557, 567, 575, 581, 583, 582,
- 586, 573, 590, 576, 579, 597, 584, 610, 599, 609,
- 622, 613, 630, 631, 626, 616, 640, 634, 648, 644,
- 639, 637, 642, 649, 665, 657, 662, 666, 660, 678,
-
- 687, 690, 679, 667, 683, 692, 689, 704, 697, 701,
- 715, 707, 706, 703, 714, 719, 736, 709, 739, 728,
- 748, 742, 738, 741, 747, 730, 760, 759, 777, 749,
- 778, 772, 767, 775, 790, 786, 794, 788, 800, 797,
- 805, 796, 807, 815, 817, 822, 818, 821, 814, 823,
- 832, 848, 841, 893, 839, 852, 850, 845, 842, 856,
- 884, 866, 872, 874, 894, 877, 888, 901, 919, 910,
- 911, 915, 926, 923, 937, 929, 934, 950, 883, 938,
- 951, 935, 949, 954, 962, 958, 956, 978, 953, 967,
- 964, 980, 991, 983, 993, 976, 1000, 4001, 1003, 981,
-
- 1005, 1007, 1009, 4001, 1006, 1015, 1023, 1012, 1030, 1018,
- 1028, 1025, 1033, 1045, 1036, 1053, 1040, 1042, 1088, 1039,
- 1052, 1079, 1050, 1081, 1065, 1092, 1076, 1086, 1085, 1080,
- 1083, 1097, 1113, 1109, 1115, 1129, 1138, 1123, 1119, 1126,
- 1143, 1132, 1136, 1142, 1146, 1149, 1141, 1147, 1151, 1162,
- 1167, 1177, 1184, 1164, 1178, 1182, 1188, 1189, 1187, 1170,
- 1191, 1194, 1181, 1220, 1197, 1209, 1204, 1221, 1226, 1234,
- 1235, 1224, 1236, 1242, 1254, 1206, 1243, 1268, 1269, 1247,
- 1255, 1261, 1278, 1274, 1279, 1207, 1282, 1280, 1294, 1290,
- 1301, 1295, 1306, 1300, 1302, 1296, 1299, 1309, 1316, 1317,
-
- 1330, 1322, 1335, 1331, 1333, 1347, 1349, 1339, 1344, 1340,
- 1358, 1364, 1361, 1367, 1374, 1366, 1376, 1377, 1373, 1392,
- 1395, 1385, 1381, 1406, 4001, 1409, 1413, 1408, 1400, 1422,
- 1411, 4001, 4001, 1404, 4001, 4001, 1414, 1431, 1424, 1436,
- 1463, 1434, 1441, 1427, 1453, 1446, 1462, 1471, 1461, 1473,
- 1457, 1480, 1484, 1486, 1483, 1492, 1499, 1488, 1490, 1516,
- 1525, 1527, 1521, 1522, 1526, 1529, 1512, 1531, 1533, 1535,
- 1538, 1542, 1547, 4001, 1541, 1545, 1549, 1555, 1572, 4001,
- 1557, 1574, 1560, 1565, 1567, 1568, 1571, 1586, 1573, 1577,
- 1594, 1595, 1605, 1599, 1600, 1624, 1621, 1610, 1616, 1626,
-
- 1612, 1634, 1638, 1637, 1627, 1636, 1646, 1630, 1644, 1647,
- 1651, 1655, 1656, 1657, 1665, 1706, 1664, 1670, 1662, 1683,
- 1680, 1678, 1686, 1663, 1674, 1729, 1713, 1702, 1692, 1719,
- 1727, 1726, 1725, 1731, 1724, 1744, 4001, 1745, 1757, 1746,
- 1754, 1758, 1749, 1761, 1759, 1764, 1773, 1775, 1771, 1783,
- 4001, 1782, 1781, 1788, 1806, 1807, 1808, 1795, 1816, 1787,
- 4001, 1823, 1820, 1815, 1810, 1809, 1838, 1828, 1827, 1848,
- 1840, 1842, 1851, 1860, 1852, 1844, 1863, 1854, 1855, 1850,
- 1873, 1878, 1887, 1876, 1888, 1884, 1900, 1902, 1889, 1906,
- 1890, 1893, 1896, 139, 1910, 1903, 1905, 1913, 4001, 76,
-
- 1927, 1929, 1922, 1930, 1947, 1920, 1931, 1932, 1943, 1935,
- 1949, 1934, 1960, 1961, 1954, 1962, 1959, 1977, 1965, 1981,
- 1974, 1980, 1987, 1986, 1996, 1972, 1999, 1991, 2001, 2007,
- 1994, 4001, 2004, 2005, 2025, 2018, 2030, 2040, 2020, 2024,
- 2032, 2052, 2048, 2045, 2051, 2054, 2044, 2058, 2047, 2066,
- 2062, 2073, 2065, 2082, 2085, 2080, 4001, 2083, 2081, 2077,
- 2088, 2079, 2097, 2106, 2109, 2092, 2116, 2119, 2131, 4001,
- 2132, 2133, 2118, 2139, 2121, 2140, 2144, 2142, 2130, 2146,
- 2145, 2147, 2157, 2164, 2156, 4001, 2159, 2160, 2176, 2186,
- 2179, 2166, 2178, 2192, 2174, 2172, 2200, 2184, 2187, 2191,
-
- 2197, 2190, 2201, 2202, 2212, 2218, 4001, 2242, 2206, 2222,
- 2225, 2228, 2221, 2239, 2233, 2237, 2244, 2248, 2253, 2249,
- 2267, 2260, 2259, 2252, 2269, 2276, 2268, 2286, 2297, 2301,
- 2299, 4001, 2298, 2302, 2292, 2293, 2314, 2305, 2296, 2303,
- 2309, 2318, 2311, 2325, 2321, 2324, 2327, 2328, 2336, 2332,
- 2341, 2330, 2355, 2357, 2352, 2362, 2349, 2366, 2367, 2374,
- 2370, 2379, 4001, 2368, 4001, 2376, 2384, 2395, 4001, 2400,
- 4001, 2402, 4001, 2401, 2406, 2394, 2389, 2405, 2403, 2415,
- 2399, 2422, 2398, 2413, 2431, 2425, 2433, 4001, 2421, 2429,
- 2452, 2434, 2437, 2447, 2461, 2450, 2472, 2449, 2445, 2473,
-
- 2477, 4001, 2470, 2460, 2486, 2482, 2490, 2474, 2476, 2478,
- 2488, 2484, 2501, 2508, 2509, 2503, 2504, 2512, 2513, 2511,
- 2516, 2530, 2517, 2522, 2525, 4001, 2538, 2540, 2549, 2539,
- 4001, 4001, 2545, 2557, 2563, 2554, 2562, 2556, 2582, 2569,
- 2566, 2577, 2559, 2586, 2574, 2589, 2583, 2593, 2606, 2596,
- 2597, 4001, 2604, 2609, 2618, 2616, 2605, 2621, 2624, 2638,
- 4001, 4001, 2632, 2631, 2628, 2634, 2650, 2642, 4001, 2636,
- 2658, 2652, 2665, 2667, 2669, 2659, 2661, 2675, 2677, 2683,
- 2686, 2654, 2688, 2689, 2684, 2701, 2706, 4001, 2699, 2712,
- 2718, 2702, 2705, 2710, 2719, 2711, 2720, 2721, 2740, 2738,
-
- 4001, 2744, 2725, 2746, 2728, 2749, 2755, 2748, 2747, 2742,
- 2752, 2757, 2733, 2763, 2765, 2784, 2767, 4001, 2769, 2795,
- 2782, 2793, 2789, 2775, 2802, 2780, 2792, 4001, 2805, 2817,
- 2811, 2814, 2815, 2818, 2825, 2816, 2824, 2827, 2832, 2843,
- 2844, 2840, 2861, 2855, 2835, 2851, 2830, 2860, 2868, 2873,
- 2863, 2883, 2869, 2880, 2874, 2864, 2897, 2876, 2901, 2882,
- 4001, 2902, 2885, 2906, 2908, 2910, 2911, 2909, 4001, 4001,
- 2907, 4001, 2938, 2904, 2921, 2931, 4001, 2920, 4001, 4001,
- 2929, 2927, 2934, 2925, 2953, 2959, 4001, 2956, 2942, 2967,
- 2952, 2948, 2964, 2969, 2957, 2965, 4001, 2966, 2986, 2979,
-
- 2992, 4001, 2990, 3002, 2983, 3000, 3012, 3006, 3013, 2989,
- 3003, 3024, 3016, 4001, 3025, 3008, 3026, 3030, 3046, 3035,
- 3038, 3048, 4001, 3049, 3051, 4001, 3050, 3039, 3045, 4001,
- 3062, 4001, 3064, 3067, 3071, 3079, 3075, 3093, 3077, 3095,
- 3098, 3087, 3101, 3097, 4001, 4001, 3104, 3108, 3109, 3106,
- 3107, 3111, 3102, 3116, 3120, 3122, 4001, 3126, 3132, 3131,
- 3142, 3134, 4001, 3156, 3157, 3149, 3153, 3163, 3165, 3167,
- 3158, 3170, 3172, 3169, 3174, 3175, 3176, 4001, 3181, 3200,
- 3185, 3205, 3189, 3203, 3208, 3213, 3206, 3191, 3217, 4001,
- 3219, 3194, 3222, 3215, 3216, 3221, 3227, 3232, 3236, 3234,
-
- 3243, 3251, 3253, 3268, 3261, 4001, 3247, 4001, 3264, 3270,
- 3272, 3274, 4001, 3254, 3278, 4001, 3279, 3281, 3276, 3289,
- 3301, 3307, 3306, 3292, 3310, 3295, 3313, 3325, 3317, 4001,
- 3308, 3321, 3319, 3328, 4001, 4001, 3331, 4001, 4001, 3329,
- 4001, 4001, 3338, 3336, 4001, 3347, 4001, 3353, 3359, 3345,
- 3340, 3363, 4001, 3364, 4001, 4001, 3366, 3367, 3365, 3370,
- 3373, 3376, 3377, 3372, 3383, 3393, 3395, 3396, 3389, 3385,
- 3404, 3388, 3397, 3406, 3394, 3411, 3412, 3421, 3422, 3429,
- 4001, 3424, 3436, 4001, 3443, 3438, 3435, 3440, 3441, 3439,
- 3452, 3460, 3465, 3457, 3454, 3456, 4001, 3461, 4001, 4001,
-
- 3469, 3475, 3490, 3479, 3477, 4001, 3491, 3474, 3497, 3508,
- 4001, 4001, 4001, 3509, 3492, 3502, 3507, 3518, 3505, 4001,
- 3500, 3520, 3521, 3516, 3528, 3530, 3537, 3544, 3546, 4001,
- 3549, 3539, 4001, 3553, 3547, 3550, 3552, 3562, 3558, 4001,
- 3565, 3572, 3568, 3566, 3569, 3574, 3592, 4001, 3589, 3587,
- 4001, 3603, 4001, 4001, 3585, 3606, 3601, 3608, 3610, 3595,
- 3609, 3619, 3617, 3616, 4001, 4001, 3615, 4001, 4001, 3622,
- 3618, 3632, 3628, 3636, 3633, 3634, 3631, 3653, 3644, 4001,
- 3663, 4001, 3649, 3669, 3668, 3661, 4001, 3665, 3671, 3648,
- 4001, 4001, 3677, 3684, 3678, 4001, 3681, 3693, 3688, 3691,
-
- 3703, 3708, 3700, 3704, 3711, 3720, 3695, 3705, 3726, 3731,
- 4001, 3728, 3722, 3718, 3737, 3739, 3735, 3729, 3745, 3757,
- 3747, 3760, 3751, 4001, 3761, 3766, 3773, 3776, 3777, 3774,
- 3780, 4001, 3781, 4001, 3783, 3784, 4001, 4001, 3786, 3785,
- 3790, 4001, 3791, 4001, 3799, 3805, 3810, 4001, 4001, 4001,
- 3815, 4001, 3816, 4001, 3824, 3812, 4001, 3807, 3828, 3829,
- 4001, 3830, 4001, 3831, 4001, 3821, 3834, 4001, 4001, 4001,
- 4001, 3832, 3818, 3840, 3841, 4001, 3849, 3839, 3851, 3844,
- 4001, 4001, 3909, 3916, 3923, 3930, 3937, 82, 3944, 3951,
- 3958, 3965, 3972, 3979, 3986, 3993
-
+ 129, 135, 428, 340, 95, 4656, 4656, 4656, 107, 110,
+ 142, 180, 108, 50, 145, 172, 118, 148, 121, 181,
+ 197, 166, 217, 223, 251, 230, 164, 262, 116, 312,
+ 4656, 4656, 4656, 94, 298, 4656, 4656, 4656, 96, 269,
+ 294, 4656, 4656, 4656, 244, 254, 4656, 4656, 4656, 102,
+ 249, 4656, 259, 4656, 247, 287, 237, 309, 111, 0,
+ 313, 0, 0, 284, 170, 265, 288, 289, 296, 305,
+ 301, 273, 302, 328, 306, 311, 308, 309, 216, 325,
+ 329, 339, 353, 344, 356, 357, 338, 365, 346, 367,
+
+ 369, 368, 372, 373, 394, 386, 402, 383, 392, 399,
+ 396, 400, 401, 410, 423, 421, 419, 426, 431, 438,
+ 428, 434, 203, 159, 177, 169, 141, 483, 165, 122,
+ 174, 115, 490, 494, 0, 461, 463, 467, 477, 485,
+ 481, 478, 501, 495, 476, 510, 554, 245, 480, 506,
+ 490, 512, 509, 504, 517, 534, 497, 545, 551, 533,
+ 539, 538, 561, 587, 560, 577, 543, 571, 579, 573,
+ 596, 590, 588, 583, 599, 585, 600, 601, 598, 604,
+ 611, 621, 623, 602, 349, 630, 645, 625, 634, 641,
+ 657, 651, 660, 643, 658, 666, 663, 649, 665, 638,
+
+ 678, 669, 685, 690, 213, 696, 698, 684, 693, 692,
+ 705, 701, 702, 689, 713, 726, 737, 718, 716, 721,
+ 733, 743, 729, 735, 740, 753, 748, 745, 765, 741,
+ 760, 763, 771, 786, 759, 790, 774, 780, 787, 797,
+ 799, 801, 810, 807, 803, 812, 806, 837, 821, 828,
+ 834, 809, 814, 824, 830, 838, 846, 863, 854, 908,
+ 864, 869, 865, 856, 870, 874, 862, 887, 873, 889,
+ 902, 898, 903, 912, 916, 914, 954, 913, 939, 940,
+ 934, 960, 938, 945, 943, 949, 959, 969, 973, 970,
+ 982, 985, 976, 983, 981, 992, 996, 978, 1002, 1001,
+
+ 1010, 1015, 1012, 1003, 1021, 4656, 1026, 1004, 1028, 1023,
+ 1033, 4656, 1037, 1038, 1020, 1041, 1048, 1006, 1044, 1047,
+ 1049, 1063, 1051, 1072, 1064, 1060, 1107, 1075, 1076, 1104,
+ 1098, 1085, 1110, 1089, 1116, 1103, 1112, 1131, 1102, 1125,
+ 1122, 1144, 1136, 1141, 1157, 1130, 1150, 1148, 1151, 899,
+ 1158, 1160, 1173, 1152, 1178, 1179, 1169, 1177, 1159, 1192,
+ 1205, 1202, 1207, 1213, 1189, 1206, 1208, 1217, 1214, 1215,
+ 1201, 1219, 1222, 1209, 1248, 1225, 1237, 1234, 1249, 1240,
+ 1253, 1254, 1250, 1261, 1246, 1280, 1269, 1268, 1288, 1294,
+ 1267, 1282, 1284, 1299, 1302, 1303, 1314, 1275, 1307, 1310,
+
+ 1342, 1318, 1317, 1321, 1331, 1333, 1327, 1332, 1335, 1344,
+ 1341, 1343, 1350, 1337, 1348, 1371, 1370, 1373, 1376, 1366,
+ 1368, 1377, 1378, 1386, 1389, 1397, 1401, 1392, 1400, 1411,
+ 1408, 1416, 1412, 1426, 1404, 1431, 4656, 1445, 1442, 1424,
+ 1437, 1448, 1443, 1435, 1484, 4656, 1439, 4656, 4656, 1451,
+ 4656, 4656, 1465, 1438, 1473, 1449, 1532, 1475, 1467, 1472,
+ 1483, 1490, 1491, 1504, 1499, 1518, 1525, 1510, 1502, 1508,
+ 1513, 1537, 1541, 1535, 1542, 1543, 1561, 1562, 1557, 1566,
+ 1559, 1565, 1558, 1570, 1574, 1579, 1582, 1586, 1577, 4656,
+ 1588, 1584, 1594, 1592, 1609, 4656, 1589, 1600, 1603, 1606,
+
+ 1613, 1611, 1619, 1625, 1623, 1630, 1633, 1634, 1637, 1639,
+ 1640, 1618, 1667, 1661, 1652, 1660, 1668, 1653, 1676, 1682,
+ 1680, 1666, 1678, 1686, 1669, 1685, 1690, 1687, 1693, 1696,
+ 1695, 1694, 1744, 1721, 1712, 1705, 1716, 1701, 1723, 1724,
+ 1732, 1741, 1757, 1761, 1759, 1713, 1763, 1764, 1748, 1795,
+ 1780, 1765, 1786, 1804, 1797, 1800, 1806, 1790, 1767, 1807,
+ 4656, 1799, 1812, 1791, 1827, 1814, 1824, 1835, 1826, 1847,
+ 1829, 1836, 1846, 1861, 4656, 1839, 1841, 1854, 1860, 1870,
+ 1873, 1871, 1863, 1887, 4656, 1893, 1900, 1881, 1879, 1883,
+ 1892, 1888, 1907, 1908, 1910, 1902, 1911, 1899, 1914, 1906,
+
+ 1922, 1928, 1929, 1927, 1940, 1937, 1952, 1941, 1955, 1949,
+ 1950, 1936, 1965, 1951, 1970, 1964, 1967, 1976, 120, 1972,
+ 1986, 1977, 1973, 4656, 76, 1987, 1991, 1982, 2009, 2011,
+ 2007, 2005, 2010, 2015, 2016, 2025, 2008, 2021, 2023, 2038,
+ 2029, 2052, 2050, 2054, 2043, 2042, 2046, 2051, 2058, 2047,
+ 2070, 2067, 2079, 2080, 2077, 2081, 2087, 2076, 2084, 2082,
+ 2106, 2102, 2098, 2111, 4656, 2119, 2107, 2116, 2108, 2125,
+ 2140, 2122, 2129, 2144, 2135, 2136, 2145, 2149, 2157, 2151,
+ 2156, 2152, 2147, 2163, 2174, 2168, 2171, 2190, 2178, 4656,
+ 2182, 2176, 2192, 2180, 2193, 2188, 2197, 2207, 2202, 2214,
+
+ 2213, 2222, 4656, 2229, 2231, 2223, 2230, 2224, 2243, 2240,
+ 2246, 2233, 2256, 2239, 2257, 2263, 2250, 2259, 2269, 4656,
+ 2252, 2279, 2273, 2285, 2284, 2275, 2271, 2287, 2277, 2290,
+ 2289, 2281, 2295, 2292, 2298, 2303, 2302, 2314, 2308, 2328,
+ 4656, 2338, 2309, 2335, 2337, 2330, 2350, 2345, 2336, 2329,
+ 2325, 2355, 2356, 2362, 2359, 2363, 2366, 2368, 2371, 2354,
+ 2372, 2392, 2394, 2398, 2386, 2393, 2390, 2409, 2389, 2417,
+ 2396, 2412, 2425, 4656, 2427, 2428, 2420, 2416, 2445, 2438,
+ 2421, 2431, 2430, 2432, 2457, 2468, 2447, 2452, 2454, 2461,
+ 2455, 2449, 2460, 2484, 2481, 2487, 2476, 2483, 2474, 2499,
+
+ 2500, 2502, 2495, 2508, 4656, 2507, 4656, 2504, 2516, 2524,
+ 4656, 2523, 4656, 2528, 4656, 2527, 2536, 2526, 2513, 2531,
+ 2534, 2532, 2546, 2529, 2559, 2540, 2558, 2544, 2551, 2572,
+ 4656, 2561, 2566, 2581, 2563, 2564, 2574, 2590, 2593, 2585,
+ 2575, 2586, 2603, 2599, 4656, 2591, 2613, 2604, 2608, 2630,
+ 2627, 2619, 2620, 2632, 2625, 2631, 2642, 2638, 2626, 2643,
+ 2647, 2663, 2622, 2671, 2673, 2674, 2660, 2661, 2664, 2666,
+ 2670, 2672, 2687, 2690, 2693, 2675, 4656, 2677, 2708, 2709,
+ 2700, 4656, 4656, 2722, 2723, 2719, 2712, 2720, 2706, 2732,
+ 2745, 2734, 2731, 2737, 2747, 2748, 2749, 2740, 2751, 2761,
+
+ 2764, 2752, 4656, 2777, 2767, 2781, 2776, 2775, 2787, 2773,
+ 2796, 4656, 4656, 2790, 2788, 2792, 2797, 2815, 2802, 2803,
+ 4656, 2800, 2827, 2828, 2829, 2830, 2832, 2813, 2823, 2839,
+ 2837, 2840, 2857, 2848, 2858, 2853, 2866, 2846, 2849, 4656,
+ 2865, 2877, 2875, 2876, 2873, 2878, 2868, 2884, 2885, 2886,
+ 2900, 2891, 2892, 2899, 2903, 2904, 2923, 2905, 2928, 2929,
+ 2939, 2933, 4656, 2941, 2926, 2942, 2918, 2940, 2945, 2952,
+ 2962, 2937, 2938, 2955, 2956, 2959, 2935, 2979, 2967, 4656,
+ 2969, 2990, 2982, 2984, 2983, 2972, 2994, 2986, 2999, 4656,
+ 3011, 3004, 3000, 3021, 3023, 3024, 3025, 3010, 3017, 3014,
+
+ 3031, 3039, 3026, 3036, 3038, 3040, 3043, 3055, 3072, 3071,
+ 3078, 3079, 3057, 3065, 3084, 3073, 3082, 3075, 3063, 3093,
+ 3081, 3097, 3089, 4656, 3091, 3095, 3107, 3111, 3114, 3120,
+ 3116, 4656, 4656, 3115, 4656, 3121, 3123, 3109, 3122, 3137,
+ 3113, 3135, 3140, 3141, 3143, 4656, 3162, 3151, 3152, 3156,
+ 4656, 3171, 4656, 4656, 3159, 3179, 3160, 3175, 3178, 3181,
+ 4656, 3184, 3189, 3192, 3194, 3183, 3185, 3187, 3198, 3203,
+ 4656, 3212, 3225, 3210, 3220, 4656, 3218, 3231, 3207, 3230,
+ 3236, 3241, 3243, 3249, 3244, 3245, 3256, 4656, 3247, 3255,
+ 3251, 3265, 3272, 3278, 3270, 3273, 4656, 3282, 3290, 4656,
+
+ 3276, 3293, 3294, 4656, 3292, 4656, 3296, 3300, 3299, 3309,
+ 3301, 3321, 3331, 3314, 3328, 3329, 3322, 3338, 3336, 4656,
+ 4656, 3337, 3339, 3342, 3340, 3345, 3347, 4656, 3351, 3348,
+ 3358, 3367, 3363, 3365, 3370, 3384, 3385, 3372, 3388, 3374,
+ 3377, 4656, 3378, 3379, 3397, 3395, 3405, 4656, 3417, 3416,
+ 3408, 3415, 3429, 3431, 3433, 3423, 3437, 3438, 3420, 3440,
+ 3441, 3432, 4656, 3444, 3452, 3435, 3461, 3455, 3463, 3467,
+ 3471, 3474, 3456, 3477, 4656, 3480, 3458, 3485, 3482, 3481,
+ 3490, 3478, 3479, 3489, 3516, 3500, 3514, 3517, 3511, 3528,
+ 3527, 4656, 3509, 4656, 3524, 3534, 3532, 3538, 4656, 3530,
+
+ 3537, 4656, 3543, 3558, 3540, 4656, 3568, 3555, 3570, 3565,
+ 3561, 3559, 3579, 4656, 3583, 3581, 3589, 3586, 3573, 3590,
+ 3592, 3596, 3603, 3609, 4656, 3606, 3619, 3617, 3627, 4656,
+ 4656, 3630, 4656, 4656, 3626, 4656, 4656, 3632, 3634, 4656,
+ 3635, 4656, 3613, 3640, 3639, 3616, 3642, 4656, 3645, 4656,
+ 4656, 3643, 3658, 3636, 3666, 3673, 3676, 3678, 3667, 3662,
+ 3669, 3672, 3674, 3683, 3670, 3691, 3693, 3695, 3689, 3699,
+ 3668, 3700, 3705, 3719, 3720, 3704, 4656, 4656, 3708, 3715,
+ 3716, 3710, 3731, 3729, 3726, 3753, 4656, 3734, 3736, 3747,
+ 3741, 3746, 3750, 3751, 3769, 3779, 3767, 3765, 3763, 4656,
+
+ 3768, 4656, 4656, 3778, 3785, 3799, 3786, 3789, 4656, 3800,
+ 3802, 3803, 3804, 4656, 4656, 4656, 3816, 3796, 3810, 3815,
+ 3827, 3814, 3828, 4656, 3823, 3830, 3834, 3825, 3822, 3824,
+ 3857, 3856, 3858, 4656, 3868, 3865, 3866, 3861, 3859, 3864,
+ 3873, 3863, 4656, 3876, 3867, 3895, 3899, 3886, 3900, 4656,
+ 3891, 3892, 3889, 3903, 3915, 3913, 3918, 4656, 3916, 3907,
+ 4656, 3917, 4656, 4656, 3926, 3927, 3929, 3924, 3933, 3941,
+ 3931, 3943, 3965, 3962, 3959, 4656, 4656, 3958, 4656, 4656,
+ 3954, 3961, 3951, 3947, 3968, 3975, 3960, 3989, 3981, 3976,
+ 3985, 3978, 3987, 3991, 4002, 3993, 4656, 4012, 4656, 4003,
+
+ 4019, 4018, 4014, 4656, 4016, 4020, 4006, 4656, 4656, 4656,
+ 4030, 4036, 4042, 4656, 4048, 4045, 4034, 4060, 4049, 4064,
+ 4041, 4056, 4656, 4052, 4058, 4070, 4068, 4072, 4082, 4076,
+ 4081, 4063, 4083, 4096, 4100, 4656, 4106, 4087, 4090, 4118,
+ 4119, 4103, 4108, 4104, 4121, 4113, 4131, 4123, 4130, 4126,
+ 4137, 4656, 4138, 4135, 4656, 4141, 4151, 4159, 4160, 4161,
+ 4162, 4166, 4656, 4171, 4656, 4173, 4169, 4656, 4656, 4168,
+ 4175, 4179, 4656, 4180, 4186, 4181, 4192, 4193, 4200, 4656,
+ 4656, 4195, 4190, 4212, 4656, 4656, 4656, 4191, 4656, 4217,
+ 4656, 4223, 4211, 4656, 4207, 4228, 4208, 4230, 4219, 4224,
+
+ 4242, 4235, 4249, 4656, 4258, 4656, 4259, 4656, 4251, 4260,
+ 4656, 4268, 4252, 4265, 4256, 4253, 4257, 4656, 4656, 4656,
+ 4278, 4269, 4264, 4280, 4276, 4285, 4281, 4295, 4311, 4304,
+ 4309, 4312, 4293, 4300, 4323, 4316, 4656, 4319, 4305, 4327,
+ 4329, 4321, 4336, 4328, 4338, 4339, 4340, 4346, 4341, 4364,
+ 4365, 4356, 4371, 4373, 4376, 4377, 4374, 4368, 4384, 4383,
+ 4387, 4388, 4392, 4394, 4399, 4656, 4411, 4403, 4404, 4405,
+ 4424, 4430, 4409, 4426, 4436, 4439, 4434, 4429, 4442, 4440,
+ 4451, 4446, 4454, 4453, 4656, 4455, 4471, 4464, 4469, 4478,
+ 4470, 4474, 4494, 4477, 4500, 4484, 4490, 4501, 4656, 4497,
+
+ 4656, 4656, 4504, 4499, 4506, 4512, 4513, 4656, 4656, 4656,
+ 4564, 4571, 4578, 4585, 4592, 82, 4599, 4606, 4613, 4620,
+ 4627, 4634, 4641, 4648
} ;
-static yyconst flex_int16_t yy_def[1397] =
+static yyconst flex_int16_t yy_def[1625] =
{ 0,
- 1382, 1, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386,
- 1387, 1387, 1382, 1388, 1382, 1382, 1382, 1382, 1389, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1390,
- 1382, 1382, 1382, 1390, 1391, 1382, 1382, 1382, 1391, 1392,
- 1382, 1382, 1382, 1382, 1392, 1393, 1382, 1382, 1382, 1393,
- 1394, 1382, 1395, 1382, 1394, 1394, 1388, 1388, 1382, 1396,
- 1389, 1396, 1389, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1390, 1390, 1391, 1391, 1392, 1392, 1382, 1393, 1393,
- 1394, 1394, 1395, 1395, 1394, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1394, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1394, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
-
- 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1394, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1394,
- 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388,
- 1388, 1382, 1382, 1388, 1382, 1382, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1394,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1394,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1382, 1388, 1382, 1388, 1388, 1388, 1382, 1388,
- 1382, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
- 1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1382,
- 1388, 1382, 1388, 1388, 1388, 1388, 1382, 1388, 1382, 1382,
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
-
- 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1382, 1388, 1388, 1382, 1388, 1388, 1388, 1382,
- 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1382, 1382, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
- 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1382, 1388, 1388,
- 1388, 1388, 1382, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1388, 1388, 1382, 1382, 1388, 1382, 1382, 1388,
- 1382, 1382, 1388, 1388, 1382, 1388, 1382, 1388, 1388, 1388,
- 1388, 1388, 1382, 1388, 1382, 1382, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1382, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1382, 1382,
-
- 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
- 1382, 1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
- 1382, 1388, 1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1388, 1382, 1382, 1388, 1382, 1382, 1388,
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
- 1388, 1382, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
- 1382, 1382, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
-
- 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
- 1388, 1382, 1388, 1382, 1388, 1388, 1382, 1382, 1388, 1388,
- 1388, 1382, 1388, 1382, 1388, 1388, 1388, 1382, 1382, 1382,
- 1388, 1382, 1388, 1382, 1388, 1388, 1382, 1388, 1388, 1388,
- 1382, 1388, 1382, 1388, 1382, 1388, 1388, 1382, 1382, 1382,
- 1382, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
- 1382, 0, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382
-
+ 1610, 1, 1611, 1611, 1612, 1612, 1613, 1613, 1614, 1614,
+ 1615, 1615, 1610, 1616, 1610, 1610, 1610, 1610, 1617, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1618,
+ 1610, 1610, 1610, 1618, 1619, 1610, 1610, 1610, 1619, 1620,
+ 1610, 1610, 1610, 1610, 1620, 1621, 1610, 1610, 1610, 1621,
+ 1622, 1610, 1623, 1610, 1622, 1622, 1616, 1616, 1610, 1624,
+ 1617, 1624, 1617, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1618, 1618, 1619, 1619, 1620, 1620, 1610, 1621,
+ 1621, 1622, 1622, 1623, 1623, 1622, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1622, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1622, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1622, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1622, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1610, 1610, 1616,
+ 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1622, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1610, 1622, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1610, 1616, 1610, 1616, 1616, 1616,
+ 1610, 1616, 1610, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616,
+ 1616, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1610, 1610, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1610,
+
+ 1616, 1616, 1616, 1610, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1610, 1616, 1610, 1616, 1616, 1616, 1616, 1610, 1616,
+
+ 1616, 1610, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1610,
+ 1610, 1616, 1610, 1610, 1616, 1610, 1610, 1616, 1616, 1610,
+ 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1610,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1610, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+
+ 1616, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1610, 1616,
+ 1616, 1616, 1616, 1610, 1610, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616,
+ 1610, 1616, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1610, 1610, 1616, 1610, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1610, 1616,
+
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1610, 1610, 1610,
+ 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1610, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1610, 1616, 1610, 1616, 1616, 1610, 1610, 1616,
+ 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1610,
+ 1610, 1616, 1616, 1616, 1610, 1610, 1610, 1616, 1610, 1616,
+ 1610, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1610, 1616, 1610, 1616, 1610, 1616, 1616,
+ 1610, 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1610, 1610,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1610, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1610, 1616,
+
+ 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1610, 1610, 0,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610
} ;
-static yyconst flex_int16_t yy_nxt[4067] =
+static yyconst flex_int16_t yy_nxt[4722] =
{ 0,
14, 15, 16, 17, 18, 19, 18, 14, 14, 14,
14, 18, 20, 14, 21, 22, 23, 24, 14, 25,
@@ -896,449 +971,522 @@ static yyconst flex_int16_t yy_nxt[4067] =
14, 21, 22, 23, 24, 14, 25, 26, 27, 28,
29, 30, 31, 32, 33, 14, 34, 35, 36, 37,
38, 14, 14, 14, 14, 41, 42, 43, 41, 42,
- 43, 46, 47, 46, 47, 48, 86, 48, 51, 52,
+ 43, 46, 47, 46, 47, 48, 87, 48, 51, 52,
53, 54, 67, 18, 51, 52, 53, 54, 68, 18,
- 57, 58, 59, 57, 58, 59, 69, 122, 122, 124,
+ 57, 58, 59, 57, 58, 59, 69, 123, 123, 125,
- 70, 44, 124, 86, 44, 129, 129, 49, 72, 49,
- 72, 72, 69, 72, 132, 55, 70, 67, 72, 67,
- 67, 55, 67, 84, 74, 75, 60, 67, 157, 60,
+ 70, 44, 125, 87, 44, 130, 130, 49, 72, 49,
+ 72, 72, 69, 72, 133, 55, 70, 67, 72, 67,
+ 67, 55, 67, 85, 74, 75, 60, 67, 724, 60,
15, 16, 17, 62, 63, 64, 15, 16, 17, 62,
- 63, 64, 76, 85, 180, 73, 68, 690, 68, 65,
- 84, 74, 75, 132, 77, 65, 80, 122, 122, 68,
- 81, 78, 89, 82, 94, 90, 83, 66, 79, 76,
- 85, 87, 91, 66, 92, 68, 65, 68, 68, 88,
- 68, 77, 65, 80, 93, 68, 68, 81, 78, 89,
- 82, 94, 90, 83, 136, 79, 68, 68, 87, 91,
-
- 95, 92, 96, 130, 100, 128, 88, 103, 101, 127,
- 97, 93, 68, 68, 129, 129, 98, 140, 68, 124,
- 99, 136, 124, 193, 102, 125, 68, 95, 68, 96,
- 68, 100, 104, 123, 103, 101, 108, 97, 105, 68,
- 118, 106, 111, 98, 140, 119, 109, 99, 107, 110,
- 68, 102, 112, 68, 68, 137, 113, 114, 68, 104,
- 115, 135, 116, 108, 68, 105, 120, 118, 106, 111,
- 121, 132, 119, 109, 132, 107, 110, 117, 68, 112,
- 130, 128, 137, 113, 114, 127, 68, 115, 135, 116,
- 125, 123, 68, 120, 68, 1382, 126, 121, 126, 126,
-
- 72, 126, 72, 72, 117, 72, 131, 139, 131, 131,
- 67, 131, 67, 67, 72, 67, 72, 72, 138, 72,
- 67, 142, 141, 143, 72, 68, 145, 147, 144, 149,
- 1382, 68, 68, 68, 139, 68, 68, 134, 68, 148,
- 68, 151, 1382, 146, 150, 138, 68, 152, 142, 141,
- 143, 73, 153, 68, 147, 144, 149, 68, 154, 158,
- 163, 155, 1382, 68, 68, 68, 148, 68, 151, 68,
- 146, 150, 159, 161, 152, 156, 164, 162, 165, 153,
- 1382, 167, 68, 1382, 1382, 154, 158, 163, 155, 68,
- 166, 168, 160, 169, 68, 68, 1382, 68, 171, 159,
-
- 161, 68, 156, 164, 162, 165, 170, 68, 167, 1382,
- 68, 68, 173, 68, 172, 175, 174, 166, 168, 160,
- 169, 68, 68, 68, 176, 171, 182, 178, 177, 181,
- 1382, 1382, 1382, 170, 68, 68, 179, 201, 68, 173,
- 68, 172, 175, 174, 68, 68, 183, 185, 184, 188,
- 1382, 176, 68, 182, 178, 177, 181, 68, 68, 186,
- 187, 190, 189, 179, 68, 68, 1382, 1382, 68, 1382,
- 68, 68, 1382, 183, 185, 184, 188, 68, 126, 191,
- 126, 126, 192, 126, 197, 1382, 186, 187, 190, 189,
- 131, 68, 131, 131, 72, 131, 72, 72, 194, 72,
-
- 195, 196, 198, 132, 68, 214, 191, 199, 200, 192,
- 68, 197, 207, 68, 1382, 208, 210, 68, 209, 68,
- 68, 211, 1382, 68, 1382, 194, 1382, 195, 196, 212,
- 68, 134, 214, 68, 199, 200, 202, 213, 68, 207,
- 68, 203, 208, 210, 68, 209, 204, 1382, 211, 217,
- 68, 68, 205, 206, 215, 218, 212, 216, 68, 68,
- 219, 1382, 222, 202, 213, 220, 1382, 221, 203, 68,
- 223, 226, 68, 204, 229, 224, 217, 68, 68, 205,
- 206, 215, 218, 227, 216, 225, 68, 219, 231, 228,
- 232, 230, 220, 68, 221, 68, 68, 223, 238, 1382,
-
- 233, 68, 68, 234, 235, 68, 68, 236, 1382, 237,
- 227, 68, 225, 68, 68, 240, 228, 68, 230, 68,
- 68, 68, 68, 239, 68, 238, 241, 233, 68, 245,
- 234, 235, 242, 249, 236, 68, 237, 68, 243, 244,
- 1382, 252, 240, 247, 246, 1382, 250, 68, 68, 248,
- 239, 68, 251, 241, 68, 254, 260, 255, 1382, 242,
- 68, 259, 257, 253, 68, 243, 244, 258, 68, 68,
- 247, 246, 68, 250, 256, 68, 248, 132, 68, 251,
- 68, 261, 68, 262, 255, 264, 68, 68, 259, 257,
- 253, 263, 266, 270, 258, 68, 265, 271, 68, 267,
-
- 68, 256, 268, 68, 68, 68, 269, 272, 261, 273,
- 262, 274, 264, 276, 278, 1382, 68, 68, 263, 266,
- 270, 68, 275, 265, 271, 68, 267, 68, 68, 268,
- 68, 277, 280, 269, 272, 68, 273, 279, 284, 68,
- 276, 68, 68, 282, 68, 68, 281, 68, 283, 275,
- 1382, 286, 68, 68, 285, 287, 288, 68, 277, 280,
- 298, 289, 293, 1382, 279, 284, 68, 292, 68, 290,
- 282, 1382, 291, 281, 68, 283, 68, 68, 286, 68,
- 68, 285, 295, 288, 294, 68, 68, 68, 289, 293,
- 296, 297, 299, 302, 292, 303, 290, 68, 68, 291,
-
- 300, 304, 305, 301, 309, 68, 306, 1382, 1382, 295,
- 68, 294, 311, 68, 307, 68, 68, 296, 297, 299,
- 302, 312, 303, 313, 68, 319, 68, 300, 68, 305,
- 301, 308, 68, 306, 68, 68, 310, 320, 68, 311,
- 314, 307, 318, 68, 315, 68, 321, 316, 312, 317,
- 313, 1382, 68, 68, 322, 68, 68, 323, 308, 68,
- 68, 68, 324, 310, 320, 334, 326, 314, 338, 318,
- 68, 315, 335, 321, 316, 337, 317, 68, 325, 68,
- 68, 322, 336, 68, 323, 1382, 68, 339, 132, 324,
- 68, 340, 334, 326, 68, 338, 1382, 341, 342, 335,
-
- 343, 344, 337, 360, 68, 325, 327, 328, 345, 336,
- 68, 1382, 68, 346, 339, 68, 329, 347, 330, 331,
- 332, 68, 68, 333, 341, 342, 68, 343, 348, 349,
- 360, 68, 68, 327, 328, 345, 354, 1382, 351, 68,
- 346, 350, 352, 329, 347, 330, 331, 332, 68, 68,
- 333, 353, 355, 68, 361, 363, 364, 68, 356, 357,
- 370, 68, 1382, 354, 68, 351, 362, 68, 350, 352,
- 358, 365, 68, 68, 367, 68, 68, 366, 353, 355,
- 368, 361, 363, 359, 372, 356, 357, 68, 68, 68,
- 369, 68, 68, 362, 68, 375, 68, 358, 365, 371,
-
- 68, 367, 68, 373, 366, 68, 374, 368, 377, 376,
- 359, 372, 378, 380, 68, 379, 68, 369, 68, 68,
- 1382, 68, 375, 1382, 381, 389, 371, 382, 387, 68,
- 373, 68, 383, 374, 1382, 377, 376, 384, 68, 378,
- 380, 68, 379, 68, 68, 68, 385, 68, 386, 388,
- 68, 381, 1382, 68, 382, 387, 68, 390, 391, 383,
- 393, 68, 394, 68, 384, 392, 68, 396, 68, 395,
- 403, 68, 397, 385, 68, 386, 388, 68, 68, 404,
- 68, 407, 1382, 68, 390, 391, 405, 393, 68, 394,
- 68, 68, 392, 408, 396, 406, 395, 403, 1382, 397,
-
- 398, 409, 411, 68, 410, 399, 404, 400, 407, 412,
- 414, 413, 1382, 416, 68, 401, 415, 68, 68, 68,
- 408, 68, 406, 68, 68, 402, 68, 398, 409, 411,
- 68, 410, 399, 417, 400, 68, 412, 414, 413, 418,
- 416, 419, 401, 415, 420, 421, 422, 68, 423, 1382,
- 424, 68, 402, 68, 425, 426, 428, 68, 432, 427,
- 417, 68, 433, 430, 68, 431, 418, 132, 419, 434,
- 68, 420, 429, 422, 68, 423, 68, 424, 435, 68,
- 68, 68, 426, 428, 68, 68, 427, 68, 436, 68,
- 430, 437, 431, 1382, 439, 441, 438, 440, 445, 429,
-
- 68, 444, 68, 443, 442, 68, 447, 1382, 68, 451,
- 446, 453, 1382, 463, 473, 68, 68, 1382, 474, 68,
- 68, 439, 68, 438, 440, 68, 68, 68, 444, 68,
- 443, 442, 68, 447, 448, 68, 451, 446, 452, 449,
- 455, 454, 68, 450, 68, 68, 1382, 68, 459, 456,
- 1382, 458, 460, 1382, 1382, 1382, 1382, 1382, 68, 68,
- 464, 448, 68, 467, 68, 452, 449, 455, 454, 461,
- 450, 457, 68, 68, 68, 459, 456, 462, 458, 460,
- 68, 68, 465, 466, 468, 68, 469, 464, 471, 475,
- 467, 1382, 68, 68, 470, 472, 461, 479, 457, 68,
-
- 476, 480, 1382, 1382, 462, 1382, 68, 68, 477, 465,
- 466, 468, 68, 469, 481, 471, 68, 68, 68, 483,
- 68, 470, 472, 478, 488, 482, 486, 476, 68, 484,
- 487, 485, 68, 68, 68, 477, 489, 68, 68, 68,
- 68, 481, 493, 490, 68, 495, 483, 68, 492, 1382,
- 478, 488, 482, 486, 68, 68, 484, 487, 485, 491,
- 68, 494, 496, 489, 500, 497, 498, 1382, 68, 68,
- 490, 68, 495, 68, 499, 492, 501, 68, 68, 503,
- 502, 1382, 68, 504, 1382, 68, 491, 68, 494, 496,
- 505, 500, 497, 498, 507, 506, 68, 508, 509, 68,
-
- 512, 499, 68, 501, 68, 68, 503, 502, 510, 511,
- 504, 68, 68, 513, 68, 68, 516, 505, 514, 68,
- 1382, 507, 506, 68, 508, 509, 515, 512, 517, 519,
- 132, 518, 522, 68, 523, 510, 511, 521, 68, 525,
- 513, 520, 68, 526, 68, 514, 68, 68, 524, 68,
- 533, 68, 68, 515, 1382, 517, 519, 537, 518, 522,
- 68, 523, 68, 535, 521, 68, 525, 536, 520, 68,
- 534, 542, 68, 1382, 68, 524, 527, 533, 528, 68,
- 538, 529, 1382, 539, 68, 541, 530, 540, 1382, 1382,
- 535, 68, 531, 532, 536, 68, 543, 534, 542, 68,
-
- 68, 68, 546, 527, 547, 528, 550, 538, 529, 68,
- 539, 68, 541, 530, 540, 544, 545, 549, 68, 531,
- 532, 68, 68, 543, 68, 548, 68, 551, 68, 546,
- 68, 547, 552, 550, 553, 554, 1382, 68, 1382, 555,
- 1382, 558, 544, 545, 549, 556, 561, 559, 557, 563,
- 68, 560, 548, 1382, 68, 565, 1382, 562, 1382, 68,
- 68, 567, 554, 68, 68, 68, 555, 68, 558, 68,
- 566, 68, 556, 68, 559, 557, 68, 564, 560, 68,
- 68, 568, 565, 68, 562, 68, 569, 68, 567, 571,
- 572, 577, 573, 68, 570, 68, 574, 566, 68, 576,
-
- 575, 578, 579, 68, 564, 68, 68, 580, 568, 68,
- 68, 68, 68, 569, 581, 68, 571, 572, 577, 573,
- 582, 570, 583, 574, 68, 585, 576, 575, 578, 579,
- 584, 586, 68, 68, 580, 1382, 587, 68, 68, 589,
- 588, 581, 590, 68, 591, 593, 592, 582, 68, 583,
- 68, 594, 585, 597, 68, 599, 595, 584, 600, 68,
- 596, 598, 68, 587, 68, 68, 589, 588, 68, 590,
- 602, 591, 68, 592, 68, 68, 68, 601, 594, 611,
- 618, 619, 68, 595, 68, 132, 603, 596, 598, 68,
- 605, 1382, 604, 68, 68, 68, 612, 602, 613, 1382,
-
- 68, 68, 68, 68, 601, 615, 611, 618, 68, 614,
- 616, 617, 68, 603, 1382, 626, 68, 605, 68, 604,
- 606, 68, 607, 612, 68, 613, 608, 625, 609, 624,
- 68, 627, 615, 610, 1382, 632, 614, 616, 617, 1382,
- 68, 620, 626, 628, 68, 629, 621, 606, 622, 607,
- 630, 68, 634, 608, 625, 609, 624, 68, 627, 633,
- 610, 631, 68, 68, 68, 68, 623, 68, 620, 68,
- 628, 635, 629, 621, 638, 622, 636, 630, 637, 639,
- 642, 640, 68, 68, 68, 1382, 633, 68, 631, 641,
- 646, 645, 68, 623, 655, 68, 68, 68, 635, 68,
-
- 644, 638, 68, 636, 643, 637, 639, 642, 640, 68,
- 648, 68, 647, 68, 649, 653, 641, 1382, 645, 68,
- 68, 68, 650, 651, 652, 68, 68, 644, 654, 660,
- 656, 643, 658, 68, 657, 659, 661, 648, 1382, 647,
- 662, 649, 653, 665, 68, 68, 68, 68, 68, 650,
- 651, 652, 663, 68, 68, 654, 660, 667, 68, 658,
- 664, 68, 659, 661, 666, 68, 68, 662, 669, 668,
- 665, 670, 671, 672, 1382, 1382, 68, 673, 68, 663,
- 68, 676, 68, 674, 667, 675, 68, 664, 68, 68,
- 68, 666, 68, 68, 678, 669, 668, 677, 68, 671,
-
- 672, 68, 681, 679, 673, 680, 682, 683, 676, 684,
- 674, 68, 675, 1382, 68, 685, 68, 686, 688, 689,
- 687, 678, 68, 692, 677, 68, 68, 68, 68, 681,
- 679, 68, 680, 682, 68, 693, 700, 698, 68, 691,
- 68, 68, 685, 68, 68, 688, 689, 687, 68, 694,
- 692, 68, 695, 697, 699, 696, 701, 702, 68, 703,
- 68, 704, 693, 700, 706, 68, 691, 68, 68, 68,
- 68, 707, 68, 68, 709, 705, 694, 1382, 710, 695,
- 697, 68, 696, 701, 702, 68, 703, 68, 704, 711,
- 708, 706, 68, 712, 715, 713, 714, 68, 68, 68,
-
- 68, 709, 705, 68, 720, 710, 716, 1382, 722, 718,
- 68, 726, 68, 717, 725, 68, 711, 708, 68, 68,
- 712, 715, 713, 714, 68, 68, 719, 723, 721, 68,
- 727, 720, 68, 716, 68, 722, 718, 68, 724, 68,
- 717, 725, 68, 68, 728, 68, 730, 731, 734, 729,
- 733, 732, 735, 719, 723, 721, 68, 727, 68, 736,
- 737, 738, 68, 68, 741, 724, 740, 739, 68, 745,
- 68, 728, 743, 730, 742, 734, 729, 733, 68, 735,
- 746, 747, 68, 68, 1382, 68, 68, 737, 738, 68,
- 68, 741, 68, 740, 739, 744, 68, 748, 754, 743,
-
- 68, 742, 753, 68, 68, 749, 756, 755, 747, 758,
- 750, 68, 751, 757, 752, 68, 759, 68, 68, 68,
- 68, 68, 744, 68, 748, 754, 68, 763, 762, 753,
- 68, 760, 749, 756, 755, 68, 758, 750, 761, 751,
- 757, 752, 765, 759, 68, 764, 766, 68, 768, 767,
- 769, 771, 770, 773, 68, 762, 68, 68, 760, 68,
- 772, 774, 775, 777, 776, 761, 781, 782, 68, 68,
- 68, 68, 764, 766, 780, 768, 767, 68, 68, 770,
- 68, 779, 68, 68, 68, 68, 778, 772, 774, 775,
- 777, 776, 783, 784, 68, 68, 786, 68, 68, 785,
-
- 787, 780, 68, 788, 68, 789, 790, 791, 779, 795,
- 68, 1382, 68, 778, 68, 792, 68, 68, 793, 783,
- 794, 796, 68, 786, 68, 68, 785, 787, 68, 68,
- 68, 798, 789, 790, 800, 68, 795, 797, 68, 68,
- 68, 805, 792, 803, 68, 793, 799, 794, 796, 801,
- 68, 804, 807, 802, 808, 1382, 68, 806, 798, 68,
- 68, 800, 809, 68, 797, 814, 68, 810, 805, 811,
- 803, 68, 818, 799, 812, 68, 816, 68, 804, 807,
- 68, 808, 68, 813, 806, 815, 68, 68, 817, 809,
- 68, 68, 814, 820, 810, 819, 811, 68, 68, 818,
-
- 821, 812, 822, 816, 823, 68, 68, 68, 824, 826,
- 813, 825, 815, 1382, 68, 817, 832, 828, 827, 1382,
- 820, 830, 819, 829, 68, 831, 833, 821, 837, 822,
- 68, 68, 838, 834, 68, 68, 68, 68, 825, 68,
- 68, 68, 846, 68, 828, 827, 835, 68, 836, 68,
- 829, 839, 68, 833, 840, 837, 68, 841, 842, 68,
- 834, 843, 68, 68, 844, 68, 68, 845, 68, 846,
- 68, 847, 848, 835, 68, 836, 849, 852, 839, 68,
- 851, 840, 850, 853, 841, 842, 856, 68, 843, 854,
- 68, 844, 858, 68, 845, 68, 859, 857, 847, 848,
-
- 68, 855, 860, 849, 68, 68, 68, 851, 68, 850,
- 853, 861, 68, 862, 68, 863, 854, 68, 864, 858,
- 865, 867, 68, 859, 857, 866, 869, 68, 855, 868,
- 870, 872, 68, 68, 871, 873, 68, 68, 68, 68,
- 68, 68, 863, 68, 68, 864, 874, 865, 867, 876,
- 877, 68, 866, 68, 878, 875, 868, 870, 872, 68,
- 68, 871, 873, 68, 879, 880, 884, 68, 881, 68,
- 887, 68, 68, 874, 883, 68, 876, 877, 882, 885,
- 886, 878, 875, 68, 888, 68, 890, 68, 68, 893,
- 68, 879, 880, 884, 889, 881, 891, 887, 68, 68,
-
- 892, 883, 894, 895, 898, 882, 896, 886, 68, 897,
- 68, 68, 68, 890, 68, 68, 68, 900, 899, 901,
- 68, 889, 68, 891, 68, 902, 68, 892, 68, 894,
- 895, 898, 903, 896, 907, 904, 897, 909, 906, 68,
- 908, 68, 68, 905, 900, 899, 68, 68, 910, 68,
- 68, 68, 902, 911, 68, 68, 918, 912, 914, 903,
- 68, 907, 904, 68, 913, 906, 917, 908, 68, 915,
- 905, 919, 916, 927, 1382, 910, 68, 68, 68, 920,
- 911, 921, 922, 68, 912, 914, 923, 68, 928, 926,
- 929, 913, 68, 917, 68, 68, 915, 68, 919, 916,
-
- 68, 68, 924, 931, 68, 925, 920, 68, 921, 922,
- 930, 938, 68, 923, 932, 68, 926, 929, 935, 933,
- 68, 68, 934, 936, 68, 940, 937, 68, 943, 924,
- 931, 68, 925, 941, 68, 68, 942, 930, 939, 1382,
- 1382, 932, 68, 68, 68, 935, 933, 68, 944, 934,
- 936, 947, 945, 937, 68, 948, 68, 949, 946, 68,
- 941, 965, 68, 942, 950, 939, 68, 953, 955, 68,
- 68, 952, 68, 954, 68, 944, 68, 951, 947, 945,
- 68, 956, 948, 957, 949, 946, 961, 960, 68, 958,
- 68, 950, 68, 959, 953, 955, 68, 68, 952, 68,
-
- 954, 968, 962, 68, 951, 68, 963, 68, 956, 964,
- 957, 966, 969, 68, 960, 68, 958, 970, 967, 971,
- 959, 68, 68, 972, 68, 973, 68, 68, 968, 962,
- 977, 979, 980, 963, 974, 975, 964, 68, 966, 68,
- 68, 976, 978, 68, 68, 967, 971, 981, 68, 68,
- 68, 983, 982, 985, 984, 989, 68, 68, 68, 68,
- 987, 974, 975, 68, 986, 996, 68, 988, 976, 978,
- 990, 68, 991, 993, 997, 1382, 68, 992, 68, 982,
- 68, 984, 68, 994, 68, 68, 68, 68, 995, 1001,
- 68, 986, 996, 68, 988, 68, 999, 990, 1000, 991,
-
- 993, 68, 998, 68, 992, 68, 1002, 68, 1003, 1005,
- 994, 1004, 1006, 68, 1007, 995, 1001, 1008, 68, 1009,
- 68, 1010, 68, 999, 1011, 1000, 1014, 68, 1382, 998,
- 68, 68, 1013, 68, 1015, 1003, 1005, 1029, 1004, 1006,
- 68, 1007, 1012, 68, 1008, 1016, 1009, 1017, 1010, 68,
- 1018, 1023, 68, 68, 68, 68, 68, 1019, 1020, 1013,
- 1021, 1015, 68, 68, 1022, 68, 1026, 1027, 68, 1012,
- 68, 1030, 1016, 68, 1017, 1031, 1028, 1018, 68, 1032,
- 1033, 68, 68, 1024, 1019, 1020, 1034, 1021, 1025, 68,
- 1035, 1022, 1036, 68, 1027, 1037, 1045, 1038, 68, 68,
-
- 1039, 68, 68, 1028, 1040, 1043, 68, 68, 1042, 1041,
- 1024, 68, 68, 1034, 68, 1025, 1044, 1046, 68, 1036,
- 68, 68, 1037, 68, 1038, 1047, 1048, 1039, 1049, 1050,
- 1051, 1057, 1043, 1054, 1059, 68, 1041, 1061, 1382, 68,
- 68, 1055, 68, 1044, 68, 68, 68, 68, 68, 68,
- 1052, 1056, 1047, 1048, 1058, 1049, 1050, 1051, 68, 68,
- 1054, 1053, 1060, 68, 1061, 68, 1062, 68, 1055, 68,
- 1063, 1068, 68, 1065, 1064, 1382, 68, 1052, 1056, 1066,
- 68, 1058, 1073, 1071, 1067, 1382, 68, 1069, 1053, 1060,
- 68, 68, 1070, 1062, 68, 68, 1072, 68, 1068, 1074,
-
- 1065, 1064, 68, 68, 68, 68, 1066, 68, 1075, 1073,
- 1071, 1067, 1076, 1078, 1069, 1077, 1080, 68, 1084, 1070,
- 1079, 68, 1082, 1072, 68, 1081, 1074, 68, 68, 1083,
- 68, 1086, 1087, 1089, 1085, 1075, 1382, 1090, 68, 1076,
- 68, 68, 1077, 1080, 68, 1084, 68, 1079, 1094, 1082,
- 68, 68, 1081, 1091, 68, 1088, 1083, 1382, 1095, 1087,
- 1089, 1085, 68, 68, 68, 1097, 1092, 1098, 68, 1093,
- 1100, 1096, 1101, 68, 1099, 1094, 68, 68, 1382, 1102,
- 1091, 1103, 1088, 68, 68, 1095, 68, 68, 68, 68,
- 1106, 1105, 1097, 1092, 1098, 1107, 1093, 1100, 1096, 1101,
-
- 68, 1099, 68, 1104, 1108, 68, 1102, 1109, 1103, 68,
- 1110, 1112, 1113, 68, 1111, 68, 1114, 68, 1105, 1116,
- 1382, 1117, 1107, 1119, 1115, 68, 1120, 1382, 1121, 1118,
- 1104, 68, 1122, 68, 1109, 68, 68, 1110, 1112, 68,
- 68, 1111, 68, 1114, 68, 68, 68, 68, 1117, 68,
- 1119, 1115, 1124, 1120, 68, 1121, 1118, 1123, 68, 1122,
- 68, 1125, 1126, 1127, 68, 1128, 1129, 1130, 1382, 68,
- 68, 1131, 68, 1132, 1382, 1134, 1135, 1133, 1136, 1124,
- 68, 1138, 1137, 1139, 1123, 1141, 1142, 68, 1125, 1126,
- 1127, 68, 1128, 1129, 68, 68, 68, 1144, 1131, 1140,
-
- 1132, 68, 1134, 68, 1133, 68, 1143, 68, 68, 1137,
- 68, 1145, 68, 68, 68, 1146, 1147, 1153, 1148, 68,
- 1149, 1154, 1150, 68, 1144, 1151, 1140, 68, 1155, 68,
- 1156, 1157, 68, 1143, 1158, 1159, 1382, 1161, 68, 1160,
- 1152, 68, 1146, 68, 68, 1148, 68, 1149, 1154, 1150,
- 1165, 68, 1151, 68, 68, 68, 1163, 68, 1157, 68,
- 68, 1158, 1159, 1162, 1161, 68, 1160, 1152, 1164, 1166,
- 68, 1167, 68, 1168, 68, 1169, 1170, 1165, 1171, 1174,
- 1177, 68, 1173, 1163, 1172, 68, 1175, 1181, 1382, 68,
- 1162, 68, 68, 1179, 1176, 1164, 1166, 1180, 1167, 68,
-
- 1168, 1178, 68, 1170, 1182, 1171, 68, 1177, 68, 1173,
- 68, 1172, 68, 1175, 68, 1183, 68, 68, 1184, 68,
- 1179, 1176, 1185, 1186, 1180, 1187, 1188, 68, 1178, 1189,
- 68, 1182, 1190, 68, 1191, 1192, 1382, 1193, 1194, 68,
- 1197, 1195, 1183, 1196, 68, 68, 68, 1199, 68, 1185,
- 1186, 68, 1187, 1188, 1198, 68, 1189, 68, 1200, 68,
- 1201, 1191, 1192, 68, 1193, 1194, 68, 68, 1195, 68,
- 1196, 1202, 1203, 1204, 68, 1206, 68, 1382, 68, 1205,
- 1208, 1198, 1207, 68, 1211, 68, 1210, 1212, 1213, 1382,
- 1209, 68, 1382, 1382, 1382, 1214, 1220, 68, 1202, 1203,
-
- 1204, 68, 68, 68, 68, 68, 1205, 1208, 68, 1207,
- 68, 68, 1215, 1210, 68, 68, 1216, 1209, 1217, 1218,
- 1219, 68, 1214, 68, 1221, 1222, 68, 68, 1223, 1225,
- 1224, 68, 68, 68, 68, 68, 1226, 1228, 1229, 1215,
- 1230, 1227, 68, 1216, 68, 1217, 1218, 1219, 1232, 68,
- 68, 1221, 1222, 1231, 1233, 1223, 1225, 1224, 1234, 68,
- 68, 1235, 68, 1226, 1228, 1229, 1238, 68, 1227, 1236,
- 1237, 1240, 1241, 68, 68, 1232, 68, 68, 68, 68,
- 1231, 68, 1239, 1242, 1243, 1234, 1382, 1244, 1235, 1247,
- 68, 1245, 68, 1238, 68, 68, 1236, 1237, 68, 68,
-
- 1246, 1248, 1251, 68, 1252, 1249, 1250, 68, 1253, 1239,
- 1242, 1243, 68, 68, 1244, 68, 1247, 68, 1245, 1254,
- 1382, 1255, 1257, 1258, 1260, 1256, 1261, 1246, 68, 68,
- 68, 1252, 1249, 1250, 1259, 68, 1262, 1263, 68, 1265,
- 68, 1266, 1264, 68, 1267, 68, 68, 68, 1255, 1257,
- 1258, 1260, 1256, 1261, 68, 1268, 68, 1269, 68, 68,
- 1382, 1259, 1271, 1262, 1263, 1270, 68, 1272, 68, 1264,
- 1274, 1273, 1275, 1382, 1276, 68, 1382, 68, 1277, 1280,
- 1282, 1382, 68, 1382, 68, 68, 1281, 68, 68, 1271,
- 68, 68, 1270, 1283, 1272, 1278, 68, 1274, 1273, 1275,
-
- 68, 1276, 1279, 68, 68, 1277, 68, 68, 1284, 1285,
- 68, 1286, 68, 1281, 1287, 1290, 1288, 1382, 1289, 1291,
- 1283, 1292, 1278, 68, 1293, 68, 1295, 68, 1296, 1279,
- 68, 1297, 1298, 68, 1294, 1284, 1285, 1300, 1286, 68,
- 1302, 68, 1290, 1288, 68, 1289, 68, 68, 68, 1304,
- 1382, 1293, 1299, 68, 68, 68, 68, 68, 1297, 1298,
- 68, 1294, 1301, 1303, 1300, 1305, 68, 1302, 1306, 68,
- 68, 68, 68, 1307, 68, 1308, 1304, 1309, 1310, 1299,
- 1311, 1313, 68, 1312, 1316, 1314, 68, 68, 1382, 1301,
- 1303, 68, 1305, 1317, 1315, 1306, 1318, 1320, 1319, 68,
-
- 1307, 68, 1308, 68, 1309, 1310, 68, 68, 1313, 68,
- 1312, 1316, 1314, 1321, 1324, 68, 68, 1323, 1322, 68,
- 1317, 1315, 68, 1318, 1320, 1319, 68, 1326, 1325, 68,
- 1328, 68, 1330, 68, 1327, 1331, 1329, 1332, 68, 1334,
- 1321, 68, 68, 68, 1323, 1322, 68, 1333, 1337, 68,
- 1338, 1336, 1340, 1335, 1326, 1325, 68, 1328, 68, 1330,
- 68, 1327, 1331, 1329, 68, 1339, 68, 68, 1342, 68,
- 1343, 1344, 1382, 68, 1333, 68, 1341, 68, 1336, 1340,
- 1335, 1345, 1347, 68, 1348, 68, 1346, 1349, 1350, 68,
- 1351, 1352, 1339, 1353, 1354, 68, 1357, 1343, 68, 68,
-
- 1355, 1382, 1382, 1341, 68, 1356, 1358, 1359, 1345, 1347,
- 1382, 68, 68, 1346, 68, 68, 1361, 1351, 68, 68,
- 1353, 68, 68, 68, 68, 1362, 1363, 1355, 68, 68,
- 1360, 1364, 1356, 1358, 1359, 1365, 1367, 68, 1366, 1368,
- 1369, 1370, 1371, 68, 1372, 68, 1373, 1374, 68, 1375,
- 68, 1376, 1362, 68, 68, 1381, 68, 1360, 1364, 68,
- 1382, 1377, 68, 1367, 1379, 1366, 68, 68, 68, 68,
- 68, 1372, 68, 1373, 1374, 1378, 1375, 68, 68, 68,
- 1382, 1380, 68, 1382, 1382, 1382, 1382, 68, 1377, 68,
- 1382, 1379, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
-
- 1382, 1382, 1378, 1382, 1382, 1382, 1382, 1382, 1380, 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, 1382, 71, 71, 71,
- 71, 122, 122, 1382, 1382, 1382, 122, 122, 124, 124,
- 1382, 1382, 124, 1382, 124, 126, 1382, 1382, 1382, 1382,
- 1382, 126, 129, 129, 1382, 1382, 1382, 129, 129, 131,
- 1382, 1382, 1382, 1382, 1382, 131, 133, 133, 1382, 133,
- 133, 133, 133, 72, 72, 1382, 72, 72, 72, 72,
-
- 13, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382
+ 63, 64, 76, 86, 94, 73, 68, 96, 68, 65,
+ 85, 74, 75, 133, 77, 65, 68, 88, 68, 68,
+ 131, 78, 123, 123, 95, 89, 129, 66, 79, 76,
+ 86, 94, 125, 66, 96, 125, 65, 130, 130, 128,
+ 68, 77, 65, 68, 88, 138, 68, 90, 78, 119,
+ 91, 95, 89, 97, 120, 79, 80, 92, 104, 93,
+
+ 81, 98, 68, 82, 68, 83, 84, 99, 68, 101,
+ 68, 100, 138, 102, 90, 126, 119, 91, 68, 68,
+ 97, 120, 274, 80, 92, 104, 93, 81, 98, 103,
+ 82, 153, 83, 84, 99, 68, 101, 105, 100, 109,
+ 102, 124, 116, 106, 117, 127, 107, 127, 127, 110,
+ 127, 68, 111, 108, 68, 68, 103, 212, 153, 118,
+ 72, 68, 72, 72, 105, 72, 109, 112, 68, 116,
+ 106, 117, 136, 107, 121, 68, 110, 113, 122, 111,
+ 108, 114, 115, 68, 212, 133, 118, 133, 132, 68,
+ 132, 132, 131, 132, 112, 129, 139, 135, 137, 136,
+
+ 68, 121, 140, 68, 113, 122, 145, 128, 114, 115,
+ 67, 68, 67, 67, 72, 67, 72, 72, 141, 72,
+ 67, 142, 68, 139, 72, 137, 68, 68, 143, 140,
+ 144, 149, 146, 145, 68, 147, 126, 151, 152, 68,
+ 68, 154, 150, 68, 68, 141, 68, 68, 142, 68,
+ 124, 73, 148, 156, 155, 143, 157, 144, 149, 146,
+ 159, 167, 252, 68, 151, 152, 68, 68, 154, 150,
+ 158, 163, 161, 165, 160, 164, 68, 68, 68, 148,
+ 156, 155, 68, 157, 68, 168, 170, 68, 167, 252,
+ 166, 68, 162, 169, 68, 68, 171, 158, 163, 161,
+
+ 165, 160, 164, 68, 172, 68, 68, 68, 182, 173,
+ 68, 68, 168, 170, 177, 174, 178, 166, 175, 162,
+ 169, 68, 176, 171, 68, 179, 180, 1610, 1610, 181,
+ 68, 172, 68, 183, 68, 184, 173, 68, 68, 68,
+ 68, 177, 174, 178, 189, 175, 187, 1610, 68, 176,
+ 186, 192, 179, 180, 191, 185, 181, 68, 188, 68,
+ 183, 68, 184, 193, 68, 190, 68, 1610, 1610, 68,
+ 1610, 189, 68, 187, 196, 194, 68, 186, 192, 195,
+ 1610, 191, 185, 204, 127, 188, 127, 127, 1610, 127,
+ 193, 132, 190, 132, 132, 72, 132, 72, 72, 133,
+
+ 72, 68, 194, 197, 198, 68, 195, 199, 201, 200,
+ 213, 203, 1610, 202, 68, 68, 68, 1610, 68, 68,
+ 205, 1610, 214, 68, 215, 217, 222, 216, 68, 218,
+ 197, 198, 135, 68, 199, 68, 200, 213, 203, 68,
+ 202, 206, 68, 219, 68, 227, 1610, 68, 68, 214,
+ 68, 215, 217, 222, 216, 68, 218, 220, 1610, 1610,
+ 221, 223, 1610, 224, 225, 1610, 226, 231, 206, 207,
+ 219, 68, 68, 228, 208, 233, 68, 68, 234, 209,
+ 236, 68, 1610, 68, 220, 210, 211, 221, 223, 68,
+ 224, 225, 68, 226, 229, 235, 207, 232, 68, 68,
+
+ 228, 208, 233, 237, 230, 239, 209, 1610, 238, 68,
+ 1610, 68, 210, 211, 240, 68, 241, 68, 242, 243,
+ 246, 68, 235, 68, 232, 68, 68, 244, 68, 245,
+ 250, 230, 239, 251, 68, 238, 68, 68, 68, 68,
+ 68, 240, 68, 241, 247, 242, 243, 246, 253, 68,
+ 248, 249, 254, 257, 244, 255, 245, 256, 260, 68,
+ 251, 68, 1610, 68, 258, 267, 263, 269, 68, 1610,
+ 266, 247, 68, 261, 1610, 253, 68, 248, 249, 68,
+ 257, 133, 255, 68, 256, 265, 259, 68, 264, 68,
+ 262, 268, 267, 263, 269, 68, 68, 270, 68, 272,
+
+ 261, 68, 273, 68, 68, 271, 279, 68, 275, 282,
+ 276, 277, 265, 259, 283, 264, 68, 262, 268, 278,
+ 280, 281, 68, 68, 270, 284, 272, 68, 68, 273,
+ 68, 68, 271, 279, 68, 275, 68, 276, 277, 68,
+ 68, 283, 285, 68, 286, 288, 278, 280, 281, 287,
+ 293, 68, 284, 289, 68, 291, 68, 290, 292, 68,
+ 295, 300, 296, 294, 68, 1610, 1610, 68, 297, 285,
+ 306, 68, 288, 68, 1610, 68, 287, 293, 68, 68,
+ 289, 68, 291, 68, 290, 292, 68, 302, 300, 296,
+ 294, 68, 301, 298, 303, 297, 299, 68, 68, 304,
+
+ 305, 68, 308, 68, 307, 309, 310, 311, 312, 68,
+ 317, 1610, 68, 314, 302, 313, 327, 1610, 68, 301,
+ 298, 303, 319, 299, 68, 68, 304, 305, 68, 308,
+ 328, 307, 309, 310, 311, 68, 315, 68, 316, 68,
+ 314, 68, 313, 318, 68, 68, 322, 68, 68, 319,
+ 68, 320, 68, 321, 326, 323, 329, 328, 324, 68,
+ 325, 330, 68, 315, 331, 316, 68, 1610, 68, 349,
+ 318, 332, 68, 322, 1610, 68, 68, 333, 320, 335,
+ 321, 326, 323, 329, 68, 324, 346, 325, 330, 344,
+ 343, 331, 68, 334, 68, 1610, 347, 345, 332, 351,
+
+ 68, 68, 68, 133, 333, 348, 335, 68, 68, 353,
+ 437, 68, 68, 346, 1610, 352, 344, 343, 350, 356,
+ 334, 336, 337, 347, 345, 68, 351, 68, 355, 354,
+ 358, 338, 348, 339, 340, 341, 68, 68, 342, 1610,
+ 68, 68, 352, 357, 361, 350, 68, 1610, 336, 337,
+ 68, 68, 68, 366, 68, 355, 354, 358, 338, 364,
+ 339, 340, 341, 359, 360, 342, 362, 363, 368, 369,
+ 357, 361, 68, 365, 367, 1610, 68, 68, 68, 371,
+ 366, 68, 370, 68, 1610, 372, 364, 68, 373, 375,
+ 374, 377, 68, 362, 363, 368, 369, 68, 68, 378,
+
+ 365, 367, 376, 381, 380, 379, 371, 68, 68, 370,
+ 382, 68, 372, 400, 68, 373, 68, 374, 377, 68,
+ 68, 68, 383, 68, 384, 385, 378, 386, 387, 376,
+ 68, 380, 379, 389, 68, 388, 391, 382, 390, 68,
+ 68, 68, 68, 393, 68, 397, 1610, 392, 68, 383,
+ 68, 384, 385, 68, 386, 387, 394, 398, 68, 68,
+ 389, 68, 388, 391, 68, 390, 68, 399, 395, 396,
+ 393, 68, 397, 401, 392, 68, 68, 405, 404, 68,
+ 402, 403, 68, 394, 398, 68, 68, 68, 406, 68,
+ 408, 407, 1610, 1610, 399, 395, 396, 1610, 68, 1610,
+
+ 401, 68, 68, 415, 405, 404, 414, 402, 403, 1610,
+ 68, 416, 418, 68, 68, 406, 419, 408, 407, 409,
+ 417, 1610, 420, 68, 410, 421, 411, 68, 422, 423,
+ 415, 1610, 426, 414, 412, 424, 68, 433, 428, 418,
+ 68, 68, 68, 419, 413, 68, 409, 417, 68, 420,
+ 68, 410, 421, 411, 68, 422, 423, 425, 427, 426,
+ 68, 412, 424, 68, 429, 428, 430, 431, 68, 68,
+ 448, 413, 432, 434, 68, 436, 445, 435, 441, 68,
+ 446, 438, 68, 439, 425, 427, 68, 440, 68, 68,
+ 68, 429, 442, 430, 431, 133, 68, 68, 68, 432,
+
+ 434, 447, 436, 449, 435, 441, 443, 68, 438, 444,
+ 439, 68, 450, 451, 440, 68, 68, 68, 452, 442,
+ 453, 454, 455, 456, 457, 1610, 461, 68, 447, 458,
+ 68, 459, 460, 443, 463, 1610, 444, 467, 462, 68,
+ 68, 469, 1610, 68, 68, 68, 68, 68, 454, 455,
+ 456, 68, 68, 68, 471, 68, 458, 68, 459, 460,
+ 68, 463, 464, 68, 467, 462, 468, 465, 472, 470,
+ 474, 466, 68, 477, 475, 68, 479, 476, 68, 1610,
+ 1610, 471, 491, 483, 68, 480, 68, 68, 68, 464,
+ 473, 68, 68, 468, 465, 472, 470, 474, 466, 68,
+
+ 477, 475, 481, 478, 476, 68, 68, 68, 482, 485,
+ 483, 484, 480, 68, 1610, 486, 487, 473, 68, 488,
+ 68, 489, 68, 1610, 493, 490, 68, 492, 1610, 481,
+ 478, 497, 68, 1610, 499, 482, 485, 68, 484, 494,
+ 68, 68, 486, 487, 509, 68, 488, 498, 68, 495,
+ 504, 493, 68, 496, 492, 68, 68, 502, 497, 68,
+ 500, 499, 501, 503, 505, 68, 494, 506, 1610, 68,
+ 68, 68, 507, 68, 498, 68, 508, 504, 510, 68,
+ 68, 68, 68, 511, 502, 512, 68, 500, 68, 501,
+ 503, 505, 514, 515, 506, 513, 518, 1610, 516, 507,
+
+ 1610, 517, 519, 508, 68, 510, 68, 520, 68, 68,
+ 511, 68, 512, 521, 68, 68, 68, 522, 524, 514,
+ 515, 523, 513, 518, 68, 516, 528, 68, 517, 519,
+ 68, 525, 527, 526, 520, 68, 530, 1610, 68, 68,
+ 521, 529, 68, 531, 522, 524, 68, 535, 523, 68,
+ 68, 532, 533, 528, 133, 548, 550, 534, 525, 527,
+ 526, 1610, 68, 530, 68, 545, 536, 537, 529, 68,
+ 531, 539, 538, 68, 535, 68, 68, 68, 532, 546,
+ 68, 68, 548, 68, 534, 547, 68, 68, 549, 68,
+ 1610, 557, 545, 536, 537, 1610, 558, 560, 539, 538,
+
+ 540, 561, 1610, 68, 541, 68, 546, 542, 559, 562,
+ 68, 68, 547, 68, 543, 549, 563, 544, 557, 1610,
+ 1610, 68, 68, 558, 560, 564, 567, 540, 68, 68,
+ 565, 541, 570, 568, 542, 559, 562, 68, 569, 566,
+ 68, 543, 68, 563, 544, 551, 68, 552, 68, 571,
+ 553, 68, 564, 567, 575, 554, 68, 565, 574, 570,
+ 568, 555, 556, 68, 573, 569, 566, 572, 576, 577,
+ 68, 578, 551, 68, 552, 68, 571, 553, 580, 68,
+ 68, 68, 554, 579, 581, 574, 583, 582, 555, 556,
+ 585, 573, 584, 587, 572, 68, 68, 68, 578, 68,
+
+ 68, 586, 589, 68, 68, 580, 591, 588, 68, 590,
+ 579, 581, 68, 583, 582, 68, 596, 68, 592, 584,
+ 68, 595, 68, 593, 68, 610, 68, 68, 586, 589,
+ 68, 594, 68, 591, 588, 597, 590, 598, 68, 601,
+ 602, 68, 600, 596, 68, 592, 599, 68, 595, 68,
+ 593, 68, 603, 605, 607, 1610, 68, 68, 594, 606,
+ 604, 68, 597, 68, 598, 609, 601, 602, 68, 600,
+ 608, 68, 68, 599, 611, 68, 612, 68, 68, 603,
+ 605, 607, 613, 614, 615, 616, 606, 604, 617, 618,
+ 68, 68, 609, 622, 619, 620, 624, 608, 68, 68,
+
+ 623, 625, 621, 612, 68, 68, 68, 68, 627, 613,
+ 614, 615, 616, 626, 68, 617, 68, 640, 68, 630,
+ 68, 619, 620, 68, 68, 68, 628, 623, 133, 621,
+ 629, 68, 68, 68, 68, 627, 636, 1610, 637, 68,
+ 626, 638, 639, 68, 640, 649, 630, 643, 641, 642,
+ 68, 68, 1610, 628, 68, 652, 1610, 629, 631, 68,
+ 632, 68, 68, 636, 633, 637, 634, 644, 638, 639,
+ 68, 635, 649, 645, 643, 641, 642, 647, 665, 68,
+ 1610, 651, 68, 646, 648, 631, 68, 632, 650, 1610,
+ 658, 633, 1610, 634, 644, 68, 657, 68, 635, 68,
+
+ 645, 68, 68, 68, 647, 68, 667, 653, 651, 659,
+ 646, 648, 654, 661, 655, 650, 660, 658, 68, 662,
+ 664, 669, 666, 657, 68, 1610, 668, 1610, 68, 68,
+ 671, 663, 656, 68, 653, 68, 659, 68, 68, 654,
+ 661, 655, 68, 660, 68, 68, 662, 664, 669, 666,
+ 68, 670, 68, 668, 672, 673, 674, 671, 663, 656,
+ 676, 677, 68, 675, 68, 68, 678, 68, 679, 680,
+ 681, 1610, 1610, 68, 68, 687, 683, 68, 670, 68,
+ 682, 672, 673, 674, 68, 68, 684, 676, 677, 685,
+ 675, 686, 68, 678, 688, 693, 680, 681, 68, 68,
+
+ 689, 68, 687, 683, 690, 694, 696, 682, 68, 68,
+ 703, 68, 691, 684, 695, 692, 685, 68, 686, 68,
+ 697, 68, 693, 698, 699, 68, 68, 700, 702, 701,
+ 68, 68, 694, 696, 704, 705, 706, 68, 68, 691,
+ 68, 695, 692, 717, 68, 68, 68, 697, 68, 68,
+ 698, 699, 68, 711, 700, 702, 701, 707, 709, 708,
+ 68, 704, 705, 706, 710, 68, 68, 68, 712, 714,
+ 713, 715, 718, 716, 68, 68, 1610, 719, 68, 68,
+ 711, 720, 1610, 1610, 707, 709, 708, 68, 68, 68,
+ 68, 710, 722, 68, 721, 712, 714, 713, 715, 723,
+
+ 716, 725, 68, 68, 719, 68, 726, 727, 68, 728,
+ 68, 68, 729, 731, 68, 68, 732, 730, 733, 722,
+ 68, 721, 1610, 734, 68, 68, 723, 1610, 725, 68,
+ 735, 737, 741, 726, 727, 736, 728, 1610, 740, 729,
+ 731, 1610, 738, 68, 730, 68, 68, 68, 68, 68,
+ 734, 739, 742, 68, 68, 743, 749, 735, 737, 68,
+ 744, 68, 736, 68, 745, 740, 746, 68, 748, 738,
+ 1610, 751, 747, 1610, 752, 750, 68, 753, 739, 742,
+ 68, 68, 743, 749, 68, 68, 754, 744, 68, 68,
+ 68, 745, 68, 746, 756, 748, 68, 755, 751, 747,
+
+ 757, 752, 750, 758, 753, 68, 761, 759, 68, 1610,
+ 760, 763, 1610, 754, 68, 68, 762, 68, 68, 68,
+ 68, 756, 68, 764, 755, 68, 768, 757, 765, 766,
+ 758, 767, 769, 761, 759, 770, 68, 760, 763, 771,
+ 68, 772, 778, 762, 68, 68, 68, 773, 779, 68,
+ 764, 774, 775, 776, 68, 765, 766, 68, 767, 769,
+ 68, 780, 770, 68, 777, 781, 771, 68, 772, 782,
+ 787, 783, 784, 68, 68, 779, 786, 785, 68, 775,
+ 776, 788, 68, 68, 789, 68, 790, 68, 780, 68,
+ 68, 777, 781, 1610, 68, 68, 782, 796, 783, 784,
+
+ 795, 68, 797, 786, 785, 799, 68, 801, 1610, 68,
+ 791, 789, 68, 790, 68, 792, 68, 793, 68, 794,
+ 68, 798, 802, 800, 796, 805, 68, 795, 68, 797,
+ 68, 68, 799, 807, 801, 68, 803, 791, 804, 806,
+ 68, 811, 792, 808, 793, 68, 794, 809, 798, 802,
+ 800, 68, 68, 810, 813, 812, 814, 815, 818, 824,
+ 68, 68, 68, 803, 816, 804, 806, 68, 68, 68,
+ 808, 68, 817, 819, 809, 820, 822, 68, 68, 821,
+ 810, 68, 812, 814, 68, 818, 825, 823, 68, 826,
+ 68, 816, 827, 830, 68, 68, 834, 68, 831, 817,
+
+ 819, 68, 820, 822, 828, 829, 821, 68, 832, 68,
+ 838, 68, 835, 68, 823, 68, 826, 68, 1610, 68,
+ 830, 837, 68, 68, 833, 68, 836, 68, 68, 846,
+ 68, 828, 829, 68, 839, 832, 68, 838, 840, 835,
+ 68, 68, 842, 841, 843, 844, 68, 68, 837, 845,
+ 848, 833, 68, 836, 847, 849, 846, 850, 852, 853,
+ 851, 839, 854, 68, 1610, 840, 68, 68, 68, 842,
+ 841, 843, 856, 68, 68, 68, 68, 848, 859, 1610,
+ 863, 847, 849, 68, 855, 852, 853, 851, 68, 854,
+ 858, 857, 68, 68, 68, 860, 862, 68, 861, 856,
+
+ 68, 68, 864, 874, 68, 859, 68, 863, 865, 68,
+ 68, 855, 866, 869, 867, 868, 870, 858, 857, 875,
+ 1610, 872, 860, 862, 68, 861, 871, 68, 68, 864,
+ 68, 68, 68, 873, 68, 865, 68, 876, 877, 866,
+ 869, 867, 868, 870, 878, 879, 880, 68, 872, 883,
+ 68, 884, 881, 871, 68, 68, 882, 1610, 68, 68,
+ 873, 885, 887, 68, 876, 68, 68, 886, 68, 68,
+ 68, 878, 879, 880, 888, 889, 68, 890, 884, 1610,
+ 894, 895, 891, 68, 892, 68, 896, 68, 885, 887,
+ 68, 893, 68, 68, 886, 68, 897, 898, 68, 68,
+
+ 900, 888, 899, 901, 890, 902, 68, 894, 895, 891,
+ 903, 892, 68, 896, 68, 907, 904, 905, 893, 68,
+ 909, 68, 68, 897, 898, 68, 906, 900, 910, 899,
+ 901, 911, 902, 68, 912, 1610, 908, 68, 68, 913,
+ 68, 914, 68, 904, 905, 68, 68, 909, 915, 917,
+ 919, 68, 916, 906, 68, 910, 918, 921, 920, 926,
+ 922, 68, 68, 908, 68, 68, 68, 68, 914, 68,
+ 68, 923, 68, 924, 68, 915, 917, 919, 68, 916,
+ 925, 927, 68, 918, 68, 920, 926, 922, 928, 68,
+ 929, 930, 937, 931, 932, 933, 68, 68, 923, 68,
+
+ 924, 68, 68, 935, 68, 934, 938, 925, 927, 936,
+ 68, 939, 68, 68, 940, 928, 941, 929, 930, 68,
+ 931, 932, 933, 68, 68, 943, 942, 944, 68, 68,
+ 935, 68, 934, 938, 949, 950, 936, 68, 939, 945,
+ 951, 68, 68, 941, 946, 954, 68, 947, 952, 955,
+ 956, 68, 943, 942, 944, 957, 961, 68, 68, 948,
+ 68, 953, 950, 68, 68, 68, 945, 951, 68, 68,
+ 68, 946, 954, 958, 947, 952, 68, 956, 959, 960,
+ 68, 68, 957, 961, 963, 68, 948, 962, 953, 965,
+ 964, 968, 966, 969, 971, 967, 970, 1610, 68, 68,
+
+ 958, 68, 68, 975, 68, 959, 960, 974, 68, 68,
+ 68, 68, 68, 68, 962, 68, 965, 964, 968, 966,
+ 969, 972, 967, 970, 973, 68, 976, 979, 68, 977,
+ 975, 68, 978, 980, 974, 982, 985, 981, 68, 983,
+ 984, 989, 990, 1610, 68, 1610, 68, 68, 972, 1610,
+ 68, 973, 986, 976, 979, 987, 977, 68, 68, 978,
+ 68, 68, 982, 985, 981, 988, 983, 984, 991, 68,
+ 68, 992, 68, 997, 994, 68, 995, 993, 68, 986,
+ 996, 999, 987, 68, 1000, 68, 68, 68, 1002, 68,
+ 68, 998, 988, 1003, 1005, 991, 1001, 1006, 992, 68,
+
+ 997, 994, 68, 995, 993, 68, 1004, 996, 999, 1009,
+ 1007, 68, 1010, 68, 68, 68, 1008, 1610, 998, 68,
+ 1003, 1011, 1013, 1001, 1006, 68, 68, 1012, 68, 1014,
+ 68, 1016, 1015, 1004, 68, 68, 1009, 1007, 68, 1010,
+ 68, 68, 1017, 1008, 1018, 1019, 1020, 1022, 1011, 1023,
+ 1024, 68, 1021, 68, 1012, 1028, 1014, 1032, 1016, 1015,
+ 1033, 68, 1025, 1026, 1610, 68, 68, 68, 68, 1017,
+ 68, 1018, 1019, 1020, 1022, 68, 1023, 68, 68, 1021,
+ 1027, 1029, 1030, 1031, 68, 1034, 68, 68, 1035, 1025,
+ 1026, 68, 1037, 1038, 1040, 68, 68, 1610, 1036, 1047,
+
+ 1041, 1039, 1046, 68, 68, 1042, 68, 1027, 1029, 1030,
+ 1031, 68, 1034, 68, 68, 68, 68, 1044, 1043, 1037,
+ 1038, 1040, 68, 68, 68, 1036, 1045, 1041, 1039, 68,
+ 68, 1048, 1042, 1049, 1051, 1050, 1052, 68, 68, 1053,
+ 1054, 68, 68, 68, 1044, 1043, 1055, 1056, 1057, 1059,
+ 1610, 1061, 1610, 1045, 1060, 1058, 68, 1062, 1048, 1063,
+ 1049, 68, 1050, 1052, 68, 1610, 68, 68, 1067, 1068,
+ 1071, 68, 1072, 68, 1056, 68, 68, 68, 68, 68,
+ 68, 1060, 1058, 68, 1062, 1064, 1069, 1065, 1070, 1075,
+ 68, 1073, 1066, 68, 68, 1067, 1068, 68, 1074, 1072,
+
+ 68, 1076, 1078, 1079, 1610, 68, 1081, 68, 1077, 1080,
+ 68, 1085, 1064, 1069, 1065, 1070, 1075, 68, 1073, 1066,
+ 68, 68, 68, 1082, 68, 1074, 1083, 1084, 68, 1078,
+ 1079, 1086, 68, 1081, 1088, 1077, 1080, 68, 68, 1087,
+ 1089, 1091, 68, 1092, 1093, 1090, 1096, 1097, 68, 68,
+ 1082, 1100, 68, 1083, 1084, 68, 1095, 1094, 1086, 68,
+ 1098, 68, 68, 68, 68, 1099, 1087, 1089, 1091, 68,
+ 1092, 1093, 1090, 1096, 68, 1101, 68, 68, 68, 1103,
+ 1102, 68, 1104, 1095, 1094, 1105, 1107, 1098, 1109, 1106,
+ 1610, 1110, 1099, 68, 1108, 68, 1111, 1112, 1113, 1114,
+
+ 1115, 68, 1101, 68, 1117, 1119, 1120, 1102, 1610, 68,
+ 68, 68, 1118, 68, 1116, 1109, 68, 68, 1121, 68,
+ 68, 1108, 68, 1111, 1112, 1113, 1114, 68, 1122, 68,
+ 1123, 68, 1119, 68, 1128, 68, 1125, 1124, 1126, 1118,
+ 1129, 1116, 1130, 1132, 1127, 68, 1610, 68, 1135, 68,
+ 1133, 68, 68, 68, 68, 1122, 1134, 1123, 68, 68,
+ 68, 68, 1610, 1125, 1124, 1126, 1131, 1129, 1136, 1130,
+ 1132, 1127, 1140, 68, 1137, 68, 1141, 1133, 68, 68,
+ 1139, 68, 1142, 1134, 1143, 1138, 1144, 1146, 1145, 68,
+ 68, 1147, 1148, 1131, 68, 1136, 1610, 68, 68, 1140,
+
+ 68, 1137, 1149, 1141, 1151, 1610, 1153, 1139, 1154, 68,
+ 1155, 1143, 1138, 68, 1146, 1145, 68, 68, 1147, 68,
+ 1150, 68, 68, 68, 1156, 68, 1152, 68, 1158, 1149,
+ 68, 1151, 68, 1153, 1157, 1154, 68, 1155, 1159, 1160,
+ 1161, 68, 1163, 1162, 1164, 68, 1165, 1150, 68, 1166,
+ 68, 1156, 1171, 1152, 1610, 1158, 68, 1167, 68, 1168,
+ 1610, 1157, 1175, 68, 1610, 1159, 1160, 1161, 68, 68,
+ 1162, 1164, 1172, 1165, 68, 1170, 1166, 1173, 1169, 68,
+ 1174, 68, 68, 68, 1167, 68, 1168, 68, 1176, 68,
+ 1180, 1179, 1177, 68, 68, 1178, 1181, 1610, 1182, 1172,
+
+ 1184, 1610, 1170, 68, 1173, 1169, 1183, 1174, 68, 1187,
+ 68, 68, 1192, 1188, 68, 1176, 68, 1180, 1179, 1177,
+ 68, 1186, 1178, 1181, 1185, 1182, 1189, 1184, 68, 1191,
+ 68, 68, 68, 1183, 68, 1190, 1187, 68, 68, 68,
+ 1188, 1193, 1194, 1196, 1195, 1197, 1198, 68, 1186, 1199,
+ 1202, 1185, 68, 1189, 1203, 1200, 1191, 1201, 1206, 68,
+ 68, 1205, 1190, 1204, 1208, 1610, 68, 68, 1193, 68,
+ 1196, 1195, 1197, 1198, 68, 68, 68, 68, 68, 1211,
+ 68, 1203, 1200, 68, 1201, 68, 68, 1207, 1205, 68,
+ 1204, 1208, 1209, 1210, 1212, 1214, 68, 1213, 1216, 1610,
+
+ 1215, 68, 1610, 68, 1217, 68, 1211, 1219, 68, 1221,
+ 68, 1218, 68, 1220, 1207, 68, 68, 68, 1223, 1209,
+ 1210, 1212, 68, 68, 1213, 1216, 68, 1215, 1225, 1222,
+ 1226, 1217, 1227, 68, 1219, 68, 1221, 1224, 1218, 1228,
+ 1220, 1229, 1230, 68, 1231, 1223, 68, 1232, 1233, 1234,
+ 1235, 1236, 1237, 68, 68, 68, 1222, 1226, 68, 1227,
+ 1239, 68, 1238, 1240, 1224, 1241, 1228, 68, 1229, 68,
+ 68, 68, 1242, 68, 1232, 68, 68, 1235, 68, 68,
+ 1244, 1245, 68, 1246, 1243, 1248, 1249, 1239, 1250, 1238,
+ 68, 1251, 1241, 68, 68, 1252, 68, 1253, 1247, 68,
+
+ 1610, 68, 1254, 1258, 1255, 68, 1256, 1244, 1245, 68,
+ 1246, 1243, 68, 1249, 1257, 68, 68, 68, 68, 68,
+ 68, 1259, 1252, 68, 1253, 1247, 1261, 68, 68, 1254,
+ 1258, 1255, 1260, 1256, 1262, 1265, 1264, 1263, 68, 1270,
+ 1267, 1257, 1266, 1610, 1268, 1610, 1269, 68, 1259, 68,
+ 1271, 1277, 68, 1261, 68, 68, 1273, 1275, 1272, 1260,
+ 1274, 1262, 68, 1264, 1263, 68, 68, 1267, 68, 1266,
+ 68, 1268, 68, 1269, 1276, 68, 68, 1271, 68, 1278,
+ 1279, 68, 1280, 1273, 1275, 1272, 1282, 1274, 1281, 1283,
+ 1610, 1284, 1610, 68, 1610, 1286, 68, 68, 1285, 68,
+
+ 1287, 1276, 1288, 68, 1289, 1290, 68, 1279, 68, 1280,
+ 1293, 68, 1292, 1282, 1610, 1281, 1283, 68, 1284, 68,
+ 1304, 68, 1286, 1291, 68, 1285, 1294, 68, 68, 1288,
+ 68, 1289, 1290, 1295, 68, 1296, 1297, 1300, 1610, 1292,
+ 1298, 68, 1299, 1610, 68, 1302, 1303, 68, 1301, 1307,
+ 1291, 68, 1305, 1294, 68, 68, 1309, 68, 1308, 1310,
+ 1295, 1312, 1296, 1297, 68, 68, 1306, 1298, 68, 1299,
+ 68, 1311, 68, 68, 68, 1301, 1307, 68, 68, 1305,
+ 68, 68, 1313, 68, 1314, 1308, 1310, 1315, 1312, 1316,
+ 1317, 1318, 1319, 1306, 1610, 1320, 68, 1321, 1311, 1322,
+
+ 68, 1323, 1324, 1329, 68, 68, 68, 68, 68, 1313,
+ 68, 68, 68, 1325, 68, 1334, 68, 1317, 1318, 1319,
+ 1327, 68, 1320, 1328, 1321, 1330, 1322, 68, 1323, 68,
+ 1329, 68, 1326, 68, 1331, 1332, 1333, 68, 68, 1335,
+ 1325, 1338, 68, 68, 1336, 1343, 68, 1327, 68, 1337,
+ 1328, 1339, 1330, 68, 68, 1341, 1344, 68, 68, 1326,
+ 1340, 1331, 1332, 1333, 68, 1342, 1335, 68, 1338, 68,
+ 1346, 1336, 68, 1345, 68, 1347, 1337, 1348, 1339, 68,
+ 1350, 1349, 1341, 1344, 68, 68, 1351, 1340, 68, 68,
+ 1610, 68, 1342, 1352, 1354, 1353, 1610, 1346, 1355, 1357,
+
+ 1345, 68, 1347, 68, 1348, 68, 68, 68, 1349, 1356,
+ 1358, 1361, 1359, 1610, 1363, 1364, 68, 68, 1360, 1610,
+ 1352, 1354, 1353, 68, 68, 1355, 1357, 68, 1365, 1366,
+ 1367, 1368, 1362, 1376, 68, 1377, 1356, 68, 68, 1359,
+ 68, 68, 68, 1369, 1370, 1360, 1373, 1371, 68, 1372,
+ 1374, 1375, 68, 68, 68, 1365, 1366, 1367, 1368, 1362,
+ 68, 68, 68, 68, 1378, 68, 68, 1379, 68, 1380,
+ 1369, 1370, 68, 1373, 1371, 1381, 1372, 1374, 1375, 1610,
+ 1382, 1384, 1383, 1386, 1610, 1385, 1388, 1610, 1610, 1387,
+ 1389, 1390, 1610, 1610, 68, 68, 68, 68, 1393, 68,
+
+ 1397, 68, 68, 68, 68, 68, 68, 1382, 1384, 1383,
+ 1386, 68, 1385, 1388, 68, 1391, 1387, 1389, 1390, 1392,
+ 1394, 1395, 1396, 1398, 68, 1393, 1399, 68, 1404, 68,
+ 68, 1403, 1400, 68, 1401, 1408, 1402, 68, 68, 1406,
+ 1610, 68, 1391, 1407, 1409, 68, 1392, 1394, 1395, 1396,
+ 1398, 68, 1410, 68, 68, 68, 68, 1405, 1403, 1400,
+ 1411, 1401, 68, 1402, 68, 68, 1406, 68, 1412, 68,
+ 1407, 68, 1413, 1414, 1415, 1416, 1610, 1419, 1421, 68,
+ 1420, 68, 1417, 1418, 1405, 68, 1423, 1411, 1427, 68,
+ 1424, 1610, 68, 1422, 1429, 1412, 68, 68, 68, 68,
+
+ 68, 1415, 1416, 68, 1419, 1421, 68, 1420, 1425, 1417,
+ 1418, 1426, 1428, 68, 68, 1427, 68, 1424, 1430, 68,
+ 1422, 1429, 1432, 68, 1433, 68, 1434, 68, 1431, 68,
+ 1436, 68, 1435, 1437, 1438, 1425, 1439, 1610, 1426, 1428,
+ 68, 68, 1441, 1440, 68, 1430, 1442, 1610, 1443, 1432,
+ 68, 1433, 68, 1434, 68, 1431, 68, 68, 68, 1435,
+ 1437, 1438, 1444, 1439, 1445, 1446, 1447, 1452, 68, 1441,
+ 1440, 1450, 68, 1442, 68, 1443, 1448, 1451, 1449, 68,
+ 68, 1455, 1453, 68, 1454, 1610, 68, 68, 1456, 1444,
+ 68, 1445, 1446, 1447, 68, 1459, 68, 1460, 68, 1457,
+
+ 1461, 68, 68, 1448, 1451, 1449, 68, 1463, 68, 1453,
+ 68, 1454, 1458, 1462, 68, 1456, 1464, 1465, 1466, 68,
+ 68, 68, 1459, 1467, 1460, 68, 1457, 1461, 68, 1468,
+ 1469, 1471, 1473, 1470, 68, 1472, 1474, 1477, 68, 1458,
+ 1462, 68, 68, 1464, 68, 1466, 68, 1475, 1480, 1481,
+ 1467, 68, 1610, 1476, 1478, 1479, 68, 68, 1471, 68,
+ 1470, 68, 1472, 1474, 68, 1482, 1483, 1484, 68, 68,
+ 1485, 1486, 1487, 68, 1475, 68, 68, 1489, 1488, 68,
+ 1476, 1478, 1479, 1490, 1491, 1492, 1494, 1493, 1610, 68,
+ 1610, 1610, 1482, 1483, 1484, 1495, 1496, 68, 68, 68,
+
+ 68, 1504, 1506, 1610, 68, 1488, 68, 68, 1498, 68,
+ 1490, 68, 1492, 68, 1493, 1497, 1502, 68, 68, 68,
+ 1499, 1500, 1495, 1496, 68, 1501, 1503, 1505, 68, 68,
+ 68, 68, 1507, 68, 1508, 1498, 1510, 1509, 68, 1511,
+ 1515, 1610, 1497, 1502, 1512, 68, 68, 1499, 1500, 68,
+ 68, 1514, 1501, 1503, 1505, 68, 1513, 68, 1516, 1507,
+ 1518, 68, 68, 1510, 1509, 1517, 68, 1515, 68, 1519,
+ 1520, 1512, 1522, 68, 1521, 1523, 1610, 1524, 1514, 1610,
+ 68, 1525, 1527, 1513, 1528, 1516, 1526, 68, 1531, 68,
+ 68, 68, 1517, 1529, 68, 68, 68, 68, 68, 1522,
+
+ 1530, 1521, 68, 68, 1524, 1533, 68, 68, 1525, 1527,
+ 1532, 1528, 1534, 1526, 68, 1531, 68, 1535, 68, 68,
+ 1529, 1536, 1537, 68, 1538, 1539, 1542, 1530, 1540, 1541,
+ 1543, 68, 1533, 68, 1547, 1546, 1548, 1532, 68, 1534,
+ 1610, 1544, 68, 68, 1535, 1545, 1549, 68, 1536, 68,
+ 68, 1538, 1539, 1542, 68, 1540, 1541, 68, 1551, 68,
+ 1550, 68, 1546, 1552, 1554, 68, 68, 68, 1544, 1553,
+ 1555, 1556, 1545, 1549, 68, 1565, 68, 68, 68, 68,
+ 1557, 1558, 1610, 1560, 68, 1551, 1559, 1550, 1610, 1561,
+ 1552, 1554, 1562, 1563, 68, 1566, 1553, 1555, 1556, 1570,
+
+ 1610, 1567, 68, 68, 1564, 1610, 68, 1557, 1558, 68,
+ 1560, 68, 68, 1559, 68, 68, 1561, 1568, 1569, 1562,
+ 1563, 68, 68, 1572, 1571, 68, 68, 1573, 1567, 1576,
+ 68, 1564, 68, 1574, 1575, 1610, 1577, 68, 1580, 1579,
+ 1610, 68, 68, 68, 1568, 1569, 1578, 68, 1581, 68,
+ 1572, 1571, 1583, 1585, 1573, 1582, 1576, 1610, 1586, 1584,
+ 1574, 1575, 68, 1577, 68, 1580, 1579, 68, 68, 1587,
+ 1589, 1591, 68, 1578, 68, 1581, 1588, 68, 68, 1583,
+ 68, 1610, 1582, 1590, 68, 1586, 1584, 1592, 1599, 68,
+ 1595, 68, 68, 68, 1593, 1601, 1587, 1589, 1591, 1594,
+
+ 1596, 1602, 68, 1588, 1597, 1610, 1598, 68, 68, 68,
+ 1590, 1610, 68, 1604, 1592, 68, 68, 1595, 1600, 1603,
+ 1605, 1593, 68, 1608, 1609, 1610, 1594, 1596, 68, 1606,
+ 1610, 1597, 68, 1598, 1610, 68, 1607, 68, 68, 68,
+ 1604, 1610, 68, 1610, 68, 1600, 1603, 1605, 1610, 1610,
+ 68, 68, 1610, 1610, 1610, 1610, 1606, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1607, 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, 1610, 71, 71, 71, 71, 123, 123, 1610, 1610,
+ 1610, 123, 123, 125, 125, 1610, 1610, 125, 1610, 125,
+ 127, 1610, 1610, 1610, 1610, 1610, 127, 130, 130, 1610,
+ 1610, 1610, 130, 130, 132, 1610, 1610, 1610, 1610, 1610,
+ 132, 134, 134, 1610, 134, 134, 134, 134, 72, 72,
+ 1610, 72, 72, 72, 72, 13, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610
} ;
-static yyconst flex_int16_t yy_chk[4067] =
+static yyconst flex_int16_t yy_chk[4722] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1348,445 +1496,518 @@ static yyconst flex_int16_t yy_chk[4067] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3, 3, 3, 4, 4,
4, 5, 5, 6, 6, 5, 24, 6, 7, 7,
- 7, 7, 1388, 7, 8, 8, 8, 8, 24, 8,
+ 7, 7, 1616, 7, 8, 8, 8, 8, 24, 8,
9, 9, 9, 10, 10, 10, 15, 44, 44, 49,
15, 3, 49, 24, 4, 60, 60, 5, 19, 6,
- 19, 19, 69, 19, 600, 7, 69, 39, 19, 39,
- 39, 8, 39, 23, 20, 20, 9, 39, 92, 10,
+ 19, 19, 69, 19, 625, 7, 69, 39, 19, 39,
+ 39, 8, 39, 23, 20, 20, 9, 39, 619, 10,
11, 11, 11, 11, 11, 11, 12, 12, 12, 12,
- 12, 12, 20, 23, 112, 19, 23, 594, 20, 11,
- 23, 20, 20, 131, 21, 12, 22, 123, 123, 92,
- 22, 21, 26, 22, 28, 26, 22, 11, 21, 20,
- 23, 25, 26, 12, 26, 112, 11, 594, 22, 25,
- 21, 21, 12, 22, 27, 26, 28, 22, 21, 26,
- 22, 28, 26, 22, 74, 21, 27, 25, 25, 26,
-
- 29, 26, 30, 129, 31, 128, 25, 32, 31, 126,
- 30, 27, 29, 32, 130, 130, 30, 78, 74, 125,
- 30, 74, 125, 137, 31, 124, 78, 29, 30, 30,
- 31, 31, 33, 122, 32, 31, 34, 30, 33, 67,
- 37, 33, 35, 30, 78, 37, 34, 30, 33, 34,
- 33, 31, 35, 37, 137, 75, 35, 35, 34, 33,
- 36, 65, 36, 34, 35, 33, 38, 37, 33, 35,
- 38, 61, 37, 34, 65, 33, 34, 36, 75, 35,
- 56, 51, 75, 35, 35, 50, 36, 36, 65, 36,
- 45, 40, 38, 38, 14, 13, 55, 38, 55, 55,
-
- 63, 55, 63, 63, 36, 63, 66, 77, 66, 66,
- 68, 66, 68, 68, 71, 68, 71, 71, 76, 71,
- 68, 80, 79, 81, 71, 76, 83, 84, 82, 86,
- 0, 77, 81, 82, 77, 79, 80, 63, 86, 85,
- 84, 88, 0, 83, 87, 76, 85, 89, 80, 79,
- 81, 71, 90, 87, 84, 82, 86, 83, 91, 93,
- 96, 91, 0, 96, 88, 90, 85, 93, 88, 89,
- 83, 87, 94, 95, 89, 91, 97, 95, 98, 90,
- 0, 100, 91, 0, 0, 91, 93, 96, 91, 97,
- 99, 101, 94, 102, 94, 100, 0, 95, 104, 94,
-
- 95, 98, 91, 97, 95, 98, 103, 102, 100, 0,
- 99, 101, 106, 103, 105, 107, 106, 99, 101, 94,
- 102, 104, 107, 105, 108, 104, 114, 110, 109, 113,
- 0, 0, 0, 103, 106, 110, 111, 144, 108, 106,
- 109, 105, 107, 106, 113, 111, 114, 116, 115, 119,
- 0, 108, 114, 114, 110, 109, 113, 115, 116, 117,
- 118, 121, 120, 111, 118, 117, 0, 0, 144, 0,
- 121, 119, 0, 114, 116, 115, 119, 120, 127, 135,
- 127, 127, 136, 127, 141, 0, 117, 118, 121, 120,
- 132, 141, 132, 132, 133, 132, 133, 133, 138, 133,
-
- 139, 140, 142, 135, 136, 153, 135, 142, 143, 136,
- 138, 141, 146, 140, 0, 147, 149, 153, 148, 139,
- 149, 150, 0, 147, 0, 138, 0, 139, 140, 151,
- 143, 133, 153, 142, 142, 143, 145, 152, 146, 146,
- 148, 145, 147, 149, 150, 148, 145, 0, 150, 155,
- 152, 151, 145, 145, 154, 156, 151, 154, 155, 145,
- 157, 0, 160, 145, 152, 158, 0, 159, 145, 154,
- 161, 163, 158, 145, 166, 162, 155, 156, 159, 145,
- 145, 154, 156, 164, 154, 162, 157, 157, 168, 165,
- 169, 167, 158, 160, 159, 165, 161, 161, 175, 0,
-
- 170, 164, 163, 171, 172, 166, 162, 173, 0, 174,
- 164, 172, 162, 167, 174, 177, 165, 175, 167, 168,
- 170, 169, 177, 176, 171, 175, 178, 170, 173, 181,
- 171, 172, 179, 185, 173, 176, 174, 179, 180, 180,
- 0, 188, 177, 183, 182, 0, 186, 180, 178, 184,
- 176, 182, 187, 178, 186, 189, 194, 190, 0, 179,
- 181, 193, 191, 188, 185, 180, 180, 192, 183, 184,
- 183, 182, 188, 186, 190, 192, 184, 191, 187, 187,
- 193, 195, 190, 196, 190, 198, 189, 194, 193, 191,
- 188, 197, 200, 204, 192, 196, 199, 205, 199, 201,
-
- 197, 190, 202, 195, 198, 204, 203, 206, 195, 207,
- 196, 208, 198, 210, 212, 0, 200, 203, 197, 200,
- 204, 205, 209, 199, 205, 201, 201, 207, 202, 202,
- 206, 211, 214, 203, 206, 209, 207, 213, 218, 210,
- 210, 214, 208, 216, 213, 212, 215, 218, 217, 209,
- 0, 220, 215, 211, 219, 221, 222, 216, 211, 214,
- 230, 223, 226, 0, 213, 218, 220, 225, 226, 224,
- 216, 0, 224, 215, 217, 217, 223, 219, 220, 224,
- 222, 219, 228, 222, 227, 225, 221, 230, 223, 226,
- 229, 229, 231, 233, 225, 234, 224, 228, 227, 224,
-
- 232, 235, 236, 232, 240, 233, 237, 0, 0, 228,
- 232, 227, 242, 234, 238, 229, 231, 229, 229, 231,
- 233, 243, 234, 243, 236, 247, 238, 232, 235, 236,
- 232, 239, 237, 237, 242, 240, 241, 248, 239, 242,
- 244, 238, 246, 241, 245, 243, 249, 245, 243, 245,
- 243, 0, 249, 244, 250, 245, 247, 251, 239, 248,
- 246, 250, 252, 241, 248, 255, 253, 244, 259, 246,
- 251, 245, 256, 249, 245, 258, 245, 255, 252, 253,
- 259, 250, 257, 258, 251, 0, 252, 260, 257, 252,
- 256, 261, 255, 253, 260, 259, 0, 262, 263, 256,
-
- 264, 265, 258, 279, 262, 252, 254, 254, 266, 257,
- 263, 0, 264, 267, 260, 266, 254, 268, 254, 254,
- 254, 279, 261, 254, 262, 263, 267, 264, 269, 269,
- 279, 254, 265, 254, 254, 266, 274, 0, 271, 268,
- 267, 270, 272, 254, 268, 254, 254, 254, 270, 271,
- 254, 273, 275, 272, 280, 282, 283, 269, 276, 277,
- 289, 274, 0, 274, 273, 271, 281, 276, 270, 272,
- 278, 284, 277, 282, 286, 275, 280, 285, 273, 275,
- 287, 280, 282, 278, 291, 276, 277, 283, 278, 281,
- 288, 289, 284, 281, 287, 294, 286, 278, 284, 290,
-
- 285, 286, 291, 292, 285, 290, 293, 287, 296, 295,
- 278, 291, 297, 300, 296, 299, 288, 288, 292, 300,
- 0, 294, 294, 0, 301, 310, 290, 302, 308, 293,
- 292, 295, 303, 293, 0, 296, 295, 305, 297, 297,
- 300, 299, 299, 301, 305, 302, 306, 303, 307, 309,
- 308, 301, 0, 306, 302, 308, 310, 311, 312, 303,
- 314, 307, 315, 312, 305, 313, 311, 317, 309, 316,
- 320, 313, 318, 306, 315, 307, 309, 320, 317, 321,
- 318, 323, 0, 314, 311, 312, 322, 314, 323, 315,
- 321, 316, 313, 324, 317, 322, 316, 320, 0, 318,
-
- 319, 325, 327, 325, 326, 319, 321, 319, 323, 328,
- 330, 329, 0, 332, 327, 319, 331, 322, 330, 324,
- 324, 331, 322, 329, 328, 319, 319, 319, 325, 327,
- 326, 326, 319, 333, 319, 332, 328, 330, 329, 334,
- 332, 335, 319, 331, 336, 337, 338, 334, 339, 0,
- 340, 333, 319, 335, 341, 342, 344, 339, 348, 343,
- 333, 338, 349, 346, 340, 347, 334, 336, 335, 350,
- 342, 336, 345, 338, 343, 339, 337, 340, 351, 347,
- 344, 341, 342, 344, 345, 348, 343, 346, 352, 349,
- 346, 353, 347, 0, 355, 357, 354, 356, 361, 345,
-
- 350, 360, 354, 359, 358, 351, 363, 0, 360, 365,
- 362, 367, 0, 376, 386, 352, 355, 0, 386, 363,
- 356, 355, 353, 354, 356, 359, 357, 358, 360, 361,
- 359, 358, 362, 363, 364, 365, 365, 362, 366, 364,
- 369, 368, 367, 364, 376, 386, 0, 366, 372, 370,
- 0, 371, 373, 0, 0, 0, 0, 0, 364, 368,
- 377, 364, 372, 380, 369, 366, 364, 369, 368, 374,
- 364, 370, 370, 371, 373, 372, 370, 375, 371, 373,
- 374, 377, 378, 379, 381, 380, 382, 377, 384, 387,
- 380, 0, 375, 381, 383, 385, 374, 390, 370, 382,
-
- 388, 390, 0, 0, 375, 0, 378, 379, 389, 378,
- 379, 381, 384, 382, 391, 384, 383, 385, 388, 393,
- 387, 383, 385, 389, 398, 392, 396, 388, 390, 394,
- 397, 395, 389, 392, 396, 389, 399, 397, 394, 391,
- 395, 391, 403, 400, 393, 405, 393, 398, 402, 0,
- 389, 398, 392, 396, 399, 400, 394, 397, 395, 401,
- 402, 404, 406, 399, 410, 407, 408, 0, 401, 404,
- 400, 405, 405, 403, 409, 402, 411, 408, 410, 413,
- 412, 0, 409, 414, 0, 406, 401, 407, 404, 406,
- 415, 410, 407, 408, 417, 416, 411, 418, 419, 413,
-
- 422, 409, 412, 411, 416, 414, 413, 412, 420, 421,
- 414, 419, 415, 423, 417, 418, 426, 415, 424, 423,
- 0, 417, 416, 422, 418, 419, 424, 422, 427, 429,
- 420, 428, 434, 421, 437, 420, 421, 431, 429, 439,
- 423, 430, 434, 440, 424, 424, 428, 426, 438, 431,
- 442, 427, 437, 424, 0, 427, 429, 446, 428, 434,
- 430, 437, 439, 444, 431, 444, 439, 445, 430, 438,
- 443, 451, 442, 0, 440, 438, 441, 442, 441, 443,
- 447, 441, 0, 448, 446, 450, 441, 449, 0, 0,
- 444, 445, 441, 441, 445, 451, 452, 443, 451, 449,
-
- 447, 441, 455, 441, 456, 441, 459, 447, 441, 448,
- 448, 450, 450, 441, 449, 453, 454, 458, 452, 441,
- 441, 455, 453, 452, 454, 457, 458, 460, 459, 455,
- 456, 456, 461, 459, 462, 463, 0, 457, 0, 464,
- 0, 467, 453, 454, 458, 465, 470, 468, 466, 472,
- 467, 469, 457, 0, 460, 475, 0, 471, 0, 463,
- 464, 477, 463, 461, 465, 462, 464, 466, 467, 468,
- 476, 469, 465, 470, 468, 466, 471, 473, 469, 475,
- 472, 478, 475, 476, 471, 473, 479, 477, 477, 481,
- 482, 487, 483, 478, 479, 481, 484, 476, 483, 486,
-
- 485, 488, 489, 484, 473, 485, 486, 490, 478, 487,
- 479, 489, 482, 479, 491, 490, 481, 482, 487, 483,
- 492, 479, 493, 484, 488, 495, 486, 485, 488, 489,
- 494, 496, 491, 492, 490, 0, 497, 494, 495, 499,
- 498, 491, 500, 493, 501, 503, 502, 492, 498, 493,
- 501, 504, 495, 507, 499, 509, 505, 494, 510, 497,
- 506, 508, 496, 497, 500, 505, 499, 498, 508, 500,
- 512, 501, 502, 502, 506, 504, 503, 511, 504, 517,
- 524, 525, 509, 505, 507, 510, 513, 506, 508, 511,
- 515, 0, 514, 512, 513, 514, 518, 512, 519, 0,
-
- 519, 524, 517, 515, 511, 521, 517, 524, 518, 520,
- 522, 523, 525, 513, 0, 529, 522, 515, 521, 514,
- 516, 520, 516, 518, 523, 519, 516, 528, 516, 527,
- 529, 530, 521, 516, 0, 535, 520, 522, 523, 0,
- 528, 526, 529, 531, 516, 532, 526, 516, 526, 516,
- 533, 527, 538, 516, 528, 516, 527, 530, 530, 536,
- 516, 534, 535, 533, 532, 531, 526, 526, 526, 534,
- 531, 539, 532, 526, 542, 526, 540, 533, 541, 543,
- 546, 544, 536, 538, 540, 0, 536, 543, 534, 545,
- 550, 549, 541, 526, 560, 539, 542, 545, 539, 544,
-
- 548, 542, 546, 540, 547, 541, 543, 546, 544, 549,
- 553, 547, 552, 548, 554, 558, 545, 0, 549, 553,
- 552, 550, 555, 556, 557, 560, 554, 548, 559, 564,
- 562, 547, 563, 558, 562, 563, 565, 553, 0, 552,
- 566, 554, 558, 569, 555, 556, 557, 566, 565, 555,
- 556, 557, 567, 564, 559, 559, 564, 571, 563, 563,
- 568, 562, 563, 565, 570, 569, 568, 566, 573, 572,
- 569, 574, 575, 576, 0, 0, 567, 577, 571, 567,
- 572, 580, 576, 578, 571, 579, 570, 568, 580, 573,
- 575, 570, 578, 579, 582, 573, 572, 581, 574, 575,
-
- 576, 577, 585, 583, 577, 584, 586, 587, 580, 588,
- 578, 581, 579, 0, 584, 589, 582, 590, 592, 593,
- 591, 582, 586, 596, 581, 583, 585, 589, 591, 585,
- 583, 592, 584, 586, 593, 597, 606, 604, 587, 595,
- 588, 596, 589, 597, 590, 592, 593, 591, 595, 598,
- 596, 598, 601, 603, 605, 602, 607, 608, 606, 609,
- 603, 610, 597, 606, 612, 601, 595, 602, 604, 607,
- 608, 613, 612, 610, 615, 611, 598, 0, 616, 601,
- 603, 609, 602, 607, 608, 605, 609, 611, 610, 617,
- 614, 612, 615, 618, 621, 619, 620, 617, 613, 614,
-
- 616, 615, 611, 619, 626, 616, 622, 0, 628, 624,
- 626, 633, 621, 623, 631, 618, 617, 614, 622, 620,
- 618, 621, 619, 620, 624, 623, 625, 629, 627, 628,
- 634, 626, 631, 622, 625, 628, 624, 627, 630, 629,
- 623, 631, 633, 634, 635, 630, 637, 638, 640, 636,
- 639, 638, 641, 625, 629, 627, 636, 634, 639, 642,
- 643, 644, 640, 635, 647, 630, 646, 645, 637, 651,
- 641, 635, 649, 637, 648, 640, 636, 639, 638, 641,
- 652, 653, 647, 644, 0, 649, 643, 643, 644, 645,
- 642, 647, 646, 646, 645, 650, 648, 654, 658, 649,
-
- 651, 648, 656, 653, 650, 655, 660, 659, 653, 662,
- 655, 652, 655, 661, 655, 660, 663, 662, 656, 659,
- 654, 658, 650, 655, 654, 658, 661, 667, 666, 656,
- 666, 664, 655, 660, 659, 663, 662, 655, 665, 655,
- 661, 655, 669, 663, 664, 668, 671, 665, 673, 672,
- 674, 676, 675, 678, 667, 666, 673, 668, 664, 675,
- 677, 679, 680, 682, 681, 665, 687, 688, 679, 669,
- 671, 672, 668, 671, 685, 673, 672, 674, 676, 675,
- 678, 684, 677, 681, 680, 682, 683, 677, 679, 680,
- 682, 681, 689, 690, 685, 683, 692, 687, 688, 691,
-
- 693, 685, 684, 694, 692, 695, 696, 697, 684, 701,
- 696, 0, 695, 683, 689, 698, 693, 691, 699, 689,
- 700, 702, 698, 692, 690, 699, 691, 693, 702, 700,
- 694, 704, 695, 696, 706, 701, 701, 703, 697, 703,
- 704, 711, 698, 709, 709, 699, 705, 700, 702, 708,
- 705, 710, 713, 708, 714, 0, 706, 712, 704, 713,
- 710, 706, 715, 711, 703, 720, 712, 716, 711, 717,
- 709, 715, 724, 705, 718, 716, 722, 714, 710, 713,
- 708, 714, 717, 719, 712, 721, 718, 720, 723, 715,
- 724, 719, 720, 726, 716, 725, 717, 723, 722, 724,
-
- 727, 718, 728, 722, 729, 721, 727, 725, 730, 733,
- 719, 731, 721, 0, 726, 723, 738, 735, 734, 0,
- 726, 737, 725, 736, 728, 737, 739, 727, 743, 728,
- 735, 736, 744, 740, 739, 729, 733, 731, 731, 730,
- 734, 740, 752, 738, 735, 734, 741, 741, 742, 743,
- 736, 745, 737, 739, 746, 743, 742, 747, 748, 745,
- 740, 749, 746, 744, 750, 747, 748, 751, 752, 752,
- 750, 753, 754, 741, 749, 742, 755, 758, 745, 751,
- 757, 746, 756, 759, 747, 748, 762, 757, 749, 760,
- 755, 750, 766, 753, 751, 754, 767, 764, 753, 754,
-
- 756, 761, 768, 755, 758, 759, 764, 757, 761, 756,
- 759, 770, 760, 772, 766, 774, 760, 762, 775, 766,
- 776, 778, 767, 767, 764, 777, 780, 777, 761, 779,
- 781, 783, 776, 768, 782, 784, 783, 781, 770, 774,
- 772, 779, 774, 778, 775, 775, 785, 776, 778, 787,
- 789, 784, 777, 780, 790, 786, 779, 781, 783, 789,
- 782, 782, 784, 786, 791, 792, 796, 790, 793, 785,
- 799, 787, 792, 785, 795, 793, 787, 789, 794, 797,
- 798, 790, 786, 799, 800, 794, 803, 798, 796, 806,
- 791, 791, 792, 796, 801, 793, 804, 799, 804, 795,
-
- 805, 795, 807, 808, 811, 794, 809, 798, 803, 810,
- 797, 800, 808, 803, 809, 801, 810, 813, 812, 814,
- 806, 801, 812, 804, 805, 815, 811, 805, 807, 807,
- 808, 811, 816, 809, 820, 817, 810, 822, 819, 813,
- 821, 816, 817, 818, 813, 812, 814, 815, 823, 820,
- 818, 819, 815, 824, 821, 823, 833, 825, 828, 816,
- 824, 820, 817, 825, 827, 819, 830, 821, 822, 829,
- 818, 834, 829, 841, 0, 823, 827, 830, 828, 835,
- 824, 836, 837, 833, 825, 828, 838, 829, 842, 840,
- 843, 827, 836, 830, 838, 834, 829, 843, 834, 829,
-
- 837, 835, 839, 845, 841, 839, 835, 840, 836, 837,
- 844, 853, 845, 838, 846, 842, 840, 843, 849, 847,
- 839, 847, 848, 850, 844, 855, 851, 846, 858, 839,
- 845, 848, 839, 856, 850, 851, 857, 844, 854, 0,
- 0, 846, 853, 857, 849, 849, 847, 854, 859, 848,
- 850, 863, 860, 851, 856, 864, 855, 865, 860, 858,
- 856, 882, 859, 857, 866, 854, 865, 870, 872, 864,
- 863, 868, 866, 871, 870, 859, 860, 867, 863, 860,
- 868, 873, 864, 874, 865, 860, 878, 877, 867, 875,
- 872, 866, 882, 876, 870, 872, 871, 876, 868, 877,
-
- 871, 885, 879, 873, 867, 874, 880, 875, 873, 881,
- 874, 883, 886, 878, 877, 879, 875, 887, 884, 889,
- 876, 880, 885, 890, 881, 891, 883, 884, 885, 879,
- 895, 897, 898, 880, 892, 893, 881, 889, 883, 886,
- 892, 894, 896, 893, 887, 884, 889, 899, 894, 896,
- 890, 902, 900, 904, 903, 908, 891, 895, 897, 898,
- 906, 892, 893, 903, 905, 913, 905, 907, 894, 896,
- 909, 913, 909, 910, 914, 0, 900, 909, 899, 900,
- 910, 903, 902, 911, 904, 909, 908, 906, 912, 919,
- 911, 905, 913, 907, 907, 912, 916, 909, 917, 909,
-
- 910, 914, 915, 915, 909, 917, 920, 919, 921, 923,
- 911, 922, 924, 924, 925, 912, 919, 926, 926, 927,
- 921, 929, 916, 916, 930, 917, 933, 923, 0, 915,
- 927, 922, 932, 920, 934, 921, 923, 947, 922, 924,
- 925, 925, 931, 929, 926, 935, 927, 936, 929, 931,
- 937, 942, 932, 933, 936, 930, 934, 938, 939, 932,
- 940, 934, 937, 935, 941, 938, 944, 945, 947, 931,
- 939, 948, 935, 945, 936, 949, 946, 937, 942, 949,
- 950, 940, 941, 943, 938, 939, 951, 940, 943, 946,
- 952, 941, 953, 944, 945, 954, 963, 955, 948, 943,
-
- 956, 951, 956, 946, 957, 960, 949, 953, 959, 958,
- 943, 950, 955, 951, 958, 943, 962, 964, 954, 953,
- 960, 952, 954, 963, 955, 965, 966, 956, 967, 968,
- 971, 978, 960, 974, 982, 957, 958, 984, 0, 959,
- 962, 975, 974, 962, 964, 971, 965, 968, 966, 967,
- 973, 976, 965, 966, 981, 967, 968, 971, 978, 975,
- 974, 973, 983, 984, 984, 982, 985, 981, 975, 976,
- 986, 992, 983, 989, 988, 0, 973, 973, 976, 990,
- 989, 981, 998, 995, 991, 0, 992, 993, 973, 983,
- 991, 985, 994, 985, 988, 995, 996, 986, 992, 999,
-
- 989, 988, 993, 996, 998, 990, 990, 994, 1000, 998,
- 995, 991, 1001, 1004, 993, 1003, 1006, 1000, 1010, 994,
- 1005, 1005, 1008, 996, 999, 1007, 999, 1010, 1003, 1009,
- 1001, 1012, 1013, 1016, 1011, 1000, 0, 1017, 1006, 1001,
- 1004, 1011, 1003, 1006, 1008, 1010, 1016, 1005, 1020, 1008,
- 1007, 1009, 1007, 1018, 1013, 1015, 1009, 0, 1021, 1013,
- 1016, 1011, 1012, 1015, 1017, 1024, 1019, 1025, 1018, 1019,
- 1028, 1022, 1029, 1020, 1027, 1020, 1021, 1028, 0, 1031,
- 1018, 1033, 1015, 1029, 1019, 1021, 1022, 1024, 1027, 1025,
- 1036, 1035, 1024, 1019, 1025, 1037, 1019, 1028, 1022, 1029,
-
- 1031, 1027, 1033, 1034, 1038, 1034, 1031, 1039, 1033, 1035,
- 1040, 1042, 1043, 1037, 1041, 1039, 1044, 1036, 1035, 1048,
- 0, 1049, 1037, 1051, 1047, 1042, 1052, 0, 1053, 1050,
- 1034, 1038, 1054, 1040, 1039, 1044, 1041, 1040, 1042, 1043,
- 1053, 1041, 1047, 1044, 1050, 1051, 1048, 1049, 1049, 1052,
- 1051, 1047, 1056, 1052, 1054, 1053, 1050, 1055, 1055, 1054,
- 1056, 1058, 1059, 1060, 1058, 1061, 1062, 1064, 0, 1060,
- 1059, 1065, 1062, 1066, 0, 1068, 1069, 1067, 1070, 1056,
- 1061, 1072, 1071, 1073, 1055, 1075, 1076, 1066, 1058, 1059,
- 1060, 1067, 1061, 1062, 1064, 1065, 1071, 1079, 1065, 1074,
-
- 1066, 1068, 1068, 1069, 1067, 1070, 1077, 1074, 1072, 1071,
- 1073, 1080, 1075, 1076, 1077, 1081, 1082, 1087, 1083, 1079,
- 1084, 1088, 1085, 1081, 1079, 1086, 1074, 1083, 1089, 1088,
- 1091, 1092, 1092, 1077, 1093, 1094, 0, 1096, 1080, 1095,
- 1086, 1084, 1081, 1082, 1087, 1083, 1085, 1084, 1088, 1085,
- 1100, 1086, 1086, 1094, 1095, 1089, 1098, 1091, 1092, 1096,
- 1093, 1093, 1094, 1097, 1096, 1097, 1095, 1086, 1099, 1101,
- 1098, 1102, 1100, 1103, 1099, 1104, 1105, 1100, 1107, 1111,
- 1114, 1101, 1110, 1098, 1109, 1107, 1112, 1119, 0, 1102,
- 1097, 1103, 1114, 1117, 1112, 1099, 1101, 1118, 1102, 1105,
-
- 1103, 1115, 1109, 1105, 1120, 1107, 1104, 1114, 1110, 1110,
- 1111, 1109, 1112, 1112, 1119, 1121, 1115, 1117, 1122, 1118,
- 1117, 1112, 1123, 1124, 1118, 1125, 1126, 1120, 1115, 1127,
- 1124, 1120, 1128, 1126, 1129, 1131, 0, 1132, 1133, 1121,
- 1140, 1134, 1121, 1137, 1123, 1122, 1131, 1144, 1125, 1123,
- 1124, 1127, 1125, 1126, 1143, 1129, 1127, 1133, 1146, 1132,
- 1148, 1129, 1131, 1128, 1132, 1133, 1134, 1140, 1134, 1137,
- 1137, 1149, 1150, 1151, 1144, 1154, 1143, 0, 1151, 1152,
- 1158, 1143, 1157, 1150, 1161, 1146, 1160, 1162, 1163, 0,
- 1159, 1148, 0, 0, 0, 1164, 1170, 1149, 1149, 1150,
-
- 1151, 1152, 1154, 1159, 1157, 1158, 1152, 1158, 1160, 1157,
- 1164, 1161, 1165, 1160, 1162, 1163, 1166, 1159, 1167, 1168,
- 1169, 1165, 1164, 1170, 1171, 1172, 1172, 1169, 1173, 1175,
- 1174, 1166, 1175, 1167, 1168, 1173, 1176, 1178, 1179, 1165,
- 1180, 1177, 1171, 1166, 1174, 1167, 1168, 1169, 1183, 1176,
- 1177, 1171, 1172, 1182, 1185, 1173, 1175, 1174, 1186, 1178,
- 1179, 1187, 1182, 1176, 1178, 1179, 1190, 1180, 1177, 1188,
- 1189, 1192, 1193, 1187, 1183, 1183, 1186, 1190, 1188, 1189,
- 1182, 1185, 1191, 1194, 1195, 1186, 0, 1196, 1187, 1202,
- 1191, 1198, 1195, 1190, 1196, 1194, 1188, 1189, 1192, 1198,
-
- 1201, 1203, 1207, 1193, 1208, 1204, 1205, 1201, 1209, 1191,
- 1194, 1195, 1208, 1202, 1196, 1205, 1202, 1204, 1198, 1210,
- 0, 1214, 1216, 1217, 1219, 1215, 1221, 1201, 1203, 1207,
- 1215, 1208, 1204, 1205, 1218, 1209, 1222, 1223, 1221, 1225,
- 1216, 1226, 1224, 1219, 1227, 1217, 1210, 1214, 1214, 1216,
- 1217, 1219, 1215, 1221, 1224, 1228, 1218, 1229, 1222, 1223,
- 0, 1218, 1232, 1222, 1223, 1231, 1225, 1234, 1226, 1224,
- 1236, 1235, 1237, 0, 1238, 1227, 0, 1232, 1239, 1243,
- 1245, 0, 1228, 0, 1229, 1235, 1244, 1231, 1236, 1232,
- 1237, 1234, 1231, 1246, 1234, 1241, 1239, 1236, 1235, 1237,
-
- 1238, 1238, 1242, 1241, 1244, 1239, 1243, 1245, 1247, 1249,
- 1242, 1250, 1246, 1244, 1252, 1257, 1255, 0, 1256, 1258,
- 1246, 1259, 1241, 1255, 1260, 1250, 1262, 1249, 1263, 1242,
- 1247, 1264, 1267, 1260, 1261, 1247, 1249, 1271, 1250, 1257,
- 1273, 1252, 1257, 1255, 1256, 1256, 1258, 1261, 1259, 1275,
- 0, 1260, 1270, 1267, 1264, 1263, 1271, 1262, 1264, 1267,
- 1270, 1261, 1272, 1274, 1271, 1276, 1273, 1273, 1277, 1277,
- 1272, 1275, 1276, 1278, 1274, 1279, 1275, 1281, 1283, 1270,
- 1284, 1286, 1279, 1285, 1290, 1288, 1290, 1283, 0, 1272,
- 1274, 1278, 1276, 1293, 1289, 1277, 1294, 1297, 1295, 1286,
-
- 1278, 1281, 1279, 1288, 1281, 1283, 1285, 1284, 1286, 1289,
- 1285, 1290, 1288, 1298, 1301, 1293, 1295, 1300, 1299, 1297,
- 1293, 1289, 1294, 1294, 1297, 1295, 1299, 1303, 1302, 1300,
- 1305, 1298, 1307, 1307, 1304, 1308, 1306, 1309, 1303, 1312,
- 1298, 1301, 1304, 1308, 1300, 1299, 1302, 1310, 1315, 1305,
- 1316, 1314, 1318, 1313, 1303, 1302, 1314, 1305, 1306, 1307,
- 1313, 1304, 1308, 1306, 1309, 1317, 1312, 1318, 1320, 1310,
- 1321, 1322, 0, 1317, 1310, 1315, 1319, 1316, 1314, 1318,
- 1313, 1323, 1326, 1319, 1327, 1321, 1325, 1328, 1329, 1323,
- 1330, 1331, 1317, 1333, 1335, 1320, 1340, 1321, 1322, 1325,
-
- 1336, 0, 0, 1319, 1326, 1339, 1341, 1343, 1323, 1326,
- 0, 1327, 1330, 1325, 1328, 1329, 1346, 1330, 1331, 1333,
- 1333, 1335, 1336, 1340, 1339, 1347, 1351, 1336, 1341, 1343,
- 1345, 1353, 1339, 1341, 1343, 1355, 1358, 1345, 1356, 1359,
- 1360, 1362, 1364, 1346, 1366, 1358, 1367, 1372, 1347, 1373,
- 1356, 1374, 1347, 1351, 1353, 1380, 1373, 1345, 1353, 1366,
- 0, 1375, 1355, 1358, 1378, 1356, 1359, 1360, 1362, 1364,
- 1372, 1366, 1367, 1367, 1372, 1377, 1373, 1378, 1374, 1375,
- 0, 1379, 1380, 0, 0, 0, 0, 1377, 1375, 1379,
- 0, 1378, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 1377, 0, 0, 0, 0, 0, 1379, 1383,
- 1383, 1383, 1383, 1383, 1383, 1383, 1384, 1384, 1384, 1384,
- 1384, 1384, 1384, 1385, 1385, 1385, 1385, 1385, 1385, 1385,
- 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1387, 1387, 1387,
- 1387, 1387, 1387, 1387, 1389, 1389, 0, 1389, 1389, 1389,
- 1389, 1390, 1390, 0, 0, 0, 1390, 1390, 1391, 1391,
- 0, 0, 1391, 0, 1391, 1392, 0, 0, 0, 0,
- 0, 1392, 1393, 1393, 0, 0, 0, 1393, 1393, 1394,
- 0, 0, 0, 0, 0, 1394, 1395, 1395, 0, 1395,
- 1395, 1395, 1395, 1396, 1396, 0, 1396, 1396, 1396, 1396,
-
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 1382, 1382
+ 12, 12, 20, 23, 27, 19, 23, 29, 20, 11,
+ 23, 20, 20, 132, 21, 12, 27, 25, 619, 29,
+ 130, 21, 124, 124, 28, 25, 129, 11, 21, 20,
+ 23, 27, 126, 12, 29, 126, 11, 131, 131, 127,
+ 21, 21, 12, 25, 25, 75, 28, 26, 21, 37,
+ 26, 28, 25, 30, 37, 21, 22, 26, 32, 26,
+
+ 22, 30, 37, 22, 32, 22, 22, 30, 75, 31,
+ 26, 30, 75, 31, 26, 125, 37, 26, 22, 30,
+ 30, 37, 205, 22, 26, 32, 26, 22, 30, 31,
+ 22, 89, 22, 22, 30, 31, 31, 33, 30, 34,
+ 31, 123, 36, 33, 36, 55, 33, 55, 55, 34,
+ 55, 205, 34, 33, 89, 33, 31, 148, 89, 36,
+ 63, 34, 63, 63, 33, 63, 34, 35, 36, 36,
+ 33, 36, 65, 33, 38, 67, 34, 35, 38, 34,
+ 33, 35, 35, 148, 148, 65, 36, 61, 66, 35,
+ 66, 66, 56, 66, 35, 51, 76, 63, 74, 65,
+
+ 38, 38, 77, 76, 35, 38, 82, 50, 35, 35,
+ 68, 82, 68, 68, 71, 68, 71, 71, 78, 71,
+ 68, 79, 74, 76, 71, 74, 77, 78, 80, 77,
+ 81, 85, 83, 82, 79, 84, 45, 87, 88, 81,
+ 83, 90, 86, 80, 85, 78, 87, 88, 79, 86,
+ 40, 71, 84, 92, 91, 80, 92, 81, 85, 83,
+ 93, 99, 185, 90, 87, 88, 84, 91, 90, 86,
+ 92, 96, 95, 97, 94, 96, 97, 92, 14, 84,
+ 92, 91, 94, 92, 99, 100, 102, 185, 99, 185,
+ 98, 93, 95, 101, 95, 96, 103, 92, 96, 95,
+
+ 97, 94, 96, 98, 104, 100, 102, 101, 113, 105,
+ 103, 104, 100, 102, 108, 106, 109, 98, 107, 95,
+ 101, 108, 107, 103, 106, 110, 111, 13, 0, 112,
+ 109, 104, 105, 114, 111, 115, 105, 110, 112, 113,
+ 107, 108, 106, 109, 119, 107, 117, 0, 114, 107,
+ 116, 121, 110, 111, 120, 115, 112, 117, 118, 116,
+ 114, 115, 115, 122, 118, 119, 121, 0, 0, 119,
+ 0, 119, 122, 117, 138, 136, 120, 116, 121, 137,
+ 0, 120, 115, 145, 128, 118, 128, 128, 0, 128,
+ 122, 133, 119, 133, 133, 134, 133, 134, 134, 136,
+
+ 134, 137, 136, 139, 140, 138, 137, 141, 143, 142,
+ 149, 144, 0, 143, 145, 139, 142, 0, 149, 141,
+ 146, 0, 150, 140, 151, 153, 157, 152, 151, 154,
+ 139, 140, 134, 144, 141, 157, 142, 149, 144, 143,
+ 143, 146, 154, 155, 150, 162, 0, 153, 146, 150,
+ 152, 151, 153, 157, 152, 155, 154, 156, 0, 0,
+ 156, 158, 0, 159, 160, 0, 161, 165, 146, 147,
+ 155, 160, 156, 163, 147, 167, 162, 161, 168, 147,
+ 170, 167, 0, 158, 156, 147, 147, 156, 158, 159,
+ 159, 160, 147, 161, 164, 169, 147, 166, 165, 163,
+
+ 163, 147, 167, 171, 164, 173, 147, 0, 172, 168,
+ 0, 170, 147, 147, 174, 166, 175, 169, 176, 177,
+ 180, 174, 169, 176, 166, 164, 173, 178, 172, 179,
+ 183, 164, 173, 184, 171, 172, 179, 175, 177, 178,
+ 184, 174, 180, 175, 181, 176, 177, 180, 186, 181,
+ 182, 182, 187, 190, 178, 188, 179, 189, 192, 182,
+ 184, 183, 0, 188, 191, 198, 194, 200, 186, 0,
+ 197, 181, 189, 193, 0, 186, 200, 182, 182, 190,
+ 190, 194, 188, 187, 189, 196, 191, 198, 195, 192,
+ 193, 199, 198, 194, 200, 191, 195, 201, 193, 203,
+
+ 193, 197, 204, 199, 196, 202, 210, 202, 206, 213,
+ 207, 208, 196, 191, 214, 195, 201, 193, 199, 209,
+ 211, 212, 208, 203, 201, 215, 203, 214, 204, 204,
+ 210, 209, 202, 210, 206, 206, 207, 207, 208, 212,
+ 213, 214, 216, 211, 217, 219, 209, 211, 212, 218,
+ 224, 215, 215, 220, 219, 222, 218, 221, 223, 220,
+ 226, 230, 227, 225, 216, 0, 0, 223, 228, 216,
+ 235, 221, 219, 224, 0, 217, 218, 224, 225, 230,
+ 220, 222, 222, 228, 221, 223, 227, 232, 230, 227,
+ 225, 226, 231, 229, 233, 228, 229, 235, 231, 234,
+
+ 234, 232, 237, 229, 236, 237, 238, 239, 240, 233,
+ 245, 0, 237, 242, 232, 241, 252, 0, 238, 231,
+ 229, 233, 247, 229, 234, 239, 234, 234, 236, 237,
+ 253, 236, 237, 238, 239, 240, 243, 241, 244, 242,
+ 242, 245, 241, 246, 247, 244, 249, 252, 243, 247,
+ 246, 248, 253, 248, 251, 250, 254, 253, 250, 249,
+ 250, 255, 254, 243, 256, 244, 250, 0, 255, 267,
+ 246, 257, 251, 249, 0, 248, 256, 258, 248, 259,
+ 248, 251, 250, 254, 257, 250, 264, 250, 255, 262,
+ 261, 256, 259, 258, 264, 0, 265, 263, 257, 269,
+
+ 267, 258, 261, 263, 258, 266, 259, 262, 265, 271,
+ 350, 269, 266, 264, 0, 270, 262, 261, 268, 274,
+ 258, 260, 260, 265, 263, 268, 269, 270, 273, 272,
+ 276, 260, 266, 260, 260, 260, 272, 350, 260, 0,
+ 271, 273, 270, 275, 278, 268, 260, 0, 260, 260,
+ 274, 278, 276, 283, 275, 273, 272, 276, 260, 281,
+ 260, 260, 260, 277, 277, 260, 279, 280, 285, 286,
+ 275, 278, 281, 282, 284, 0, 283, 279, 280, 287,
+ 283, 285, 286, 284, 0, 288, 281, 286, 289, 291,
+ 290, 293, 277, 279, 280, 285, 286, 287, 282, 294,
+
+ 282, 284, 292, 297, 296, 295, 287, 288, 290, 286,
+ 298, 289, 288, 318, 293, 289, 298, 290, 293, 295,
+ 291, 294, 299, 292, 300, 301, 294, 302, 303, 292,
+ 296, 296, 295, 305, 297, 304, 308, 298, 307, 300,
+ 299, 304, 308, 310, 318, 315, 0, 309, 301, 299,
+ 303, 300, 301, 302, 302, 303, 311, 316, 315, 305,
+ 305, 310, 304, 308, 307, 307, 309, 317, 313, 314,
+ 310, 311, 315, 319, 309, 313, 314, 323, 322, 316,
+ 320, 321, 319, 311, 316, 320, 317, 321, 324, 323,
+ 326, 325, 0, 0, 317, 313, 314, 0, 326, 0,
+
+ 319, 322, 325, 329, 323, 322, 328, 320, 321, 0,
+ 324, 330, 331, 328, 329, 324, 332, 326, 325, 327,
+ 330, 0, 333, 332, 327, 334, 327, 334, 335, 336,
+ 329, 0, 339, 328, 327, 337, 331, 346, 341, 331,
+ 339, 336, 330, 332, 327, 327, 327, 330, 333, 333,
+ 337, 327, 334, 327, 335, 335, 336, 338, 340, 339,
+ 341, 327, 337, 340, 342, 341, 343, 344, 346, 338,
+ 359, 327, 345, 347, 343, 349, 357, 348, 354, 344,
+ 357, 351, 342, 352, 338, 340, 348, 353, 347, 349,
+ 354, 342, 355, 343, 344, 345, 351, 359, 352, 345,
+
+ 347, 358, 349, 360, 348, 354, 356, 357, 351, 356,
+ 352, 353, 361, 362, 353, 358, 355, 356, 363, 355,
+ 364, 365, 366, 367, 368, 0, 372, 365, 358, 369,
+ 360, 370, 371, 356, 374, 0, 356, 376, 373, 371,
+ 362, 378, 0, 361, 366, 363, 367, 374, 365, 366,
+ 367, 364, 369, 370, 380, 368, 369, 372, 370, 371,
+ 373, 374, 375, 376, 376, 373, 377, 375, 381, 379,
+ 382, 375, 378, 385, 383, 377, 387, 384, 380, 0,
+ 0, 380, 398, 391, 385, 388, 375, 379, 383, 375,
+ 381, 381, 382, 377, 375, 381, 379, 382, 375, 384,
+
+ 385, 383, 389, 386, 384, 391, 388, 387, 390, 393,
+ 391, 392, 388, 398, 0, 394, 395, 381, 386, 396,
+ 392, 397, 393, 0, 400, 397, 389, 399, 0, 389,
+ 386, 402, 390, 0, 404, 390, 393, 394, 392, 400,
+ 395, 396, 394, 395, 414, 399, 396, 403, 400, 401,
+ 409, 400, 397, 401, 399, 403, 402, 407, 402, 404,
+ 405, 404, 406, 408, 410, 407, 400, 411, 0, 405,
+ 408, 406, 412, 409, 403, 414, 413, 409, 415, 411,
+ 401, 412, 410, 416, 407, 417, 415, 405, 413, 406,
+ 408, 410, 419, 420, 411, 418, 423, 0, 421, 412,
+
+ 0, 422, 424, 413, 420, 415, 421, 425, 417, 416,
+ 416, 418, 417, 426, 419, 422, 423, 427, 429, 419,
+ 420, 428, 418, 423, 424, 421, 433, 425, 422, 424,
+ 428, 430, 432, 431, 425, 426, 435, 0, 429, 427,
+ 426, 434, 435, 436, 427, 429, 431, 440, 428, 430,
+ 433, 436, 438, 433, 432, 454, 456, 439, 430, 432,
+ 431, 0, 440, 435, 434, 447, 441, 442, 434, 436,
+ 436, 444, 443, 444, 440, 441, 454, 447, 436, 450,
+ 439, 443, 454, 438, 439, 453, 442, 456, 455, 450,
+ 0, 458, 447, 441, 442, 0, 459, 461, 444, 443,
+
+ 445, 462, 0, 453, 445, 459, 450, 445, 460, 463,
+ 460, 455, 453, 458, 445, 455, 464, 445, 458, 0,
+ 0, 461, 445, 459, 461, 465, 468, 445, 462, 463,
+ 466, 445, 471, 469, 445, 460, 463, 465, 470, 467,
+ 469, 445, 464, 464, 445, 457, 470, 457, 468, 472,
+ 457, 471, 465, 468, 476, 457, 466, 466, 475, 471,
+ 469, 457, 457, 467, 474, 470, 467, 473, 477, 478,
+ 457, 479, 457, 474, 457, 472, 472, 457, 481, 473,
+ 475, 476, 457, 480, 482, 475, 484, 483, 457, 457,
+ 486, 474, 485, 488, 473, 479, 483, 481, 479, 477,
+
+ 478, 487, 491, 482, 480, 481, 493, 489, 484, 492,
+ 480, 482, 485, 484, 483, 489, 498, 486, 494, 485,
+ 487, 497, 492, 495, 488, 512, 491, 497, 487, 491,
+ 494, 495, 493, 493, 489, 499, 492, 500, 498, 503,
+ 504, 499, 502, 498, 500, 494, 501, 495, 497, 502,
+ 495, 501, 505, 507, 509, 0, 512, 503, 495, 508,
+ 506, 505, 499, 504, 500, 511, 503, 504, 506, 502,
+ 510, 507, 508, 501, 513, 509, 514, 510, 511, 505,
+ 507, 509, 515, 516, 517, 518, 508, 506, 519, 520,
+ 515, 518, 511, 524, 521, 522, 526, 510, 516, 514,
+
+ 525, 527, 523, 514, 522, 513, 517, 525, 529, 515,
+ 516, 517, 518, 528, 519, 519, 523, 538, 521, 532,
+ 520, 521, 522, 526, 524, 528, 530, 525, 527, 523,
+ 531, 529, 532, 531, 530, 529, 534, 0, 535, 538,
+ 528, 536, 537, 536, 538, 546, 532, 541, 539, 540,
+ 535, 546, 0, 530, 537, 549, 0, 531, 533, 534,
+ 533, 539, 540, 534, 533, 535, 533, 542, 536, 537,
+ 541, 533, 546, 543, 541, 539, 540, 544, 559, 542,
+ 0, 548, 533, 543, 545, 533, 549, 533, 547, 0,
+ 552, 533, 0, 533, 542, 543, 551, 545, 533, 544,
+
+ 543, 547, 548, 552, 544, 559, 562, 550, 548, 553,
+ 543, 545, 550, 555, 550, 547, 554, 552, 551, 556,
+ 558, 564, 560, 551, 553, 0, 563, 0, 558, 564,
+ 566, 557, 550, 550, 550, 555, 553, 562, 556, 550,
+ 555, 550, 554, 554, 557, 560, 556, 558, 564, 560,
+ 563, 565, 566, 563, 567, 568, 569, 566, 557, 550,
+ 571, 572, 567, 570, 569, 565, 573, 571, 574, 576,
+ 577, 0, 0, 568, 572, 583, 579, 576, 565, 577,
+ 578, 567, 568, 569, 573, 570, 580, 571, 572, 581,
+ 570, 582, 578, 573, 584, 588, 576, 577, 579, 574,
+
+ 586, 583, 583, 579, 586, 589, 591, 578, 580, 582,
+ 598, 581, 587, 580, 590, 587, 581, 589, 582, 588,
+ 592, 590, 588, 593, 594, 584, 592, 595, 597, 596,
+ 591, 586, 589, 591, 599, 600, 601, 598, 587, 587,
+ 596, 590, 587, 612, 600, 593, 594, 592, 595, 597,
+ 593, 594, 599, 606, 595, 597, 596, 602, 604, 603,
+ 601, 599, 600, 601, 605, 604, 602, 603, 607, 609,
+ 608, 610, 613, 611, 612, 606, 0, 614, 605, 608,
+ 606, 615, 0, 0, 602, 604, 603, 610, 611, 614,
+ 607, 605, 617, 609, 616, 607, 609, 608, 610, 618,
+
+ 611, 620, 616, 613, 614, 617, 621, 622, 615, 623,
+ 620, 623, 626, 628, 618, 622, 629, 627, 630, 617,
+ 628, 616, 0, 631, 621, 626, 618, 0, 620, 627,
+ 632, 634, 638, 621, 622, 633, 623, 0, 637, 626,
+ 628, 0, 635, 632, 627, 631, 637, 629, 633, 630,
+ 631, 636, 639, 634, 635, 640, 646, 632, 634, 638,
+ 641, 639, 633, 636, 642, 637, 643, 641, 645, 635,
+ 0, 648, 644, 0, 649, 647, 640, 650, 636, 639,
+ 646, 645, 640, 646, 647, 650, 651, 641, 643, 648,
+ 642, 642, 644, 643, 653, 645, 649, 652, 648, 644,
+
+ 654, 649, 647, 655, 650, 652, 658, 656, 651, 0,
+ 657, 660, 0, 651, 658, 655, 659, 653, 654, 656,
+ 660, 653, 659, 661, 652, 657, 666, 654, 662, 663,
+ 655, 664, 667, 658, 656, 668, 663, 657, 660, 669,
+ 662, 670, 675, 659, 661, 667, 669, 671, 676, 664,
+ 661, 671, 672, 673, 668, 662, 663, 666, 664, 667,
+ 672, 677, 668, 670, 674, 678, 669, 673, 670, 679,
+ 684, 680, 681, 675, 676, 676, 683, 682, 671, 672,
+ 673, 685, 674, 677, 686, 683, 687, 678, 677, 680,
+ 682, 674, 678, 0, 681, 679, 679, 691, 680, 681,
+
+ 689, 684, 692, 683, 682, 694, 686, 696, 0, 687,
+ 688, 686, 685, 687, 692, 688, 689, 688, 694, 688,
+ 691, 693, 697, 695, 691, 700, 696, 689, 688, 692,
+ 693, 695, 694, 702, 696, 697, 698, 688, 699, 701,
+ 699, 707, 688, 704, 688, 698, 688, 705, 693, 697,
+ 695, 701, 700, 706, 709, 708, 710, 711, 714, 721,
+ 702, 706, 708, 698, 712, 699, 701, 704, 707, 705,
+ 704, 712, 713, 715, 705, 716, 718, 714, 710, 717,
+ 706, 709, 708, 710, 711, 714, 722, 719, 717, 723,
+ 721, 712, 724, 727, 713, 715, 731, 718, 728, 713,
+
+ 715, 716, 716, 718, 725, 726, 717, 719, 729, 727,
+ 735, 723, 732, 726, 719, 729, 723, 722, 0, 732,
+ 727, 734, 725, 724, 730, 728, 733, 731, 730, 743,
+ 734, 725, 726, 733, 736, 729, 735, 735, 737, 732,
+ 737, 736, 739, 738, 740, 742, 739, 743, 734, 742,
+ 745, 730, 738, 733, 744, 746, 743, 747, 749, 750,
+ 748, 736, 751, 751, 0, 737, 740, 750, 746, 739,
+ 738, 740, 753, 744, 749, 745, 742, 745, 756, 0,
+ 760, 744, 746, 748, 752, 749, 750, 748, 747, 751,
+ 755, 754, 760, 752, 753, 757, 759, 755, 758, 753,
+
+ 754, 756, 761, 771, 757, 756, 758, 760, 762, 759,
+ 761, 752, 763, 766, 764, 765, 767, 755, 754, 772,
+ 0, 769, 757, 759, 765, 758, 768, 769, 767, 761,
+ 762, 766, 763, 770, 771, 762, 764, 773, 775, 763,
+ 766, 764, 765, 767, 776, 777, 778, 768, 769, 780,
+ 772, 781, 779, 768, 778, 770, 779, 0, 777, 781,
+ 770, 782, 784, 773, 773, 775, 776, 783, 783, 782,
+ 784, 776, 777, 778, 785, 786, 780, 787, 781, 0,
+ 791, 792, 788, 779, 789, 787, 793, 792, 782, 784,
+ 788, 790, 789, 791, 783, 785, 794, 795, 793, 790,
+
+ 797, 785, 796, 798, 787, 799, 786, 791, 792, 788,
+ 800, 789, 799, 793, 797, 804, 801, 802, 790, 795,
+ 808, 798, 794, 794, 795, 796, 803, 797, 809, 796,
+ 798, 810, 799, 803, 812, 0, 806, 800, 801, 814,
+ 802, 816, 808, 801, 802, 806, 804, 808, 817, 819,
+ 821, 819, 818, 803, 809, 809, 820, 823, 822, 828,
+ 824, 812, 810, 806, 818, 816, 814, 824, 816, 820,
+ 822, 825, 821, 826, 817, 817, 819, 821, 826, 818,
+ 827, 829, 828, 820, 823, 822, 828, 824, 830, 829,
+ 832, 833, 840, 834, 835, 836, 827, 825, 825, 832,
+
+ 826, 835, 836, 838, 833, 837, 841, 827, 829, 839,
+ 830, 842, 837, 841, 843, 830, 844, 832, 833, 834,
+ 834, 835, 836, 840, 842, 847, 846, 848, 838, 846,
+ 838, 839, 837, 841, 851, 852, 839, 844, 842, 849,
+ 853, 843, 848, 844, 850, 856, 849, 850, 854, 857,
+ 858, 847, 847, 846, 848, 859, 863, 852, 853, 850,
+ 863, 855, 852, 855, 859, 851, 849, 853, 850, 856,
+ 854, 850, 856, 860, 850, 854, 858, 858, 861, 862,
+ 857, 860, 859, 863, 865, 861, 850, 864, 855, 867,
+ 866, 870, 868, 871, 873, 869, 872, 0, 867, 868,
+
+ 860, 862, 869, 878, 870, 861, 862, 876, 871, 864,
+ 872, 865, 866, 876, 864, 878, 867, 866, 870, 868,
+ 871, 874, 869, 872, 875, 873, 879, 881, 874, 880,
+ 878, 875, 880, 884, 876, 886, 889, 885, 881, 887,
+ 888, 892, 893, 0, 889, 0, 879, 880, 874, 0,
+ 887, 875, 890, 879, 881, 890, 880, 886, 888, 880,
+ 884, 885, 886, 889, 885, 891, 887, 888, 894, 893,
+ 890, 895, 892, 900, 897, 894, 898, 896, 898, 890,
+ 899, 902, 890, 891, 904, 895, 896, 897, 906, 899,
+ 902, 901, 891, 907, 909, 894, 905, 910, 895, 900,
+
+ 900, 897, 901, 898, 896, 905, 908, 899, 902, 914,
+ 911, 910, 915, 908, 907, 904, 911, 0, 901, 906,
+ 907, 916, 918, 905, 910, 909, 915, 917, 914, 919,
+ 916, 922, 920, 908, 911, 917, 914, 911, 922, 915,
+ 919, 920, 923, 911, 924, 925, 926, 928, 916, 929,
+ 930, 928, 927, 918, 917, 934, 919, 938, 922, 920,
+ 939, 929, 931, 932, 0, 923, 924, 925, 926, 923,
+ 927, 924, 925, 926, 928, 931, 929, 930, 932, 927,
+ 933, 935, 936, 937, 938, 941, 934, 939, 942, 931,
+ 932, 936, 944, 945, 947, 933, 935, 0, 943, 953,
+
+ 948, 946, 952, 941, 937, 949, 947, 933, 935, 936,
+ 937, 945, 941, 943, 944, 942, 946, 950, 949, 944,
+ 945, 947, 948, 949, 950, 943, 951, 948, 946, 952,
+ 953, 954, 949, 955, 957, 956, 958, 954, 951, 959,
+ 960, 955, 956, 958, 950, 949, 961, 962, 964, 966,
+ 0, 968, 0, 951, 967, 965, 967, 969, 954, 970,
+ 955, 957, 956, 958, 965, 0, 959, 960, 972, 973,
+ 976, 962, 977, 977, 962, 972, 973, 961, 968, 964,
+ 966, 967, 965, 969, 969, 971, 974, 971, 975, 981,
+ 970, 978, 971, 974, 975, 972, 973, 976, 979, 977,
+
+ 971, 982, 984, 985, 0, 979, 987, 981, 983, 986,
+ 986, 992, 971, 974, 971, 975, 981, 978, 978, 971,
+ 983, 985, 984, 988, 988, 979, 989, 991, 982, 984,
+ 985, 993, 987, 987, 995, 983, 986, 989, 993, 994,
+ 996, 998, 992, 999, 1000, 997, 1003, 1004, 998, 991,
+ 988, 1006, 1000, 989, 991, 999, 1002, 1001, 993, 994,
+ 1005, 995, 996, 997, 1003, 1005, 994, 996, 998, 1001,
+ 999, 1000, 997, 1003, 1004, 1007, 1005, 1002, 1006, 1009,
+ 1008, 1007, 1010, 1002, 1001, 1011, 1012, 1005, 1014, 1011,
+ 0, 1015, 1005, 1008, 1013, 1013, 1016, 1017, 1018, 1019,
+
+ 1020, 1019, 1007, 1014, 1022, 1025, 1026, 1008, 0, 1010,
+ 1009, 1016, 1023, 1018, 1021, 1014, 1011, 1012, 1027, 1021,
+ 1017, 1013, 1015, 1016, 1017, 1018, 1019, 1023, 1028, 1025,
+ 1029, 1020, 1025, 1026, 1037, 1022, 1031, 1030, 1034, 1023,
+ 1038, 1021, 1039, 1041, 1036, 1027, 0, 1038, 1044, 1028,
+ 1042, 1041, 1029, 1034, 1031, 1028, 1043, 1029, 1030, 1036,
+ 1039, 1037, 0, 1031, 1030, 1034, 1040, 1038, 1045, 1039,
+ 1041, 1036, 1049, 1042, 1047, 1040, 1050, 1042, 1043, 1044,
+ 1048, 1045, 1052, 1043, 1055, 1047, 1056, 1058, 1057, 1048,
+ 1049, 1059, 1060, 1040, 1050, 1045, 0, 1055, 1057, 1049,
+
+ 1047, 1047, 1062, 1050, 1064, 0, 1066, 1048, 1067, 1052,
+ 1068, 1055, 1047, 1058, 1058, 1057, 1059, 1056, 1059, 1060,
+ 1063, 1066, 1062, 1067, 1069, 1068, 1065, 1063, 1072, 1062,
+ 1064, 1064, 1065, 1066, 1070, 1067, 1069, 1068, 1073, 1074,
+ 1075, 1070, 1078, 1077, 1079, 1079, 1080, 1063, 1074, 1081,
+ 1072, 1069, 1086, 1065, 0, 1072, 1077, 1082, 1075, 1083,
+ 0, 1070, 1091, 1073, 0, 1073, 1074, 1075, 1080, 1078,
+ 1077, 1079, 1087, 1080, 1081, 1085, 1081, 1089, 1084, 1082,
+ 1090, 1083, 1085, 1086, 1082, 1089, 1083, 1084, 1092, 1091,
+ 1095, 1094, 1093, 1090, 1087, 1093, 1096, 0, 1098, 1087,
+
+ 1101, 0, 1085, 1092, 1089, 1084, 1099, 1090, 1095, 1105,
+ 1093, 1096, 1111, 1107, 1101, 1092, 1094, 1095, 1094, 1093,
+ 1098, 1103, 1093, 1096, 1102, 1098, 1108, 1101, 1099, 1110,
+ 1105, 1102, 1103, 1099, 1107, 1109, 1105, 1109, 1108, 1111,
+ 1107, 1112, 1113, 1115, 1114, 1116, 1117, 1110, 1103, 1118,
+ 1123, 1102, 1114, 1108, 1124, 1119, 1110, 1122, 1127, 1112,
+ 1117, 1126, 1109, 1125, 1130, 0, 1115, 1116, 1112, 1113,
+ 1115, 1114, 1116, 1117, 1119, 1122, 1118, 1123, 1125, 1133,
+ 1124, 1124, 1119, 1126, 1122, 1127, 1130, 1129, 1126, 1129,
+ 1125, 1130, 1131, 1132, 1134, 1136, 1131, 1135, 1138, 0,
+
+ 1137, 1133, 0, 1134, 1139, 1132, 1133, 1141, 1135, 1144,
+ 1138, 1140, 1140, 1143, 1129, 1141, 1143, 1144, 1146, 1131,
+ 1132, 1134, 1136, 1137, 1135, 1138, 1139, 1137, 1149, 1145,
+ 1150, 1139, 1151, 1146, 1141, 1145, 1144, 1147, 1140, 1152,
+ 1143, 1153, 1154, 1147, 1155, 1146, 1151, 1156, 1157, 1158,
+ 1159, 1160, 1161, 1152, 1150, 1149, 1145, 1150, 1159, 1151,
+ 1164, 1156, 1162, 1165, 1147, 1166, 1152, 1153, 1153, 1154,
+ 1162, 1155, 1167, 1166, 1156, 1157, 1158, 1159, 1160, 1161,
+ 1169, 1170, 1164, 1171, 1168, 1172, 1173, 1164, 1174, 1162,
+ 1165, 1176, 1166, 1168, 1173, 1177, 1177, 1178, 1171, 1167,
+
+ 0, 1169, 1179, 1183, 1180, 1170, 1181, 1169, 1170, 1171,
+ 1171, 1168, 1172, 1173, 1182, 1174, 1182, 1183, 1176, 1180,
+ 1179, 1184, 1177, 1178, 1178, 1171, 1186, 1184, 1181, 1179,
+ 1183, 1180, 1185, 1181, 1187, 1190, 1189, 1188, 1186, 1197,
+ 1193, 1182, 1191, 0, 1195, 0, 1196, 1193, 1184, 1189,
+ 1198, 1205, 1187, 1186, 1185, 1188, 1200, 1203, 1198, 1185,
+ 1201, 1187, 1195, 1189, 1188, 1191, 1190, 1193, 1200, 1191,
+ 1197, 1195, 1196, 1196, 1204, 1201, 1198, 1198, 1205, 1207,
+ 1208, 1203, 1209, 1200, 1203, 1198, 1211, 1201, 1210, 1212,
+ 0, 1213, 0, 1208, 0, 1216, 1204, 1212, 1215, 1211,
+
+ 1217, 1204, 1218, 1210, 1219, 1220, 1207, 1208, 1209, 1209,
+ 1223, 1219, 1222, 1211, 0, 1210, 1212, 1213, 1213, 1216,
+ 1243, 1215, 1216, 1221, 1218, 1215, 1224, 1217, 1220, 1218,
+ 1221, 1219, 1220, 1226, 1222, 1227, 1228, 1235, 0, 1222,
+ 1229, 1223, 1232, 0, 1226, 1239, 1241, 1224, 1238, 1246,
+ 1221, 1243, 1244, 1224, 1246, 1228, 1249, 1227, 1247, 1252,
+ 1226, 1254, 1227, 1228, 1235, 1229, 1245, 1229, 1232, 1232,
+ 1238, 1253, 1239, 1241, 1254, 1238, 1246, 1245, 1244, 1244,
+ 1247, 1252, 1255, 1249, 1256, 1247, 1252, 1257, 1254, 1258,
+ 1259, 1260, 1261, 1245, 0, 1262, 1253, 1263, 1253, 1264,
+
+ 1260, 1265, 1266, 1271, 1255, 1259, 1271, 1261, 1265, 1255,
+ 1262, 1256, 1263, 1267, 1257, 1276, 1258, 1259, 1260, 1261,
+ 1269, 1264, 1262, 1270, 1263, 1272, 1264, 1269, 1265, 1266,
+ 1271, 1267, 1268, 1268, 1273, 1274, 1275, 1270, 1272, 1279,
+ 1267, 1282, 1276, 1273, 1280, 1288, 1279, 1269, 1282, 1281,
+ 1270, 1283, 1272, 1280, 1281, 1285, 1289, 1274, 1275, 1268,
+ 1284, 1273, 1274, 1275, 1285, 1286, 1279, 1284, 1282, 1283,
+ 1291, 1280, 1288, 1290, 1289, 1292, 1281, 1293, 1283, 1291,
+ 1295, 1294, 1285, 1289, 1292, 1290, 1296, 1284, 1293, 1294,
+ 0, 1286, 1286, 1297, 1299, 1298, 0, 1291, 1301, 1305,
+
+ 1290, 1299, 1292, 1298, 1293, 1297, 1301, 1295, 1294, 1304,
+ 1306, 1310, 1307, 0, 1312, 1313, 1304, 1296, 1308, 0,
+ 1297, 1299, 1298, 1305, 1307, 1301, 1305, 1308, 1317, 1318,
+ 1319, 1320, 1311, 1329, 1318, 1330, 1304, 1306, 1310, 1307,
+ 1311, 1312, 1313, 1321, 1322, 1308, 1326, 1323, 1319, 1325,
+ 1327, 1328, 1322, 1320, 1317, 1317, 1318, 1319, 1320, 1311,
+ 1329, 1325, 1330, 1328, 1331, 1321, 1323, 1332, 1326, 1333,
+ 1321, 1322, 1327, 1326, 1323, 1335, 1325, 1327, 1328, 0,
+ 1336, 1338, 1337, 1340, 0, 1339, 1342, 0, 0, 1341,
+ 1344, 1345, 0, 0, 1332, 1331, 1333, 1339, 1348, 1338,
+
+ 1353, 1342, 1340, 1336, 1337, 1345, 1335, 1336, 1338, 1337,
+ 1340, 1341, 1339, 1342, 1344, 1346, 1341, 1344, 1345, 1347,
+ 1349, 1351, 1352, 1354, 1348, 1348, 1355, 1353, 1362, 1351,
+ 1352, 1360, 1356, 1346, 1357, 1368, 1359, 1347, 1349, 1366,
+ 0, 1354, 1346, 1367, 1369, 1360, 1347, 1349, 1351, 1352,
+ 1354, 1356, 1370, 1355, 1359, 1362, 1357, 1365, 1360, 1356,
+ 1371, 1357, 1368, 1359, 1365, 1366, 1366, 1367, 1372, 1371,
+ 1367, 1369, 1373, 1374, 1375, 1378, 0, 1382, 1384, 1370,
+ 1383, 1372, 1381, 1381, 1365, 1384, 1386, 1371, 1390, 1383,
+ 1387, 0, 1381, 1385, 1392, 1372, 1378, 1375, 1387, 1382,
+
+ 1374, 1375, 1378, 1373, 1382, 1384, 1385, 1383, 1388, 1381,
+ 1381, 1389, 1391, 1386, 1390, 1390, 1392, 1387, 1393, 1389,
+ 1385, 1392, 1395, 1391, 1396, 1393, 1398, 1388, 1394, 1394,
+ 1401, 1396, 1400, 1402, 1403, 1388, 1405, 0, 1389, 1391,
+ 1395, 1400, 1407, 1406, 1407, 1393, 1411, 0, 1412, 1395,
+ 1398, 1396, 1403, 1398, 1405, 1394, 1402, 1401, 1406, 1400,
+ 1402, 1403, 1413, 1405, 1415, 1416, 1417, 1422, 1411, 1407,
+ 1406, 1420, 1417, 1411, 1412, 1412, 1418, 1421, 1419, 1421,
+ 1413, 1426, 1424, 1416, 1425, 0, 1415, 1419, 1427, 1413,
+ 1424, 1415, 1416, 1417, 1422, 1430, 1425, 1431, 1418, 1428,
+
+ 1432, 1432, 1420, 1418, 1421, 1419, 1427, 1434, 1426, 1424,
+ 1428, 1425, 1429, 1433, 1430, 1427, 1435, 1437, 1438, 1431,
+ 1429, 1433, 1430, 1439, 1431, 1438, 1428, 1432, 1439, 1440,
+ 1441, 1443, 1445, 1442, 1434, 1444, 1446, 1449, 1435, 1429,
+ 1433, 1442, 1444, 1435, 1437, 1438, 1443, 1447, 1451, 1453,
+ 1439, 1446, 0, 1448, 1450, 1450, 1440, 1441, 1443, 1445,
+ 1442, 1448, 1444, 1446, 1450, 1454, 1456, 1457, 1449, 1447,
+ 1458, 1459, 1460, 1454, 1447, 1451, 1453, 1462, 1461, 1456,
+ 1448, 1450, 1450, 1464, 1466, 1467, 1471, 1470, 0, 1457,
+ 0, 0, 1454, 1456, 1457, 1472, 1474, 1458, 1459, 1460,
+
+ 1461, 1483, 1488, 0, 1462, 1461, 1470, 1467, 1476, 1464,
+ 1464, 1466, 1467, 1471, 1470, 1475, 1479, 1472, 1474, 1476,
+ 1477, 1477, 1472, 1474, 1475, 1478, 1482, 1484, 1483, 1488,
+ 1477, 1478, 1490, 1482, 1492, 1476, 1495, 1493, 1479, 1496,
+ 1500, 0, 1475, 1479, 1497, 1495, 1497, 1477, 1477, 1493,
+ 1484, 1499, 1478, 1482, 1484, 1490, 1498, 1499, 1501, 1490,
+ 1503, 1492, 1500, 1495, 1493, 1502, 1496, 1500, 1498, 1505,
+ 1507, 1497, 1510, 1502, 1509, 1512, 0, 1513, 1499, 0,
+ 1501, 1514, 1516, 1498, 1517, 1501, 1515, 1503, 1523, 1509,
+ 1513, 1516, 1502, 1521, 1515, 1517, 1505, 1507, 1510, 1510,
+
+ 1522, 1509, 1523, 1514, 1513, 1525, 1512, 1522, 1514, 1516,
+ 1524, 1517, 1526, 1515, 1525, 1523, 1521, 1527, 1524, 1527,
+ 1521, 1528, 1529, 1526, 1530, 1531, 1534, 1522, 1532, 1533,
+ 1535, 1533, 1525, 1528, 1540, 1539, 1541, 1524, 1534, 1526,
+ 0, 1536, 1530, 1539, 1527, 1538, 1542, 1531, 1528, 1529,
+ 1532, 1530, 1531, 1534, 1536, 1532, 1533, 1538, 1544, 1542,
+ 1543, 1535, 1539, 1545, 1547, 1540, 1544, 1541, 1536, 1546,
+ 1548, 1549, 1538, 1542, 1543, 1558, 1545, 1546, 1547, 1549,
+ 1550, 1551, 0, 1553, 1548, 1544, 1552, 1543, 0, 1554,
+ 1545, 1547, 1555, 1556, 1552, 1559, 1546, 1548, 1549, 1563,
+
+ 0, 1560, 1550, 1551, 1557, 0, 1558, 1550, 1551, 1553,
+ 1553, 1554, 1557, 1552, 1555, 1556, 1554, 1561, 1562, 1555,
+ 1556, 1560, 1559, 1565, 1564, 1561, 1562, 1567, 1560, 1570,
+ 1563, 1557, 1564, 1568, 1569, 0, 1571, 1565, 1574, 1573,
+ 0, 1568, 1569, 1570, 1561, 1562, 1572, 1573, 1575, 1567,
+ 1565, 1564, 1577, 1579, 1567, 1576, 1570, 0, 1580, 1578,
+ 1568, 1569, 1571, 1571, 1574, 1574, 1573, 1578, 1572, 1581,
+ 1583, 1586, 1577, 1572, 1575, 1575, 1582, 1576, 1580, 1577,
+ 1579, 0, 1576, 1584, 1582, 1580, 1578, 1587, 1594, 1581,
+ 1590, 1584, 1583, 1586, 1588, 1596, 1581, 1583, 1586, 1589,
+
+ 1591, 1597, 1588, 1582, 1592, 0, 1593, 1589, 1591, 1587,
+ 1584, 0, 1592, 1600, 1587, 1594, 1590, 1590, 1595, 1598,
+ 1603, 1588, 1596, 1606, 1607, 0, 1589, 1591, 1597, 1604,
+ 0, 1592, 1593, 1593, 0, 1600, 1605, 1604, 1595, 1598,
+ 1600, 0, 1603, 0, 1605, 1595, 1598, 1603, 0, 0,
+ 1606, 1607, 0, 0, 0, 0, 1604, 0, 0, 0,
+ 0, 0, 0, 1605, 1611, 1611, 1611, 1611, 1611, 1611,
+ 1611, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1613, 1613,
+ 1613, 1613, 1613, 1613, 1613, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1617,
+
+ 1617, 0, 1617, 1617, 1617, 1617, 1618, 1618, 0, 0,
+ 0, 1618, 1618, 1619, 1619, 0, 0, 1619, 0, 1619,
+ 1620, 0, 0, 0, 0, 0, 1620, 1621, 1621, 0,
+ 0, 0, 1621, 1621, 1622, 0, 0, 0, 0, 0,
+ 1622, 1623, 1623, 0, 1623, 1623, 1623, 1623, 1624, 1624,
+ 0, 1624, 1624, 1624, 1624, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610
} ;
static yy_state_type yy_last_accepting_state;
@@ -1815,7 +2036,6 @@ char *yytext;
* See LICENSE for the license.
*
*/
-
#include <ctype.h>
#include <string.h>
#include <strings.h>
@@ -1980,7 +2200,7 @@ static void config_end_include(void)
#endif
#define YY_NO_INPUT 1
-#line 178 "util/configlexer.lex"
+#line 177 "util/configlexer.lex"
#ifndef YY_NO_UNPUT
#define YY_NO_UNPUT 1
#endif
@@ -1988,7 +2208,7 @@ static void config_end_include(void)
#define YY_NO_INPUT 1
#endif
-#line 1990 "<stdout>"
+#line 2210 "<stdout>"
#define INITIAL 0
#define quotedstring 1
@@ -2173,9 +2393,9 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 198 "util/configlexer.lex"
+#line 197 "util/configlexer.lex"
-#line 2177 "<stdout>"
+#line 2397 "<stdout>"
if ( !(yy_init) )
{
@@ -2234,13 +2454,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 >= 1383 )
+ if ( yy_current_state >= 1611 )
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] != 4001 );
+ while ( yy_base[yy_current_state] != 4656 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -2266,668 +2486,754 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 199 "util/configlexer.lex"
+#line 198 "util/configlexer.lex"
{
LEXOUT(("SP ")); /* ignore */ }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 201 "util/configlexer.lex"
+#line 200 "util/configlexer.lex"
{
/* note that flex makes the longest match and '.' is any but not nl */
LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 204 "util/configlexer.lex"
+#line 203 "util/configlexer.lex"
{ YDVAR(0, VAR_SERVER) }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 205 "util/configlexer.lex"
+#line 204 "util/configlexer.lex"
{ YDVAR(1, VAR_NUM_THREADS) }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 206 "util/configlexer.lex"
+#line 205 "util/configlexer.lex"
{ YDVAR(1, VAR_VERBOSITY) }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 207 "util/configlexer.lex"
+#line 206 "util/configlexer.lex"
{ YDVAR(1, VAR_PORT) }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 208 "util/configlexer.lex"
+#line 207 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_RANGE) }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 209 "util/configlexer.lex"
+#line 208 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 210 "util/configlexer.lex"
+#line 209 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 211 "util/configlexer.lex"
+#line 210 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_NUM_TCP) }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 212 "util/configlexer.lex"
+#line 211 "util/configlexer.lex"
{ YDVAR(1, VAR_INCOMING_NUM_TCP) }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 213 "util/configlexer.lex"
+#line 212 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_IP4) }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 214 "util/configlexer.lex"
+#line 213 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_IP6) }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 215 "util/configlexer.lex"
+#line 214 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_UDP) }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 216 "util/configlexer.lex"
+#line 215 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_TCP) }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 217 "util/configlexer.lex"
+#line 216 "util/configlexer.lex"
{ YDVAR(1, VAR_TCP_UPSTREAM) }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 218 "util/configlexer.lex"
+#line 217 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_UPSTREAM) }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 219 "util/configlexer.lex"
+#line 218 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 220 "util/configlexer.lex"
+#line 219 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 221 "util/configlexer.lex"
+#line 220 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_PORT) }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 222 "util/configlexer.lex"
+#line 221 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_DAEMONIZE) }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 223 "util/configlexer.lex"
+#line 222 "util/configlexer.lex"
{ YDVAR(1, VAR_INTERFACE) }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 224 "util/configlexer.lex"
+#line 223 "util/configlexer.lex"
{ YDVAR(1, VAR_INTERFACE) }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 225 "util/configlexer.lex"
+#line 224 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_INTERFACE) }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 226 "util/configlexer.lex"
+#line 225 "util/configlexer.lex"
{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 227 "util/configlexer.lex"
+#line 226 "util/configlexer.lex"
{ YDVAR(1, VAR_SO_RCVBUF) }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 228 "util/configlexer.lex"
+#line 227 "util/configlexer.lex"
{ YDVAR(1, VAR_SO_SNDBUF) }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 229 "util/configlexer.lex"
+#line 228 "util/configlexer.lex"
{ YDVAR(1, VAR_SO_REUSEPORT) }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 230 "util/configlexer.lex"
+#line 229 "util/configlexer.lex"
{ YDVAR(1, VAR_CHROOT) }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 231 "util/configlexer.lex"
+#line 230 "util/configlexer.lex"
{ YDVAR(1, VAR_USERNAME) }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 232 "util/configlexer.lex"
+#line 231 "util/configlexer.lex"
{ YDVAR(1, VAR_DIRECTORY) }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 233 "util/configlexer.lex"
+#line 232 "util/configlexer.lex"
{ YDVAR(1, VAR_LOGFILE) }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 234 "util/configlexer.lex"
+#line 233 "util/configlexer.lex"
{ YDVAR(1, VAR_PIDFILE) }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 235 "util/configlexer.lex"
+#line 234 "util/configlexer.lex"
{ YDVAR(1, VAR_ROOT_HINTS) }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 236 "util/configlexer.lex"
+#line 235 "util/configlexer.lex"
{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 237 "util/configlexer.lex"
+#line 236 "util/configlexer.lex"
{ YDVAR(1, VAR_MSG_BUFFER_SIZE) }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 238 "util/configlexer.lex"
+#line 237 "util/configlexer.lex"
{ YDVAR(1, VAR_MSG_CACHE_SIZE) }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 239 "util/configlexer.lex"
+#line 238 "util/configlexer.lex"
{ YDVAR(1, VAR_MSG_CACHE_SLABS) }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 240 "util/configlexer.lex"
+#line 239 "util/configlexer.lex"
{ YDVAR(1, VAR_RRSET_CACHE_SIZE) }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 241 "util/configlexer.lex"
+#line 240 "util/configlexer.lex"
{ YDVAR(1, VAR_RRSET_CACHE_SLABS) }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 242 "util/configlexer.lex"
+#line 241 "util/configlexer.lex"
{ YDVAR(1, VAR_CACHE_MAX_TTL) }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 243 "util/configlexer.lex"
+#line 242 "util/configlexer.lex"
{ YDVAR(1, VAR_CACHE_MIN_TTL) }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 244 "util/configlexer.lex"
+#line 243 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_HOST_TTL) }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 245 "util/configlexer.lex"
+#line 244 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_LAME_TTL) }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 246 "util/configlexer.lex"
+#line 245 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 247 "util/configlexer.lex"
+#line 246 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 248 "util/configlexer.lex"
+#line 247 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 249 "util/configlexer.lex"
+#line 248 "util/configlexer.lex"
{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 250 "util/configlexer.lex"
+#line 249 "util/configlexer.lex"
{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 251 "util/configlexer.lex"
+#line 250 "util/configlexer.lex"
{ YDVAR(1, VAR_DELAY_CLOSE) }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 252 "util/configlexer.lex"
+#line 251 "util/configlexer.lex"
{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 253 "util/configlexer.lex"
+#line 252 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 254 "util/configlexer.lex"
+#line 253 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 255 "util/configlexer.lex"
+#line 254 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_GLUE) }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 256 "util/configlexer.lex"
+#line 255 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 257 "util/configlexer.lex"
+#line 256 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 258 "util/configlexer.lex"
+#line 257 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 259 "util/configlexer.lex"
+#line 258 "util/configlexer.lex"
{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 260 "util/configlexer.lex"
+#line 259 "util/configlexer.lex"
{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 261 "util/configlexer.lex"
+#line 260 "util/configlexer.lex"
{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 262 "util/configlexer.lex"
+#line 261 "util/configlexer.lex"
{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 263 "util/configlexer.lex"
+#line 262 "util/configlexer.lex"
{ YDVAR(1, VAR_PREFETCH_KEY) }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 264 "util/configlexer.lex"
+#line 263 "util/configlexer.lex"
{ YDVAR(1, VAR_PREFETCH) }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 265 "util/configlexer.lex"
+#line 264 "util/configlexer.lex"
{ YDVAR(0, VAR_STUB_ZONE) }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 266 "util/configlexer.lex"
+#line 265 "util/configlexer.lex"
{ YDVAR(1, VAR_NAME) }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 267 "util/configlexer.lex"
+#line 266 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_ADDR) }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 268 "util/configlexer.lex"
+#line 267 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_HOST) }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 269 "util/configlexer.lex"
+#line 268 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_PRIME) }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 270 "util/configlexer.lex"
+#line 269 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_FIRST) }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 271 "util/configlexer.lex"
+#line 270 "util/configlexer.lex"
{ YDVAR(0, VAR_FORWARD_ZONE) }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 272 "util/configlexer.lex"
+#line 271 "util/configlexer.lex"
{ YDVAR(1, VAR_FORWARD_ADDR) }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 273 "util/configlexer.lex"
+#line 272 "util/configlexer.lex"
{ YDVAR(1, VAR_FORWARD_HOST) }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 274 "util/configlexer.lex"
+#line 273 "util/configlexer.lex"
{ YDVAR(1, VAR_FORWARD_FIRST) }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 275 "util/configlexer.lex"
+#line 274 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 276 "util/configlexer.lex"
+#line 275 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 277 "util/configlexer.lex"
+#line 276 "util/configlexer.lex"
{ YDVAR(2, VAR_ACCESS_CONTROL) }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 278 "util/configlexer.lex"
+#line 277 "util/configlexer.lex"
{ YDVAR(1, VAR_HIDE_IDENTITY) }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 279 "util/configlexer.lex"
+#line 278 "util/configlexer.lex"
{ YDVAR(1, VAR_HIDE_VERSION) }
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 280 "util/configlexer.lex"
+#line 279 "util/configlexer.lex"
{ YDVAR(1, VAR_IDENTITY) }
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 281 "util/configlexer.lex"
+#line 280 "util/configlexer.lex"
{ YDVAR(1, VAR_VERSION) }
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 282 "util/configlexer.lex"
+#line 281 "util/configlexer.lex"
{ YDVAR(1, VAR_MODULE_CONF) }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 283 "util/configlexer.lex"
+#line 282 "util/configlexer.lex"
{ YDVAR(1, VAR_DLV_ANCHOR) }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 284 "util/configlexer.lex"
+#line 283 "util/configlexer.lex"
{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 285 "util/configlexer.lex"
+#line 284 "util/configlexer.lex"
{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 286 "util/configlexer.lex"
+#line 285 "util/configlexer.lex"
{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 287 "util/configlexer.lex"
+#line 286 "util/configlexer.lex"
{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 288 "util/configlexer.lex"
+#line 287 "util/configlexer.lex"
{ YDVAR(1, VAR_TRUST_ANCHOR) }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 289 "util/configlexer.lex"
+#line 288 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 290 "util/configlexer.lex"
+#line 289 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 291 "util/configlexer.lex"
+#line 290 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 292 "util/configlexer.lex"
+#line 291 "util/configlexer.lex"
{ YDVAR(1, VAR_BOGUS_TTL) }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 293 "util/configlexer.lex"
+#line 292 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 294 "util/configlexer.lex"
+#line 293 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 295 "util/configlexer.lex"
+#line 294 "util/configlexer.lex"
{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 296 "util/configlexer.lex"
+#line 295 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 297 "util/configlexer.lex"
+#line 296 "util/configlexer.lex"
{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 298 "util/configlexer.lex"
+#line 297 "util/configlexer.lex"
{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 299 "util/configlexer.lex"
+#line 298 "util/configlexer.lex"
{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 300 "util/configlexer.lex"
+#line 299 "util/configlexer.lex"
{
YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 302 "util/configlexer.lex"
+#line 301 "util/configlexer.lex"
{ YDVAR(1, VAR_ADD_HOLDDOWN) }
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 303 "util/configlexer.lex"
+#line 302 "util/configlexer.lex"
{ YDVAR(1, VAR_DEL_HOLDDOWN) }
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 304 "util/configlexer.lex"
+#line 303 "util/configlexer.lex"
{ YDVAR(1, VAR_KEEP_MISSING) }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 305 "util/configlexer.lex"
+#line 304 "util/configlexer.lex"
{ YDVAR(1, VAR_USE_SYSLOG) }
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 306 "util/configlexer.lex"
+#line 305 "util/configlexer.lex"
{ YDVAR(1, VAR_LOG_TIME_ASCII) }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 307 "util/configlexer.lex"
+#line 306 "util/configlexer.lex"
{ YDVAR(1, VAR_LOG_QUERIES) }
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 308 "util/configlexer.lex"
+#line 307 "util/configlexer.lex"
{ YDVAR(2, VAR_LOCAL_ZONE) }
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 309 "util/configlexer.lex"
+#line 308 "util/configlexer.lex"
{ YDVAR(1, VAR_LOCAL_DATA) }
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 310 "util/configlexer.lex"
+#line 309 "util/configlexer.lex"
{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
YY_BREAK
case 109:
YY_RULE_SETUP
+#line 310 "util/configlexer.lex"
+{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
+ YY_BREAK
+case 110:
+YY_RULE_SETUP
#line 311 "util/configlexer.lex"
{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
YY_BREAK
-case 110:
+case 111:
YY_RULE_SETUP
#line 312 "util/configlexer.lex"
{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
YY_BREAK
-case 111:
+case 112:
YY_RULE_SETUP
#line 313 "util/configlexer.lex"
{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
YY_BREAK
-case 112:
+case 113:
YY_RULE_SETUP
#line 314 "util/configlexer.lex"
{ YDVAR(0, VAR_REMOTE_CONTROL) }
YY_BREAK
-case 113:
+case 114:
YY_RULE_SETUP
#line 315 "util/configlexer.lex"
{ YDVAR(1, VAR_CONTROL_ENABLE) }
YY_BREAK
-case 114:
+case 115:
YY_RULE_SETUP
#line 316 "util/configlexer.lex"
{ YDVAR(1, VAR_CONTROL_INTERFACE) }
YY_BREAK
-case 115:
+case 116:
YY_RULE_SETUP
#line 317 "util/configlexer.lex"
{ YDVAR(1, VAR_CONTROL_PORT) }
YY_BREAK
-case 116:
+case 117:
YY_RULE_SETUP
#line 318 "util/configlexer.lex"
{ YDVAR(1, VAR_SERVER_KEY_FILE) }
YY_BREAK
-case 117:
+case 118:
YY_RULE_SETUP
#line 319 "util/configlexer.lex"
{ YDVAR(1, VAR_SERVER_CERT_FILE) }
YY_BREAK
-case 118:
+case 119:
YY_RULE_SETUP
#line 320 "util/configlexer.lex"
{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
YY_BREAK
-case 119:
+case 120:
YY_RULE_SETUP
#line 321 "util/configlexer.lex"
{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
YY_BREAK
-case 120:
+case 121:
YY_RULE_SETUP
#line 322 "util/configlexer.lex"
{ YDVAR(1, VAR_PYTHON_SCRIPT) }
YY_BREAK
-case 121:
+case 122:
YY_RULE_SETUP
#line 323 "util/configlexer.lex"
{ YDVAR(0, VAR_PYTHON) }
YY_BREAK
-case 122:
+case 123:
YY_RULE_SETUP
#line 324 "util/configlexer.lex"
{ YDVAR(1, VAR_DOMAIN_INSECURE) }
YY_BREAK
-case 123:
+case 124:
YY_RULE_SETUP
#line 325 "util/configlexer.lex"
{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
YY_BREAK
-case 124:
+case 125:
YY_RULE_SETUP
#line 326 "util/configlexer.lex"
{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
YY_BREAK
-case 125:
+case 126:
YY_RULE_SETUP
#line 327 "util/configlexer.lex"
{ YDVAR(1, VAR_MAX_UDP_SIZE) }
YY_BREAK
-case 126:
-/* rule 126 can match eol */
+case 127:
YY_RULE_SETUP
#line 328 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNS64_PREFIX) }
+ YY_BREAK
+case 128:
+YY_RULE_SETUP
+#line 329 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNS64_SYNTHALL) }
+ YY_BREAK
+case 129:
+YY_RULE_SETUP
+#line 330 "util/configlexer.lex"
+{ YDVAR(0, VAR_DNSTAP) }
+ YY_BREAK
+case 130:
+YY_RULE_SETUP
+#line 331 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_ENABLE) }
+ YY_BREAK
+case 131:
+YY_RULE_SETUP
+#line 332 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
+ YY_BREAK
+case 132:
+YY_RULE_SETUP
+#line 333 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
+ YY_BREAK
+case 133:
+YY_RULE_SETUP
+#line 334 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
+ YY_BREAK
+case 134:
+YY_RULE_SETUP
+#line 335 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
+ YY_BREAK
+case 135:
+YY_RULE_SETUP
+#line 336 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_VERSION) }
+ YY_BREAK
+case 136:
+YY_RULE_SETUP
+#line 337 "util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
+ YY_BREAK
+case 137:
+YY_RULE_SETUP
+#line 339 "util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
+ YY_BREAK
+case 138:
+YY_RULE_SETUP
+#line 341 "util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
+ YY_BREAK
+case 139:
+YY_RULE_SETUP
+#line 343 "util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
+ YY_BREAK
+case 140:
+YY_RULE_SETUP
+#line 345 "util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
+ YY_BREAK
+case 141:
+YY_RULE_SETUP
+#line 347 "util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
+ YY_BREAK
+case 142:
+/* rule 142 can match eol */
+YY_RULE_SETUP
+#line 349 "util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++; }
YY_BREAK
/* Quoted strings. Strip leading and ending quotes */
-case 127:
+case 143:
YY_RULE_SETUP
-#line 331 "util/configlexer.lex"
+#line 352 "util/configlexer.lex"
{ BEGIN(quotedstring); LEXOUT(("QS ")); }
YY_BREAK
case YY_STATE_EOF(quotedstring):
-#line 332 "util/configlexer.lex"
+#line 353 "util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 128:
+case 144:
YY_RULE_SETUP
-#line 337 "util/configlexer.lex"
+#line 358 "util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 129:
-/* rule 129 can match eol */
+case 145:
+/* rule 145 can match eol */
YY_RULE_SETUP
-#line 338 "util/configlexer.lex"
+#line 359 "util/configlexer.lex"
{ yyerror("newline inside quoted string, no end \"");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 130:
+case 146:
YY_RULE_SETUP
-#line 340 "util/configlexer.lex"
+#line 361 "util/configlexer.lex"
{
LEXOUT(("QE "));
if(--num_args == 0) { BEGIN(INITIAL); }
@@ -2940,34 +3246,34 @@ YY_RULE_SETUP
}
YY_BREAK
/* Single Quoted strings. Strip leading and ending quotes */
-case 131:
+case 147:
YY_RULE_SETUP
-#line 352 "util/configlexer.lex"
+#line 373 "util/configlexer.lex"
{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
YY_BREAK
case YY_STATE_EOF(singlequotedstr):
-#line 353 "util/configlexer.lex"
+#line 374 "util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 132:
+case 148:
YY_RULE_SETUP
-#line 358 "util/configlexer.lex"
+#line 379 "util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 133:
-/* rule 133 can match eol */
+case 149:
+/* rule 149 can match eol */
YY_RULE_SETUP
-#line 359 "util/configlexer.lex"
+#line 380 "util/configlexer.lex"
{ yyerror("newline inside quoted string, no end '");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 134:
+case 150:
YY_RULE_SETUP
-#line 361 "util/configlexer.lex"
+#line 382 "util/configlexer.lex"
{
LEXOUT(("SQE "));
if(--num_args == 0) { BEGIN(INITIAL); }
@@ -2980,38 +3286,38 @@ YY_RULE_SETUP
}
YY_BREAK
/* include: directive */
-case 135:
+case 151:
YY_RULE_SETUP
-#line 373 "util/configlexer.lex"
+#line 394 "util/configlexer.lex"
{
LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
YY_BREAK
case YY_STATE_EOF(include):
-#line 375 "util/configlexer.lex"
+#line 396 "util/configlexer.lex"
{
yyerror("EOF inside include directive");
BEGIN(inc_prev);
}
YY_BREAK
-case 136:
+case 152:
YY_RULE_SETUP
-#line 379 "util/configlexer.lex"
+#line 400 "util/configlexer.lex"
{ LEXOUT(("ISP ")); /* ignore */ }
YY_BREAK
-case 137:
-/* rule 137 can match eol */
+case 153:
+/* rule 153 can match eol */
YY_RULE_SETUP
-#line 380 "util/configlexer.lex"
+#line 401 "util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++;}
YY_BREAK
-case 138:
+case 154:
YY_RULE_SETUP
-#line 381 "util/configlexer.lex"
+#line 402 "util/configlexer.lex"
{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
YY_BREAK
-case 139:
+case 155:
YY_RULE_SETUP
-#line 382 "util/configlexer.lex"
+#line 403 "util/configlexer.lex"
{
LEXOUT(("Iunquotedstr(%s) ", yytext));
config_start_include_glob(yytext);
@@ -3019,27 +3325,27 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(include_quoted):
-#line 387 "util/configlexer.lex"
+#line 408 "util/configlexer.lex"
{
yyerror("EOF inside quoted string");
BEGIN(inc_prev);
}
YY_BREAK
-case 140:
+case 156:
YY_RULE_SETUP
-#line 391 "util/configlexer.lex"
+#line 412 "util/configlexer.lex"
{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 141:
-/* rule 141 can match eol */
+case 157:
+/* rule 157 can match eol */
YY_RULE_SETUP
-#line 392 "util/configlexer.lex"
+#line 413 "util/configlexer.lex"
{ yyerror("newline before \" in include name");
cfg_parser->line++; BEGIN(inc_prev); }
YY_BREAK
-case 142:
+case 158:
YY_RULE_SETUP
-#line 394 "util/configlexer.lex"
+#line 415 "util/configlexer.lex"
{
LEXOUT(("IQE "));
yytext[yyleng - 1] = '\0';
@@ -3049,7 +3355,7 @@ YY_RULE_SETUP
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(val):
-#line 400 "util/configlexer.lex"
+#line 421 "util/configlexer.lex"
{
LEXOUT(("LEXEOF "));
yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
@@ -3061,33 +3367,33 @@ case YY_STATE_EOF(val):
}
}
YY_BREAK
-case 143:
+case 159:
YY_RULE_SETUP
-#line 411 "util/configlexer.lex"
+#line 432 "util/configlexer.lex"
{ LEXOUT(("unquotedstr(%s) ", yytext));
if(--num_args == 0) { BEGIN(INITIAL); }
yylval.str = strdup(yytext); return STRING_ARG; }
YY_BREAK
-case 144:
+case 160:
YY_RULE_SETUP
-#line 415 "util/configlexer.lex"
+#line 436 "util/configlexer.lex"
{
ub_c_error_msg("unknown keyword '%s'", yytext);
}
YY_BREAK
-case 145:
+case 161:
YY_RULE_SETUP
-#line 419 "util/configlexer.lex"
+#line 440 "util/configlexer.lex"
{
ub_c_error_msg("stray '%s'", yytext);
}
YY_BREAK
-case 146:
+case 162:
YY_RULE_SETUP
-#line 423 "util/configlexer.lex"
+#line 444 "util/configlexer.lex"
ECHO;
YY_BREAK
-#line 3089 "<stdout>"
+#line 3395 "<stdout>"
case YY_END_OF_BUFFER:
{
@@ -3377,7 +3683,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 >= 1383 )
+ if ( yy_current_state >= 1611 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3405,11 +3711,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 >= 1383 )
+ if ( yy_current_state >= 1611 )
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 == 1382);
+ yy_is_jam = (yy_current_state == 1610);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -3812,7 +4118,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
- int i;
+ yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;
@@ -4042,7 +4348,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 423 "util/configlexer.lex"
+#line 444 "util/configlexer.lex"
diff --git a/util/configlexer.lex b/util/configlexer.lex
index b36c8af88427..7ee7b9bd9a92 100644
--- a/util/configlexer.lex
+++ b/util/configlexer.lex
@@ -7,7 +7,6 @@
* See LICENSE for the license.
*
*/
-
#include <ctype.h>
#include <string.h>
#include <strings.h>
@@ -308,6 +307,7 @@ 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) }
+unblock-lan-zones{COLON} { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
statistics-interval{COLON} { YDVAR(1, VAR_STATISTICS_INTERVAL) }
statistics-cumulative{COLON} { YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
extended-statistics{COLON} { YDVAR(1, VAR_EXTENDED_STATISTICS) }
@@ -325,6 +325,27 @@ domain-insecure{COLON} { YDVAR(1, VAR_DOMAIN_INSECURE) }
minimal-responses{COLON} { YDVAR(1, VAR_MINIMAL_RESPONSES) }
rrset-roundrobin{COLON} { YDVAR(1, VAR_RRSET_ROUNDROBIN) }
max-udp-size{COLON} { YDVAR(1, VAR_MAX_UDP_SIZE) }
+dns64-prefix{COLON} { YDVAR(1, VAR_DNS64_PREFIX) }
+dns64-synthall{COLON} { YDVAR(1, VAR_DNS64_SYNTHALL) }
+dnstap{COLON} { YDVAR(0, VAR_DNSTAP) }
+dnstap-enable{COLON} { YDVAR(1, VAR_DNSTAP_ENABLE) }
+dnstap-socket-path{COLON} { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
+dnstap-send-identity{COLON} { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
+dnstap-send-version{COLON} { YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
+dnstap-identity{COLON} { YDVAR(1, VAR_DNSTAP_IDENTITY) }
+dnstap-version{COLON} { YDVAR(1, VAR_DNSTAP_VERSION) }
+dnstap-log-resolver-query-messages{COLON} {
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
+dnstap-log-resolver-response-messages{COLON} {
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
+dnstap-log-client-query-messages{COLON} {
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
+dnstap-log-client-response-messages{COLON} {
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
+dnstap-log-forwarder-query-messages{COLON} {
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
+dnstap-log-forwarder-response-messages{COLON} {
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
<INITIAL,val>{NEWLINE} { LEXOUT(("NL\n")); cfg_parser->line++; }
/* Quoted strings. Strip leading and ending quotes */
diff --git a/util/configparser.c b/util/configparser.c
index 3ea82b20a54c..6aa5646fad57 100644
--- a/util/configparser.c
+++ b/util/configparser.c
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.6.1. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison implementation for Yacc-like parsers in C
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.6.1"
+#define YYBISON_VERSION "2.7"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -62,7 +62,7 @@
/* Copy the first part of user declarations. */
-/* Line 336 of yacc.c */
+/* Line 371 of yacc.c */
#line 38 "util/configparser.y"
#include "config.h"
@@ -90,7 +90,7 @@ extern struct config_parser_state* cfg_parser;
#endif
-/* Line 336 of yacc.c */
+/* Line 371 of yacc.c */
#line 95 "util/configparser.c"
# ifndef YY_NULL
@@ -111,8 +111,8 @@ extern struct config_parser_state* cfg_parser;
/* In a future release of Bison, this section will be replaced
by #include "configparser.h". */
-#ifndef YY_UTIL_CONFIGPARSER_H
-# define YY_UTIL_CONFIGPARSER_H
+#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -256,7 +256,23 @@ extern int yydebug;
VAR_MINIMAL_RESPONSES = 384,
VAR_RRSET_ROUNDROBIN = 385,
VAR_MAX_UDP_SIZE = 386,
- VAR_DELAY_CLOSE = 387
+ VAR_DELAY_CLOSE = 387,
+ VAR_UNBLOCK_LAN_ZONES = 388,
+ VAR_DNS64_PREFIX = 389,
+ VAR_DNS64_SYNTHALL = 390,
+ VAR_DNSTAP = 391,
+ VAR_DNSTAP_ENABLE = 392,
+ VAR_DNSTAP_SOCKET_PATH = 393,
+ VAR_DNSTAP_SEND_IDENTITY = 394,
+ VAR_DNSTAP_SEND_VERSION = 395,
+ VAR_DNSTAP_IDENTITY = 396,
+ VAR_DNSTAP_VERSION = 397,
+ VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 398,
+ VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 399,
+ VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 400,
+ VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 401,
+ VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 402,
+ VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 403
};
#endif
/* Tokens. */
@@ -390,20 +406,36 @@ extern int yydebug;
#define VAR_RRSET_ROUNDROBIN 385
#define VAR_MAX_UDP_SIZE 386
#define VAR_DELAY_CLOSE 387
+#define VAR_UNBLOCK_LAN_ZONES 388
+#define VAR_DNS64_PREFIX 389
+#define VAR_DNS64_SYNTHALL 390
+#define VAR_DNSTAP 391
+#define VAR_DNSTAP_ENABLE 392
+#define VAR_DNSTAP_SOCKET_PATH 393
+#define VAR_DNSTAP_SEND_IDENTITY 394
+#define VAR_DNSTAP_SEND_VERSION 395
+#define VAR_DNSTAP_IDENTITY 396
+#define VAR_DNSTAP_VERSION 397
+#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 398
+#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 399
+#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 400
+#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 401
+#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 402
+#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 403
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 350 of yacc.c */
+/* Line 387 of yacc.c */
#line 64 "util/configparser.y"
char* str;
-/* Line 350 of yacc.c */
-#line 407 "util/configparser.c"
+/* Line 387 of yacc.c */
+#line 439 "util/configparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -426,12 +458,12 @@ int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
-#endif /* !YY_UTIL_CONFIGPARSER_H */
+#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
/* Copy the second part of user declarations. */
-/* Line 353 of yacc.c */
-#line 435 "util/configparser.c"
+/* Line 390 of yacc.c */
+#line 467 "util/configparser.c"
#ifdef short
# undef short
@@ -484,24 +516,24 @@ typedef short int yytype_int16;
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
# endif
# endif
# ifndef YY_
-# define YY_(msgid) msgid
+# define YY_(Msgid) Msgid
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
+# define YYUSE(E) ((void) (E))
#else
-# define YYUSE(e) /* empty */
+# define YYUSE(E) /* empty */
#endif
/* Identity function, used to suppress warnings about constant conditions. */
#ifndef lint
-# define YYID(n) (n)
+# define YYID(N) (N)
#else
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
@@ -651,20 +683,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 244
+#define YYLAST 276
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 133
+#define YYNTOKENS 149
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 136
+#define YYNNTS 154
/* YYNRULES -- Number of rules. */
-#define YYNRULES 259
+#define YYNRULES 293
/* YYNRULES -- Number of states. */
-#define YYNSTATES 380
+#define YYNSTATES 429
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 387
+#define YYMAXUTOK 403
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -710,7 +742,9 @@ static const yytype_uint8 yytranslate[] =
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, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148
};
#if YYDEBUG
@@ -719,132 +753,148 @@ static const yytype_uint8 yytranslate[] =
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 4, 7, 10, 13, 16, 19, 22,
- 24, 27, 28, 30, 32, 34, 36, 38, 40, 42,
- 44, 46, 48, 50, 52, 54, 56, 58, 60, 62,
- 64, 66, 68, 70, 72, 74, 76, 78, 80, 82,
- 84, 86, 88, 90, 92, 94, 96, 98, 100, 102,
- 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
- 124, 126, 128, 130, 132, 134, 136, 138, 140, 142,
- 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, 212, 214, 216, 218, 220, 222,
- 224, 226, 228, 230, 232, 235, 236, 238, 240, 242,
- 244, 246, 248, 251, 252, 254, 256, 258, 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,
- 446, 449, 452, 455, 458, 461, 464, 467, 470, 473,
- 476, 479, 482, 485, 488, 492, 495, 498, 501, 504,
- 507, 510, 513, 516, 519, 522, 525, 528, 531, 534,
- 537, 540, 543, 546, 550, 553, 556, 559, 562, 565,
- 568, 571, 574, 577, 580, 583, 586, 589, 592, 594,
- 597, 598, 600, 602, 604, 606, 608, 610, 612, 615,
- 618, 621, 624, 627, 630, 633, 635, 638, 639, 641
+ 25, 27, 30, 31, 33, 35, 37, 39, 41, 43,
+ 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
+ 65, 67, 69, 71, 73, 75, 77, 79, 81, 83,
+ 85, 87, 89, 91, 93, 95, 97, 99, 101, 103,
+ 105, 107, 109, 111, 113, 115, 117, 119, 121, 123,
+ 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
+ 145, 147, 149, 151, 153, 155, 157, 159, 161, 163,
+ 165, 167, 169, 171, 173, 175, 177, 179, 181, 183,
+ 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
+ 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
+ 225, 227, 229, 231, 233, 235, 237, 239, 241, 244,
+ 245, 247, 249, 251, 253, 255, 257, 260, 261, 263,
+ 265, 267, 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, 446, 449, 452, 455, 458, 461, 464, 467, 470,
+ 473, 476, 479, 482, 485, 488, 491, 494, 497, 500,
+ 504, 507, 510, 513, 516, 519, 522, 525, 528, 531,
+ 534, 537, 540, 543, 546, 549, 552, 555, 558, 562,
+ 565, 568, 571, 574, 577, 580, 583, 586, 589, 592,
+ 595, 598, 601, 604, 607, 610, 612, 615, 616, 618,
+ 620, 622, 624, 626, 628, 630, 633, 636, 639, 642,
+ 645, 648, 651, 653, 656, 657, 659, 661, 663, 665,
+ 667, 669, 671, 673, 675, 677, 679, 681, 684, 687,
+ 690, 693, 696, 699, 702, 705, 708, 711, 714, 717,
+ 719, 722, 723, 725
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 134, 0, -1, -1, 134, 135, -1, 136, 137, -1,
- 139, 140, -1, 142, 143, -1, 265, 266, -1, 255,
- 256, -1, 11, -1, 137, 138, -1, -1, 145, -1,
- 146, -1, 150, -1, 153, -1, 159, -1, 160, -1,
- 161, -1, 162, -1, 151, -1, 172, -1, 173, -1,
- 174, -1, 175, -1, 176, -1, 194, -1, 195, -1,
- 196, -1, 199, -1, 200, -1, 156, -1, 201, -1,
- 202, -1, 205, -1, 203, -1, 204, -1, 206, -1,
- 207, -1, 208, -1, 219, -1, 185, -1, 186, -1,
- 187, -1, 188, -1, 209, -1, 222, -1, 181, -1,
- 183, -1, 223, -1, 228, -1, 229, -1, 230, -1,
- 157, -1, 193, -1, 237, -1, 238, -1, 182, -1,
- 233, -1, 169, -1, 152, -1, 177, -1, 220, -1,
- 226, -1, 210, -1, 221, -1, 240, -1, 241, -1,
- 158, -1, 147, -1, 168, -1, 213, -1, 148, -1,
- 154, -1, 155, -1, 178, -1, 179, -1, 239, -1,
- 212, -1, 214, -1, 215, -1, 149, -1, 242, -1,
- 197, -1, 218, -1, 170, -1, 184, -1, 224, -1,
- 225, -1, 227, -1, 232, -1, 180, -1, 234, -1,
- 235, -1, 236, -1, 189, -1, 192, -1, 216, -1,
- 217, -1, 190, -1, 211, -1, 231, -1, 171, -1,
- 163, -1, 164, -1, 165, -1, 166, -1, 167, -1,
- 243, -1, 244, -1, 245, -1, 191, -1, 198, -1,
- 38, -1, 140, 141, -1, -1, 246, -1, 247, -1,
- 248, -1, 250, -1, 249, -1, 44, -1, 143, 144,
- -1, -1, 251, -1, 252, -1, 253, -1, 254, -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, 122, 10, -1, 123, 10, -1,
- 124, 10, -1, 125, 10, -1, 126, 10, -1, 77,
- 10, -1, 66, 10, -1, 101, 10, -1, 121, 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, 118, 10,
- -1, 114, 10, -1, 61, 10, -1, 26, 10, -1,
- 27, 10, -1, 28, 10, -1, 98, 10, -1, 132,
- 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, 119, 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, 120,
- 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, 129, 10, -1, 130,
- 10, -1, 131, 10, -1, 37, 10, -1, 39, 10,
- -1, 40, 10, -1, 128, 10, -1, 99, 10, -1,
- 37, 10, -1, 45, 10, -1, 46, 10, -1, 127,
- 10, -1, 88, -1, 256, 257, -1, -1, 258, -1,
- 260, -1, 259, -1, 261, -1, 262, -1, 263, -1,
- 264, -1, 89, 10, -1, 91, 10, -1, 90, 10,
- -1, 92, 10, -1, 93, 10, -1, 94, 10, -1,
- 95, 10, -1, 103, -1, 266, 267, -1, -1, 268,
- -1, 104, 10, -1
+ 150, 0, -1, -1, 150, 151, -1, 152, 153, -1,
+ 155, 156, -1, 158, 159, -1, 299, 300, -1, 274,
+ 275, -1, 284, 285, -1, 11, -1, 153, 154, -1,
+ -1, 161, -1, 162, -1, 166, -1, 169, -1, 175,
+ -1, 176, -1, 177, -1, 178, -1, 167, -1, 188,
+ -1, 189, -1, 190, -1, 191, -1, 192, -1, 210,
+ -1, 211, -1, 212, -1, 216, -1, 217, -1, 172,
+ -1, 218, -1, 219, -1, 222, -1, 220, -1, 221,
+ -1, 223, -1, 224, -1, 225, -1, 236, -1, 201,
+ -1, 202, -1, 203, -1, 204, -1, 226, -1, 239,
+ -1, 197, -1, 199, -1, 240, -1, 245, -1, 246,
+ -1, 247, -1, 173, -1, 209, -1, 254, -1, 255,
+ -1, 198, -1, 250, -1, 185, -1, 168, -1, 193,
+ -1, 237, -1, 243, -1, 227, -1, 238, -1, 257,
+ -1, 258, -1, 174, -1, 163, -1, 184, -1, 230,
+ -1, 164, -1, 170, -1, 171, -1, 194, -1, 195,
+ -1, 256, -1, 229, -1, 231, -1, 232, -1, 165,
+ -1, 259, -1, 213, -1, 235, -1, 186, -1, 200,
+ -1, 241, -1, 242, -1, 244, -1, 249, -1, 196,
+ -1, 251, -1, 252, -1, 253, -1, 205, -1, 208,
+ -1, 233, -1, 234, -1, 206, -1, 228, -1, 248,
+ -1, 187, -1, 179, -1, 180, -1, 181, -1, 182,
+ -1, 183, -1, 260, -1, 261, -1, 262, -1, 207,
+ -1, 214, -1, 215, -1, 263, -1, 264, -1, 38,
+ -1, 156, 157, -1, -1, 265, -1, 266, -1, 267,
+ -1, 269, -1, 268, -1, 44, -1, 159, 160, -1,
+ -1, 270, -1, 271, -1, 272, -1, 273, -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, 122, 10, -1, 123, 10, -1, 124,
+ 10, -1, 125, 10, -1, 126, 10, -1, 77, 10,
+ -1, 66, 10, -1, 101, 10, -1, 121, 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, 118, 10, -1,
+ 114, 10, -1, 61, 10, -1, 26, 10, -1, 27,
+ 10, -1, 28, 10, -1, 98, 10, -1, 132, 10,
+ -1, 133, 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,
+ 119, 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, 120, 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, 129, 10,
+ -1, 130, 10, -1, 131, 10, -1, 134, 10, -1,
+ 135, 10, -1, 37, 10, -1, 39, 10, -1, 40,
+ 10, -1, 128, 10, -1, 99, 10, -1, 37, 10,
+ -1, 45, 10, -1, 46, 10, -1, 127, 10, -1,
+ 88, -1, 275, 276, -1, -1, 277, -1, 279, -1,
+ 278, -1, 280, -1, 281, -1, 282, -1, 283, -1,
+ 89, 10, -1, 91, 10, -1, 90, 10, -1, 92,
+ 10, -1, 93, 10, -1, 94, 10, -1, 95, 10,
+ -1, 136, -1, 285, 286, -1, -1, 287, -1, 288,
+ -1, 289, -1, 290, -1, 291, -1, 292, -1, 293,
+ -1, 294, -1, 295, -1, 296, -1, 297, -1, 298,
+ -1, 137, 10, -1, 138, 10, -1, 139, 10, -1,
+ 140, 10, -1, 141, 10, -1, 142, 10, -1, 143,
+ 10, -1, 144, 10, -1, 145, 10, -1, 146, 10,
+ -1, 147, 10, -1, 148, 10, -1, 103, -1, 300,
+ 301, -1, -1, 302, -1, 104, 10, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 111, 111, 111, 112, 112, 113, 113, 114, 118,
- 123, 124, 125, 125, 125, 126, 126, 127, 127, 127,
- 128, 128, 128, 129, 129, 129, 130, 130, 131, 131,
- 132, 132, 133, 133, 134, 134, 135, 135, 136, 136,
- 137, 137, 138, 138, 138, 139, 139, 139, 140, 140,
- 140, 141, 141, 142, 142, 143, 143, 144, 144, 145,
- 145, 145, 146, 146, 147, 147, 148, 148, 148, 149,
- 149, 150, 150, 151, 151, 152, 152, 152, 153, 153,
- 154, 154, 155, 155, 156, 156, 157, 157, 158, 158,
- 158, 159, 159, 160, 160, 160, 161, 161, 161, 162,
- 162, 162, 163, 163, 163, 164, 164, 164, 165, 165,
- 165, 166, 166, 168, 180, 181, 182, 182, 182, 182,
- 182, 184, 196, 197, 198, 198, 198, 198, 200, 209,
- 218, 229, 238, 247, 256, 269, 284, 293, 302, 311,
- 320, 329, 338, 347, 356, 365, 374, 383, 392, 399,
- 406, 415, 424, 438, 447, 456, 463, 470, 477, 485,
- 492, 499, 506, 513, 521, 529, 537, 544, 551, 560,
- 569, 576, 583, 591, 599, 609, 622, 633, 641, 654,
- 663, 672, 681, 689, 702, 711, 719, 728, 736, 749,
- 756, 766, 776, 786, 796, 806, 816, 826, 833, 840,
- 849, 858, 867, 874, 884, 901, 908, 926, 939, 952,
- 961, 970, 979, 989, 999, 1008, 1017, 1024, 1033, 1042,
- 1051, 1059, 1072, 1080, 1102, 1109, 1124, 1134, 1144, 1151,
- 1161, 1168, 1175, 1184, 1194, 1204, 1211, 1218, 1227, 1232,
- 1233, 1234, 1234, 1234, 1235, 1235, 1235, 1236, 1238, 1248,
- 1257, 1264, 1271, 1278, 1285, 1292, 1297, 1298, 1299, 1301
+ 0, 121, 121, 121, 122, 122, 123, 123, 124, 124,
+ 128, 133, 134, 135, 135, 135, 136, 136, 137, 137,
+ 137, 138, 138, 138, 139, 139, 139, 140, 140, 141,
+ 141, 142, 142, 143, 143, 144, 144, 145, 145, 146,
+ 146, 147, 147, 148, 148, 148, 149, 149, 149, 150,
+ 150, 150, 151, 151, 152, 152, 153, 153, 154, 154,
+ 155, 155, 155, 156, 156, 157, 157, 158, 158, 158,
+ 159, 159, 160, 160, 161, 161, 162, 162, 162, 163,
+ 163, 164, 164, 165, 165, 166, 166, 167, 167, 168,
+ 168, 168, 169, 169, 170, 170, 170, 171, 171, 171,
+ 172, 172, 172, 173, 173, 173, 174, 174, 174, 175,
+ 175, 175, 176, 176, 176, 177, 177, 179, 191, 192,
+ 193, 193, 193, 193, 193, 195, 207, 208, 209, 209,
+ 209, 209, 211, 220, 229, 240, 249, 258, 267, 280,
+ 295, 304, 313, 322, 331, 340, 349, 358, 367, 376,
+ 385, 394, 403, 410, 417, 426, 435, 449, 458, 467,
+ 474, 481, 488, 496, 503, 510, 517, 524, 532, 540,
+ 548, 555, 562, 571, 580, 587, 594, 602, 610, 620,
+ 633, 644, 652, 665, 674, 683, 692, 702, 710, 723,
+ 732, 740, 749, 757, 770, 777, 787, 797, 807, 817,
+ 827, 837, 847, 854, 861, 870, 879, 888, 895, 905,
+ 922, 929, 947, 960, 973, 982, 991, 1000, 1010, 1020,
+ 1029, 1038, 1045, 1054, 1063, 1072, 1080, 1093, 1101, 1123,
+ 1130, 1145, 1155, 1165, 1172, 1179, 1188, 1198, 1205, 1212,
+ 1221, 1231, 1241, 1248, 1255, 1264, 1269, 1270, 1271, 1271,
+ 1271, 1272, 1272, 1272, 1273, 1275, 1285, 1294, 1301, 1308,
+ 1315, 1322, 1329, 1334, 1335, 1336, 1336, 1337, 1337, 1338,
+ 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1354, 1361,
+ 1369, 1377, 1384, 1391, 1400, 1409, 1418, 1427, 1436, 1445,
+ 1450, 1451, 1452, 1454
};
#endif
@@ -895,17 +945,26 @@ static const char *const yytname[] =
"VAR_SSL_UPSTREAM", "VAR_SSL_SERVICE_KEY", "VAR_SSL_SERVICE_PEM",
"VAR_SSL_PORT", "VAR_FORWARD_FIRST", "VAR_STUB_FIRST",
"VAR_MINIMAL_RESPONSES", "VAR_RRSET_ROUNDROBIN", "VAR_MAX_UDP_SIZE",
- "VAR_DELAY_CLOSE", "$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_tcp_upstream",
+ "VAR_DELAY_CLOSE", "VAR_UNBLOCK_LAN_ZONES", "VAR_DNS64_PREFIX",
+ "VAR_DNS64_SYNTHALL", "VAR_DNSTAP", "VAR_DNSTAP_ENABLE",
+ "VAR_DNSTAP_SOCKET_PATH", "VAR_DNSTAP_SEND_IDENTITY",
+ "VAR_DNSTAP_SEND_VERSION", "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION",
+ "VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES",
+ "VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES",
+ "VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES",
+ "VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES",
+ "VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES",
+ "VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES", "$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_tcp_upstream",
"server_ssl_upstream", "server_ssl_service_key",
"server_ssl_service_pem", "server_ssl_port", "server_do_daemonize",
"server_use_syslog", "server_log_time_ascii", "server_log_queries",
@@ -919,33 +978,42 @@ static const char *const yytname[] =
"server_edns_buffer_size", "server_msg_buffer_size",
"server_msg_cache_size", "server_msg_cache_slabs",
"server_num_queries_per_thread", "server_jostle_timeout",
- "server_delay_close", "server_rrset_cache_size",
- "server_rrset_cache_slabs", "server_infra_host_ttl",
- "server_infra_lame_ttl", "server_infra_cache_numhosts",
- "server_infra_cache_lame_size", "server_infra_cache_slabs",
- "server_target_fetch_policy", "server_harden_short_bufsize",
- "server_harden_large_queries", "server_harden_glue",
- "server_harden_dnssec_stripped", "server_harden_below_nxdomain",
- "server_harden_referral_path", "server_use_caps_for_id",
- "server_private_address", "server_private_domain", "server_prefetch",
- "server_prefetch_key", "server_unwanted_reply_threshold",
- "server_do_not_query_address", "server_do_not_query_localhost",
- "server_access_control", "server_module_conf",
- "server_val_override_date", "server_val_sig_skew_min",
- "server_val_sig_skew_max", "server_cache_max_ttl",
- "server_cache_min_ttl", "server_bogus_ttl",
+ "server_delay_close", "server_unblock_lan_zones",
+ "server_rrset_cache_size", "server_rrset_cache_slabs",
+ "server_infra_host_ttl", "server_infra_lame_ttl",
+ "server_infra_cache_numhosts", "server_infra_cache_lame_size",
+ "server_infra_cache_slabs", "server_target_fetch_policy",
+ "server_harden_short_bufsize", "server_harden_large_queries",
+ "server_harden_glue", "server_harden_dnssec_stripped",
+ "server_harden_below_nxdomain", "server_harden_referral_path",
+ "server_use_caps_for_id", "server_private_address",
+ "server_private_domain", "server_prefetch", "server_prefetch_key",
+ "server_unwanted_reply_threshold", "server_do_not_query_address",
+ "server_do_not_query_localhost", "server_access_control",
+ "server_module_conf", "server_val_override_date",
+ "server_val_sig_skew_min", "server_val_sig_skew_max",
+ "server_cache_max_ttl", "server_cache_min_ttl", "server_bogus_ttl",
"server_val_clean_additional", "server_val_permissive_mode",
"server_ignore_cd_flag", "server_val_log_level",
"server_val_nsec3_keysize_iterations", "server_add_holddown",
"server_del_holddown", "server_keep_missing", "server_key_cache_size",
"server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
"server_local_data", "server_local_data_ptr", "server_minimal_responses",
- "server_rrset_roundrobin", "server_max_udp_size", "stub_name",
- "stub_host", "stub_addr", "stub_first", "stub_prime", "forward_name",
- "forward_host", "forward_addr", "forward_first", "rcstart",
- "contents_rc", "content_rc", "rc_control_enable", "rc_control_port",
- "rc_control_interface", "rc_server_key_file", "rc_server_cert_file",
- "rc_control_key_file", "rc_control_cert_file", "pythonstart",
+ "server_rrset_roundrobin", "server_max_udp_size", "server_dns64_prefix",
+ "server_dns64_synthall", "stub_name", "stub_host", "stub_addr",
+ "stub_first", "stub_prime", "forward_name", "forward_host",
+ "forward_addr", "forward_first", "rcstart", "contents_rc", "content_rc",
+ "rc_control_enable", "rc_control_port", "rc_control_interface",
+ "rc_server_key_file", "rc_server_cert_file", "rc_control_key_file",
+ "rc_control_cert_file", "dtstart", "contents_dt", "content_dt",
+ "dt_dnstap_enable", "dt_dnstap_socket_path", "dt_dnstap_send_identity",
+ "dt_dnstap_send_version", "dt_dnstap_identity", "dt_dnstap_version",
+ "dt_dnstap_log_resolver_query_messages",
+ "dt_dnstap_log_resolver_response_messages",
+ "dt_dnstap_log_client_query_messages",
+ "dt_dnstap_log_client_response_messages",
+ "dt_dnstap_log_forwarder_query_messages",
+ "dt_dnstap_log_forwarder_response_messages", "pythonstart",
"contents_py", "content_py", "py_script", YY_NULL
};
#endif
@@ -968,46 +1036,51 @@ static const yytype_uint16 yytoknum[] =
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 133, 134, 134, 135, 135, 135, 135, 135, 136,
- 137, 137, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 139, 140, 140, 141, 141, 141, 141,
- 141, 142, 143, 143, 144, 144, 144, 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, 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, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 256, 257, 257, 257, 257, 257, 257, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 266, 267, 268
+ 0, 149, 150, 150, 151, 151, 151, 151, 151, 151,
+ 152, 153, 153, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 155, 156, 156,
+ 157, 157, 157, 157, 157, 158, 159, 159, 160, 160,
+ 160, 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, 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, 231, 232, 233, 234, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 275, 276, 276,
+ 276, 276, 276, 276, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 285, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 300, 301, 302
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 0, 2, 2, 2, 2, 2, 2, 1,
- 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
+ 1, 2, 0, 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, 1, 1, 1, 1,
@@ -1017,21 +1090,25 @@ 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, 1, 2, 0, 1, 1, 1, 1,
- 1, 1, 2, 0, 1, 1, 1, 1, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 1, 1, 1, 1, 1, 1, 2, 0, 1, 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, 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, 3, 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,
- 2, 2, 2, 3, 2, 2, 2, 2, 2, 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, 2, 1, 2, 0, 1, 1,
+ 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
+ 2, 2, 1, 2, 0, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
+ 2, 0, 1, 2
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -1039,9 +1116,9 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 2, 0, 1, 9, 113, 121, 238, 255, 3, 11,
- 115, 123, 240, 257, 4, 5, 6, 8, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 1, 10, 117, 125, 245, 289, 262, 3,
+ 12, 119, 127, 247, 264, 291, 4, 5, 6, 8,
+ 9, 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, 0, 0, 0, 0, 0, 0, 0,
@@ -1051,115 +1128,129 @@ static const yytype_uint16 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,
- 10, 12, 13, 69, 72, 81, 14, 20, 60, 15,
- 73, 74, 31, 53, 68, 16, 17, 18, 19, 103,
- 104, 105, 106, 107, 70, 59, 85, 102, 21, 22,
- 23, 24, 25, 61, 75, 76, 91, 47, 57, 48,
- 86, 41, 42, 43, 44, 95, 99, 111, 96, 54,
- 26, 27, 28, 83, 112, 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, 108,
- 109, 110, 0, 0, 0, 0, 0, 114, 116, 117,
- 118, 120, 119, 0, 0, 0, 0, 122, 124, 125,
- 126, 127, 0, 0, 0, 0, 0, 0, 0, 239,
- 241, 243, 242, 244, 245, 246, 247, 0, 256, 258,
- 129, 128, 133, 136, 134, 142, 143, 144, 145, 155,
- 156, 157, 158, 159, 177, 178, 179, 182, 183, 139,
- 184, 185, 188, 186, 187, 189, 190, 191, 202, 168,
- 169, 170, 171, 192, 205, 164, 166, 206, 211, 212,
- 213, 140, 176, 220, 221, 165, 216, 152, 135, 160,
- 203, 209, 193, 0, 0, 224, 141, 130, 151, 196,
- 131, 137, 138, 161, 162, 222, 195, 197, 198, 132,
- 225, 180, 201, 153, 167, 207, 208, 210, 215, 163,
- 219, 217, 218, 172, 175, 199, 200, 173, 174, 194,
- 214, 154, 146, 147, 148, 149, 150, 226, 227, 228,
- 181, 229, 230, 231, 233, 232, 234, 235, 236, 237,
- 248, 250, 249, 251, 252, 253, 254, 259, 204, 223
+ 0, 0, 0, 0, 0, 0, 11, 13, 14, 70,
+ 73, 82, 15, 21, 61, 16, 74, 75, 32, 54,
+ 69, 17, 18, 19, 20, 104, 105, 106, 107, 108,
+ 71, 60, 86, 103, 22, 23, 24, 25, 26, 62,
+ 76, 77, 92, 48, 58, 49, 87, 42, 43, 44,
+ 45, 96, 100, 112, 97, 55, 27, 28, 29, 84,
+ 113, 114, 30, 31, 33, 34, 36, 37, 35, 38,
+ 39, 40, 46, 65, 101, 79, 72, 80, 81, 98,
+ 99, 85, 41, 63, 66, 47, 50, 88, 89, 64,
+ 90, 51, 52, 53, 102, 91, 59, 93, 94, 95,
+ 56, 57, 78, 67, 68, 83, 109, 110, 111, 115,
+ 116, 0, 0, 0, 0, 0, 118, 120, 121, 122,
+ 124, 123, 0, 0, 0, 0, 126, 128, 129, 130,
+ 131, 0, 0, 0, 0, 0, 0, 0, 246, 248,
+ 250, 249, 251, 252, 253, 254, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 263, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 0, 290, 292, 133, 132, 137, 140, 138, 146,
+ 147, 148, 149, 159, 160, 161, 162, 163, 181, 182,
+ 183, 187, 188, 143, 189, 190, 193, 191, 192, 194,
+ 195, 196, 207, 172, 173, 174, 175, 197, 210, 168,
+ 170, 211, 216, 217, 218, 144, 180, 225, 226, 169,
+ 221, 156, 139, 164, 208, 214, 198, 0, 0, 229,
+ 145, 134, 155, 201, 135, 141, 142, 165, 166, 227,
+ 200, 202, 203, 136, 230, 184, 206, 157, 171, 212,
+ 213, 215, 220, 167, 224, 222, 223, 176, 179, 204,
+ 205, 177, 178, 199, 219, 158, 150, 151, 152, 153,
+ 154, 231, 232, 233, 185, 186, 234, 235, 236, 237,
+ 238, 240, 239, 241, 242, 243, 244, 255, 257, 256,
+ 258, 259, 260, 261, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 293, 209, 228
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 8, 9, 14, 120, 10, 15, 227, 11,
- 16, 237, 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, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 228, 229, 230, 231, 232, 238, 239,
- 240, 241, 12, 17, 249, 250, 251, 252, 253, 254,
- 255, 256, 13, 18, 258, 259
+ -1, 1, 9, 10, 16, 126, 11, 17, 236, 12,
+ 18, 246, 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, 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, 237, 238, 239, 240,
+ 241, 247, 248, 249, 250, 13, 19, 258, 259, 260,
+ 261, 262, 263, 264, 265, 14, 20, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 15, 21, 292, 293
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -80
+#define YYPACT_NINF -123
static const yytype_int16 yypact[] =
{
- -80, 115, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -12, 39, 46, 38, -79, 16,
- 17, 18, 22, 23, 24, 67, 70, 71, 72, 77,
- 106, 111, 112, 113, 114, 124, 125, 126, 127, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 144, 145, 146, 147, 148, 150, 151,
- 152, 153, 154, 155, 156, 158, 159, 160, 161, 162,
- 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, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 209, 210, 211, 212, 213, 214, 215,
- -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, -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, 216, 217, 218, 219, 220, -80, -80, -80,
- -80, -80, -80, 221, 222, 223, 224, -80, -80, -80,
- -80, -80, 225, 226, 227, 228, 229, 230, 231, -80,
- -80, -80, -80, -80, -80, -80, -80, 232, -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, 233, 234, -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, -80
+ -123, 0, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, 92, -36, -32, -62,
+ -122, -102, -4, -3, -2, -1, 2, 24, 25, 26,
+ 27, 29, 30, 31, 32, 33, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 79, 80,
+ 81, 83, 84, 86, 87, 88, 89, 90, 91, 119,
+ 120, 121, 122, 127, 128, 170, 171, 172, 173, 174,
+ 175, 176, 177, 181, 185, 186, 209, 210, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, 236, 237, 238, 239, 240, -123, -123, -123, -123,
+ -123, -123, 241, 242, 243, 244, -123, -123, -123, -123,
+ -123, 245, 246, 247, 248, 249, 250, 251, -123, -123,
+ -123, -123, -123, -123, -123, -123, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, 264, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, 265, 266, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123
};
/* YYPGOTO[NTERM-NUM]. */
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, -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, -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
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1168,86 +1259,91 @@ static const yytype_int8 yypgoto[] =
#define YYTABLE_NINF -1
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, 257, 260, 261, 262, 44,
- 45, 46, 263, 264, 265, 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, 222, 266, 223, 224,
- 267, 268, 269, 233, 88, 89, 90, 270, 91, 92,
- 93, 234, 235, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 2, 271, 116, 117, 118,
- 119, 272, 273, 274, 275, 0, 3, 242, 243, 244,
- 245, 246, 247, 248, 276, 277, 278, 279, 225, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 4, 294, 295, 296, 297, 298, 5,
- 299, 300, 301, 302, 303, 304, 305, 226, 306, 307,
- 308, 309, 310, 236, 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, 6, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 352, 353, 7, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379
+ 2, 231, 291, 232, 233, 242, 294, 295, 296, 297,
+ 0, 3, 298, 243, 244, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 251, 252, 253,
+ 254, 255, 256, 257, 299, 300, 301, 302, 4, 303,
+ 304, 305, 306, 307, 5, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 234, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 6, 350,
+ 351, 352, 235, 353, 354, 245, 355, 356, 357, 358,
+ 359, 360, 0, 7, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 361,
+ 362, 363, 364, 47, 48, 49, 8, 365, 366, 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, 88, 89, 90,
+ 367, 368, 369, 370, 371, 372, 373, 374, 91, 92,
+ 93, 375, 94, 95, 96, 376, 377, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 378,
+ 379, 119, 120, 121, 122, 123, 124, 125, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428
};
-#define yypact_value_is_default(yystate) \
- ((yystate) == (-80))
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-123)))
-#define yytable_value_is_error(yytable_value) \
+#define yytable_value_is_error(Yytable_value) \
YYID (0)
static const yytype_int16 yycheck[] =
{
- 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, 104, 10, 10, 10, 41,
- 42, 43, 10, 10, 10, 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, 37, 10, 39, 40,
- 10, 10, 10, 37, 96, 97, 98, 10, 100, 101,
- 102, 45, 46, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 0, 10, 129, 130, 131,
- 132, 10, 10, 10, 10, -1, 11, 89, 90, 91,
- 92, 93, 94, 95, 10, 10, 10, 10, 99, 10,
+ 0, 37, 104, 39, 40, 37, 10, 10, 10, 10,
+ -1, 11, 10, 45, 46, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 89, 90, 91,
+ 92, 93, 94, 95, 10, 10, 10, 10, 38, 10,
+ 10, 10, 10, 10, 44, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 99, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 38, 10, 10, 10, 10, 10, 44,
- 10, 10, 10, 10, 10, 10, 10, 128, 10, 10,
- 10, 10, 10, 127, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 88, 10,
+ 10, 10, 128, 10, 10, 127, 10, 10, 10, 10,
+ 10, 10, -1, 103, 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, 10,
+ 10, 10, 10, 41, 42, 43, 136, 10, 10, 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,
+ 10, 10, 10, 10, 10, 10, 10, 10, 96, 97,
+ 98, 10, 100, 101, 102, 10, 10, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 10,
+ 10, 129, 130, 131, 132, 133, 134, 135, 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, 88, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 103, 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_uint16 yystos[] =
{
- 0, 134, 0, 11, 38, 44, 88, 103, 135, 136,
- 139, 142, 255, 265, 137, 140, 143, 256, 266, 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,
- 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, 96, 97,
- 98, 100, 101, 102, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 129, 130, 131, 132,
- 138, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 0, 150, 0, 11, 38, 44, 88, 103, 136, 151,
+ 152, 155, 158, 274, 284, 299, 153, 156, 159, 275,
+ 285, 300, 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, 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, 96, 97, 98, 100, 101, 102, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 129,
+ 130, 131, 132, 133, 134, 135, 154, 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,
@@ -1256,10 +1352,16 @@ static const yytype_uint16 yystos[] =
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 37, 39, 40, 99, 128, 141, 246, 247,
- 248, 249, 250, 37, 45, 46, 127, 144, 251, 252,
- 253, 254, 89, 90, 91, 92, 93, 94, 95, 257,
- 258, 259, 260, 261, 262, 263, 264, 104, 267, 268,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 37, 39, 40, 99, 128, 157, 265, 266, 267,
+ 268, 269, 37, 45, 46, 127, 160, 270, 271, 272,
+ 273, 89, 90, 91, 92, 93, 94, 95, 276, 277,
+ 278, 279, 280, 281, 282, 283, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 104, 301, 302, 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,
@@ -1271,7 +1373,7 @@ static const yytype_uint16 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, 10, 10, 10, 10, 10
+ 10, 10, 10, 10, 10, 10, 10, 10, 10
};
#define yyerrok (yyerrstatus = 0)
@@ -1318,47 +1420,18 @@ do \
} \
while (YYID (0))
-
+/* Error token number */
#define YYTERROR 1
#define YYERRCODE 256
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (YYID (N)) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (YYID (0))
-#endif
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-
-
/* This macro is provided for backward compatibility. */
-
#ifndef YY_LOCATION_PRINT
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
-
#ifdef YYLEX_PARAM
# define YYLEX yylex (YYLEX_PARAM)
#else
@@ -1421,7 +1494,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
switch (yytype)
{
default:
- break;
+ break;
}
}
@@ -1663,7 +1736,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
@@ -1726,11 +1798,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
break;
}
yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
}
}
}
@@ -1750,10 +1824,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
# undef YYCASE_
}
- yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
if (*yymsg_alloc < yysize)
{
@@ -1813,7 +1889,7 @@ yydestruct (yymsg, yytype, yyvaluep)
{
default:
- break;
+ break;
}
}
@@ -1823,8 +1899,17 @@ yydestruct (yymsg, yytype, yyvaluep)
/* The lookahead symbol. */
int yychar;
+
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
+YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
/* Number of syntax errors so far. */
int yynerrs;
@@ -1882,7 +1967,7 @@ yyparse ()
int yyn;
int yyresult;
/* Lookahead token as an internal (translated) token number. */
- int yytoken;
+ int yytoken = 0;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
@@ -1900,9 +1985,8 @@ yyparse ()
Keep to zero when no symbol should be popped. */
int yylen = 0;
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
+ yyssp = yyss = yyssa;
+ yyvsp = yyvs = yyvsa;
yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
@@ -1911,13 +1995,6 @@ yyparse ()
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY; /* Cause a token to be read. */
-
- /* Initialize stack pointers.
- Waste one element of value and location stack
- so that they stay on the same level as the state stack.
- The wasted elements are never initialized. */
- yyssp = yyss;
- yyvsp = yyvs;
goto yysetstate;
/*------------------------------------------------------------.
@@ -2058,7 +2135,9 @@ yybackup:
yychar = YYEMPTY;
yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
goto yynewstate;
@@ -2094,17 +2173,17 @@ yyreduce:
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 9:
-/* Line 1787 of yacc.c */
-#line 119 "util/configparser.y"
+ case 10:
+/* Line 1792 of yacc.c */
+#line 129 "util/configparser.y"
{
OUTYY(("\nP(server:)\n"));
}
break;
- case 113:
-/* Line 1787 of yacc.c */
-#line 169 "util/configparser.y"
+ case 117:
+/* Line 1792 of yacc.c */
+#line 180 "util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(stub_zone:)\n"));
@@ -2117,9 +2196,9 @@ yyreduce:
}
break;
- case 121:
-/* Line 1787 of yacc.c */
-#line 185 "util/configparser.y"
+ case 125:
+/* Line 1792 of yacc.c */
+#line 196 "util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(forward_zone:)\n"));
@@ -2132,9 +2211,9 @@ yyreduce:
}
break;
- case 128:
-/* Line 1787 of yacc.c */
-#line 201 "util/configparser.y"
+ case 132:
+/* Line 1792 of yacc.c */
+#line 212 "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)
@@ -2144,9 +2223,9 @@ yyreduce:
}
break;
- case 129:
-/* Line 1787 of yacc.c */
-#line 210 "util/configparser.y"
+ case 133:
+/* Line 1792 of yacc.c */
+#line 221 "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)
@@ -2156,9 +2235,9 @@ yyreduce:
}
break;
- case 130:
-/* Line 1787 of yacc.c */
-#line 219 "util/configparser.y"
+ case 134:
+/* Line 1792 of yacc.c */
+#line 230 "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)
@@ -2170,9 +2249,9 @@ yyreduce:
}
break;
- case 131:
-/* Line 1787 of yacc.c */
-#line 230 "util/configparser.y"
+ case 135:
+/* Line 1792 of yacc.c */
+#line 241 "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)
@@ -2182,9 +2261,9 @@ yyreduce:
}
break;
- case 132:
-/* Line 1787 of yacc.c */
-#line 239 "util/configparser.y"
+ case 136:
+/* Line 1792 of yacc.c */
+#line 250 "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)
@@ -2194,9 +2273,9 @@ yyreduce:
}
break;
- case 133:
-/* Line 1787 of yacc.c */
-#line 248 "util/configparser.y"
+ case 137:
+/* Line 1792 of yacc.c */
+#line 259 "util/configparser.y"
{
OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2206,9 +2285,9 @@ yyreduce:
}
break;
- case 134:
-/* Line 1787 of yacc.c */
-#line 257 "util/configparser.y"
+ case 138:
+/* Line 1792 of yacc.c */
+#line 268 "util/configparser.y"
{
OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_ifs == 0)
@@ -2222,9 +2301,9 @@ yyreduce:
}
break;
- case 135:
-/* Line 1787 of yacc.c */
-#line 270 "util/configparser.y"
+ case 139:
+/* Line 1792 of yacc.c */
+#line 281 "util/configparser.y"
{
OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_out_ifs == 0)
@@ -2240,9 +2319,9 @@ yyreduce:
}
break;
- case 136:
-/* Line 1787 of yacc.c */
-#line 285 "util/configparser.y"
+ case 140:
+/* Line 1792 of yacc.c */
+#line 296 "util/configparser.y"
{
OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2252,9 +2331,9 @@ yyreduce:
}
break;
- case 137:
-/* Line 1787 of yacc.c */
-#line 294 "util/configparser.y"
+ case 141:
+/* Line 1792 of yacc.c */
+#line 305 "util/configparser.y"
{
OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
@@ -2264,9 +2343,9 @@ yyreduce:
}
break;
- case 138:
-/* Line 1787 of yacc.c */
-#line 303 "util/configparser.y"
+ case 142:
+/* Line 1792 of yacc.c */
+#line 314 "util/configparser.y"
{
OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
@@ -2276,9 +2355,9 @@ yyreduce:
}
break;
- case 139:
-/* Line 1787 of yacc.c */
-#line 312 "util/configparser.y"
+ case 143:
+/* Line 1792 of yacc.c */
+#line 323 "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)
@@ -2288,9 +2367,9 @@ yyreduce:
}
break;
- case 140:
-/* Line 1787 of yacc.c */
-#line 321 "util/configparser.y"
+ case 144:
+/* Line 1792 of yacc.c */
+#line 332 "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)
@@ -2300,9 +2379,9 @@ yyreduce:
}
break;
- case 141:
-/* Line 1787 of yacc.c */
-#line 330 "util/configparser.y"
+ case 145:
+/* Line 1792 of yacc.c */
+#line 341 "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)
@@ -2312,9 +2391,9 @@ yyreduce:
}
break;
- case 142:
-/* Line 1787 of yacc.c */
-#line 339 "util/configparser.y"
+ case 146:
+/* Line 1792 of yacc.c */
+#line 350 "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)
@@ -2324,9 +2403,9 @@ yyreduce:
}
break;
- case 143:
-/* Line 1787 of yacc.c */
-#line 348 "util/configparser.y"
+ case 147:
+/* Line 1792 of yacc.c */
+#line 359 "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)
@@ -2336,9 +2415,9 @@ yyreduce:
}
break;
- case 144:
-/* Line 1787 of yacc.c */
-#line 357 "util/configparser.y"
+ case 148:
+/* Line 1792 of yacc.c */
+#line 368 "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)
@@ -2348,9 +2427,9 @@ yyreduce:
}
break;
- case 145:
-/* Line 1787 of yacc.c */
-#line 366 "util/configparser.y"
+ case 149:
+/* Line 1792 of yacc.c */
+#line 377 "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)
@@ -2360,9 +2439,9 @@ yyreduce:
}
break;
- case 146:
-/* Line 1787 of yacc.c */
-#line 375 "util/configparser.y"
+ case 150:
+/* Line 1792 of yacc.c */
+#line 386 "util/configparser.y"
{
OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2372,9 +2451,9 @@ yyreduce:
}
break;
- case 147:
-/* Line 1787 of yacc.c */
-#line 384 "util/configparser.y"
+ case 151:
+/* Line 1792 of yacc.c */
+#line 395 "util/configparser.y"
{
OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2384,9 +2463,9 @@ yyreduce:
}
break;
- case 148:
-/* Line 1787 of yacc.c */
-#line 393 "util/configparser.y"
+ case 152:
+/* Line 1792 of yacc.c */
+#line 404 "util/configparser.y"
{
OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_key);
@@ -2394,9 +2473,9 @@ yyreduce:
}
break;
- case 149:
-/* Line 1787 of yacc.c */
-#line 400 "util/configparser.y"
+ case 153:
+/* Line 1792 of yacc.c */
+#line 411 "util/configparser.y"
{
OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_pem);
@@ -2404,9 +2483,9 @@ yyreduce:
}
break;
- case 150:
-/* Line 1787 of yacc.c */
-#line 407 "util/configparser.y"
+ case 154:
+/* Line 1792 of yacc.c */
+#line 418 "util/configparser.y"
{
OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2416,9 +2495,9 @@ yyreduce:
}
break;
- case 151:
-/* Line 1787 of yacc.c */
-#line 416 "util/configparser.y"
+ case 155:
+/* Line 1792 of yacc.c */
+#line 427 "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)
@@ -2428,9 +2507,9 @@ yyreduce:
}
break;
- case 152:
-/* Line 1787 of yacc.c */
-#line 425 "util/configparser.y"
+ case 156:
+/* Line 1792 of yacc.c */
+#line 436 "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)
@@ -2445,9 +2524,9 @@ yyreduce:
}
break;
- case 153:
-/* Line 1787 of yacc.c */
-#line 439 "util/configparser.y"
+ case 157:
+/* Line 1792 of yacc.c */
+#line 450 "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)
@@ -2457,9 +2536,9 @@ yyreduce:
}
break;
- case 154:
-/* Line 1787 of yacc.c */
-#line 448 "util/configparser.y"
+ case 158:
+/* Line 1792 of yacc.c */
+#line 459 "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)
@@ -2469,9 +2548,9 @@ yyreduce:
}
break;
- case 155:
-/* Line 1787 of yacc.c */
-#line 457 "util/configparser.y"
+ case 159:
+/* Line 1792 of yacc.c */
+#line 468 "util/configparser.y"
{
OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->chrootdir);
@@ -2479,9 +2558,9 @@ yyreduce:
}
break;
- case 156:
-/* Line 1787 of yacc.c */
-#line 464 "util/configparser.y"
+ case 160:
+/* Line 1792 of yacc.c */
+#line 475 "util/configparser.y"
{
OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->username);
@@ -2489,9 +2568,9 @@ yyreduce:
}
break;
- case 157:
-/* Line 1787 of yacc.c */
-#line 471 "util/configparser.y"
+ case 161:
+/* Line 1792 of yacc.c */
+#line 482 "util/configparser.y"
{
OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->directory);
@@ -2499,9 +2578,9 @@ yyreduce:
}
break;
- case 158:
-/* Line 1787 of yacc.c */
-#line 478 "util/configparser.y"
+ case 162:
+/* Line 1792 of yacc.c */
+#line 489 "util/configparser.y"
{
OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->logfile);
@@ -2510,9 +2589,9 @@ yyreduce:
}
break;
- case 159:
-/* Line 1787 of yacc.c */
-#line 486 "util/configparser.y"
+ case 163:
+/* Line 1792 of yacc.c */
+#line 497 "util/configparser.y"
{
OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->pidfile);
@@ -2520,9 +2599,9 @@ yyreduce:
}
break;
- case 160:
-/* Line 1787 of yacc.c */
-#line 493 "util/configparser.y"
+ case 164:
+/* Line 1792 of yacc.c */
+#line 504 "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)))
@@ -2530,9 +2609,9 @@ yyreduce:
}
break;
- case 161:
-/* Line 1787 of yacc.c */
-#line 500 "util/configparser.y"
+ case 165:
+/* Line 1792 of yacc.c */
+#line 511 "util/configparser.y"
{
OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dlv_anchor_file);
@@ -2540,9 +2619,9 @@ yyreduce:
}
break;
- case 162:
-/* Line 1787 of yacc.c */
-#line 507 "util/configparser.y"
+ case 166:
+/* Line 1792 of yacc.c */
+#line 518 "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)))
@@ -2550,9 +2629,9 @@ yyreduce:
}
break;
- case 163:
-/* Line 1787 of yacc.c */
-#line 514 "util/configparser.y"
+ case 167:
+/* Line 1792 of yacc.c */
+#line 525 "util/configparser.y"
{
OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2561,9 +2640,9 @@ yyreduce:
}
break;
- case 164:
-/* Line 1787 of yacc.c */
-#line 522 "util/configparser.y"
+ case 168:
+/* Line 1792 of yacc.c */
+#line 533 "util/configparser.y"
{
OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2572,9 +2651,9 @@ yyreduce:
}
break;
- case 165:
-/* Line 1787 of yacc.c */
-#line 530 "util/configparser.y"
+ case 169:
+/* Line 1792 of yacc.c */
+#line 541 "util/configparser.y"
{
OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2583,9 +2662,9 @@ yyreduce:
}
break;
- case 166:
-/* Line 1787 of yacc.c */
-#line 538 "util/configparser.y"
+ case 170:
+/* Line 1792 of yacc.c */
+#line 549 "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)))
@@ -2593,9 +2672,9 @@ yyreduce:
}
break;
- case 167:
-/* Line 1787 of yacc.c */
-#line 545 "util/configparser.y"
+ case 171:
+/* Line 1792 of yacc.c */
+#line 556 "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)))
@@ -2603,9 +2682,9 @@ yyreduce:
}
break;
- case 168:
-/* Line 1787 of yacc.c */
-#line 552 "util/configparser.y"
+ case 172:
+/* Line 1792 of yacc.c */
+#line 563 "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)
@@ -2615,9 +2694,9 @@ yyreduce:
}
break;
- case 169:
-/* Line 1787 of yacc.c */
-#line 561 "util/configparser.y"
+ case 173:
+/* Line 1792 of yacc.c */
+#line 572 "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)
@@ -2627,9 +2706,9 @@ yyreduce:
}
break;
- case 170:
-/* Line 1787 of yacc.c */
-#line 570 "util/configparser.y"
+ case 174:
+/* Line 1792 of yacc.c */
+#line 581 "util/configparser.y"
{
OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->identity);
@@ -2637,9 +2716,9 @@ yyreduce:
}
break;
- case 171:
-/* Line 1787 of yacc.c */
-#line 577 "util/configparser.y"
+ case 175:
+/* Line 1792 of yacc.c */
+#line 588 "util/configparser.y"
{
OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->version);
@@ -2647,9 +2726,9 @@ yyreduce:
}
break;
- case 172:
-/* Line 1787 of yacc.c */
-#line 584 "util/configparser.y"
+ case 176:
+/* Line 1792 of yacc.c */
+#line 595 "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))
@@ -2658,9 +2737,9 @@ yyreduce:
}
break;
- case 173:
-/* Line 1787 of yacc.c */
-#line 592 "util/configparser.y"
+ case 177:
+/* Line 1792 of yacc.c */
+#line 603 "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))
@@ -2669,9 +2748,9 @@ yyreduce:
}
break;
- case 174:
-/* Line 1787 of yacc.c */
-#line 600 "util/configparser.y"
+ case 178:
+/* Line 1792 of yacc.c */
+#line 611 "util/configparser.y"
{
OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2682,9 +2761,9 @@ yyreduce:
}
break;
- case 175:
-/* Line 1787 of yacc.c */
-#line 610 "util/configparser.y"
+ case 179:
+/* Line 1792 of yacc.c */
+#line 621 "util/configparser.y"
{
OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2698,9 +2777,9 @@ yyreduce:
}
break;
- case 176:
-/* Line 1787 of yacc.c */
-#line 623 "util/configparser.y"
+ case 180:
+/* Line 1792 of yacc.c */
+#line 634 "util/configparser.y"
{
OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2712,9 +2791,9 @@ yyreduce:
}
break;
- case 177:
-/* Line 1787 of yacc.c */
-#line 634 "util/configparser.y"
+ case 181:
+/* Line 1792 of yacc.c */
+#line 645 "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))
@@ -2723,9 +2802,9 @@ yyreduce:
}
break;
- case 178:
-/* Line 1787 of yacc.c */
-#line 642 "util/configparser.y"
+ case 182:
+/* Line 1792 of yacc.c */
+#line 653 "util/configparser.y"
{
OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2739,9 +2818,9 @@ yyreduce:
}
break;
- case 179:
-/* Line 1787 of yacc.c */
-#line 655 "util/configparser.y"
+ case 183:
+/* Line 1792 of yacc.c */
+#line 666 "util/configparser.y"
{
OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2751,9 +2830,9 @@ yyreduce:
}
break;
- case 180:
-/* Line 1787 of yacc.c */
-#line 664 "util/configparser.y"
+ case 184:
+/* Line 1792 of yacc.c */
+#line 675 "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)
@@ -2763,9 +2842,9 @@ yyreduce:
}
break;
- case 181:
-/* Line 1787 of yacc.c */
-#line 673 "util/configparser.y"
+ case 185:
+/* Line 1792 of yacc.c */
+#line 684 "util/configparser.y"
{
OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2775,9 +2854,22 @@ yyreduce:
}
break;
- case 182:
-/* Line 1787 of yacc.c */
-#line 682 "util/configparser.y"
+ case 186:
+/* Line 1792 of yacc.c */
+#line 693 "util/configparser.y"
+ {
+ OUTYY(("P(server_unblock_lan_zones:%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->unblock_lan_zones =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 187:
+/* Line 1792 of yacc.c */
+#line 703 "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))
@@ -2786,9 +2878,9 @@ yyreduce:
}
break;
- case 183:
-/* Line 1787 of yacc.c */
-#line 690 "util/configparser.y"
+ case 188:
+/* Line 1792 of yacc.c */
+#line 711 "util/configparser.y"
{
OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2802,9 +2894,9 @@ yyreduce:
}
break;
- case 184:
-/* Line 1787 of yacc.c */
-#line 703 "util/configparser.y"
+ case 189:
+/* Line 1792 of yacc.c */
+#line 724 "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)
@@ -2814,9 +2906,9 @@ yyreduce:
}
break;
- case 185:
-/* Line 1787 of yacc.c */
-#line 712 "util/configparser.y"
+ case 190:
+/* Line 1792 of yacc.c */
+#line 733 "util/configparser.y"
{
OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
@@ -2825,9 +2917,9 @@ yyreduce:
}
break;
- case 186:
-/* Line 1787 of yacc.c */
-#line 720 "util/configparser.y"
+ case 191:
+/* Line 1792 of yacc.c */
+#line 741 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2837,9 +2929,9 @@ yyreduce:
}
break;
- case 187:
-/* Line 1787 of yacc.c */
-#line 729 "util/configparser.y"
+ case 192:
+/* Line 1792 of yacc.c */
+#line 750 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
@@ -2848,9 +2940,9 @@ yyreduce:
}
break;
- case 188:
-/* Line 1787 of yacc.c */
-#line 737 "util/configparser.y"
+ case 193:
+/* Line 1792 of yacc.c */
+#line 758 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2864,9 +2956,9 @@ yyreduce:
}
break;
- case 189:
-/* Line 1787 of yacc.c */
-#line 750 "util/configparser.y"
+ case 194:
+/* Line 1792 of yacc.c */
+#line 771 "util/configparser.y"
{
OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->target_fetch_policy);
@@ -2874,9 +2966,9 @@ yyreduce:
}
break;
- case 190:
-/* Line 1787 of yacc.c */
-#line 757 "util/configparser.y"
+ case 195:
+/* Line 1792 of yacc.c */
+#line 778 "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)
@@ -2887,9 +2979,9 @@ yyreduce:
}
break;
- case 191:
-/* Line 1787 of yacc.c */
-#line 767 "util/configparser.y"
+ case 196:
+/* Line 1792 of yacc.c */
+#line 788 "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)
@@ -2900,9 +2992,9 @@ yyreduce:
}
break;
- case 192:
-/* Line 1787 of yacc.c */
-#line 777 "util/configparser.y"
+ case 197:
+/* Line 1792 of yacc.c */
+#line 798 "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)
@@ -2913,9 +3005,9 @@ yyreduce:
}
break;
- case 193:
-/* Line 1787 of yacc.c */
-#line 787 "util/configparser.y"
+ case 198:
+/* Line 1792 of yacc.c */
+#line 808 "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)
@@ -2926,9 +3018,9 @@ yyreduce:
}
break;
- case 194:
-/* Line 1787 of yacc.c */
-#line 797 "util/configparser.y"
+ case 199:
+/* Line 1792 of yacc.c */
+#line 818 "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)
@@ -2939,9 +3031,9 @@ yyreduce:
}
break;
- case 195:
-/* Line 1787 of yacc.c */
-#line 807 "util/configparser.y"
+ case 200:
+/* Line 1792 of yacc.c */
+#line 828 "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)
@@ -2952,9 +3044,9 @@ yyreduce:
}
break;
- case 196:
-/* Line 1787 of yacc.c */
-#line 817 "util/configparser.y"
+ case 201:
+/* Line 1792 of yacc.c */
+#line 838 "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)
@@ -2965,9 +3057,9 @@ yyreduce:
}
break;
- case 197:
-/* Line 1787 of yacc.c */
-#line 827 "util/configparser.y"
+ case 202:
+/* Line 1792 of yacc.c */
+#line 848 "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)))
@@ -2975,9 +3067,9 @@ yyreduce:
}
break;
- case 198:
-/* Line 1787 of yacc.c */
-#line 834 "util/configparser.y"
+ case 203:
+/* Line 1792 of yacc.c */
+#line 855 "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)))
@@ -2985,9 +3077,9 @@ yyreduce:
}
break;
- case 199:
-/* Line 1787 of yacc.c */
-#line 841 "util/configparser.y"
+ case 204:
+/* Line 1792 of yacc.c */
+#line 862 "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)
@@ -2997,9 +3089,9 @@ yyreduce:
}
break;
- case 200:
-/* Line 1787 of yacc.c */
-#line 850 "util/configparser.y"
+ case 205:
+/* Line 1792 of yacc.c */
+#line 871 "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)
@@ -3009,9 +3101,9 @@ yyreduce:
}
break;
- case 201:
-/* Line 1787 of yacc.c */
-#line 859 "util/configparser.y"
+ case 206:
+/* Line 1792 of yacc.c */
+#line 880 "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)
@@ -3021,9 +3113,9 @@ yyreduce:
}
break;
- case 202:
-/* Line 1787 of yacc.c */
-#line 868 "util/configparser.y"
+ case 207:
+/* Line 1792 of yacc.c */
+#line 889 "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)))
@@ -3031,9 +3123,9 @@ yyreduce:
}
break;
- case 203:
-/* Line 1787 of yacc.c */
-#line 875 "util/configparser.y"
+ case 208:
+/* Line 1792 of yacc.c */
+#line 896 "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)
@@ -3044,9 +3136,9 @@ yyreduce:
}
break;
- case 204:
-/* Line 1787 of yacc.c */
-#line 885 "util/configparser.y"
+ case 209:
+/* Line 1792 of yacc.c */
+#line 906 "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 &&
@@ -3064,9 +3156,9 @@ yyreduce:
}
break;
- case 205:
-/* Line 1787 of yacc.c */
-#line 902 "util/configparser.y"
+ case 210:
+/* Line 1792 of yacc.c */
+#line 923 "util/configparser.y"
{
OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->module_conf);
@@ -3074,9 +3166,9 @@ yyreduce:
}
break;
- case 206:
-/* Line 1787 of yacc.c */
-#line 909 "util/configparser.y"
+ case 211:
+/* Line 1792 of yacc.c */
+#line 930 "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) {
@@ -3095,9 +3187,9 @@ yyreduce:
}
break;
- case 207:
-/* Line 1787 of yacc.c */
-#line 927 "util/configparser.y"
+ case 212:
+/* Line 1792 of yacc.c */
+#line 948 "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) {
@@ -3111,9 +3203,9 @@ yyreduce:
}
break;
- case 208:
-/* Line 1787 of yacc.c */
-#line 940 "util/configparser.y"
+ case 213:
+/* Line 1792 of yacc.c */
+#line 961 "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) {
@@ -3127,9 +3219,9 @@ yyreduce:
}
break;
- case 209:
-/* Line 1787 of yacc.c */
-#line 953 "util/configparser.y"
+ case 214:
+/* Line 1792 of yacc.c */
+#line 974 "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)
@@ -3139,9 +3231,9 @@ yyreduce:
}
break;
- case 210:
-/* Line 1787 of yacc.c */
-#line 962 "util/configparser.y"
+ case 215:
+/* Line 1792 of yacc.c */
+#line 983 "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)
@@ -3151,9 +3243,9 @@ yyreduce:
}
break;
- case 211:
-/* Line 1787 of yacc.c */
-#line 971 "util/configparser.y"
+ case 216:
+/* Line 1792 of yacc.c */
+#line 992 "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)
@@ -3163,9 +3255,9 @@ yyreduce:
}
break;
- case 212:
-/* Line 1787 of yacc.c */
-#line 980 "util/configparser.y"
+ case 217:
+/* Line 1792 of yacc.c */
+#line 1001 "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)
@@ -3176,9 +3268,9 @@ yyreduce:
}
break;
- case 213:
-/* Line 1787 of yacc.c */
-#line 990 "util/configparser.y"
+ case 218:
+/* Line 1792 of yacc.c */
+#line 1011 "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)
@@ -3189,9 +3281,9 @@ yyreduce:
}
break;
- case 214:
-/* Line 1787 of yacc.c */
-#line 1000 "util/configparser.y"
+ case 219:
+/* Line 1792 of yacc.c */
+#line 1021 "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)
@@ -3201,9 +3293,9 @@ yyreduce:
}
break;
- case 215:
-/* Line 1787 of yacc.c */
-#line 1009 "util/configparser.y"
+ case 220:
+/* Line 1792 of yacc.c */
+#line 1030 "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)
@@ -3213,9 +3305,9 @@ yyreduce:
}
break;
- case 216:
-/* Line 1787 of yacc.c */
-#line 1018 "util/configparser.y"
+ case 221:
+/* Line 1792 of yacc.c */
+#line 1039 "util/configparser.y"
{
OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->val_nsec3_key_iterations);
@@ -3223,9 +3315,9 @@ yyreduce:
}
break;
- case 217:
-/* Line 1787 of yacc.c */
-#line 1025 "util/configparser.y"
+ case 222:
+/* Line 1792 of yacc.c */
+#line 1046 "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)
@@ -3235,9 +3327,9 @@ yyreduce:
}
break;
- case 218:
-/* Line 1787 of yacc.c */
-#line 1034 "util/configparser.y"
+ case 223:
+/* Line 1792 of yacc.c */
+#line 1055 "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)
@@ -3247,9 +3339,9 @@ yyreduce:
}
break;
- case 219:
-/* Line 1787 of yacc.c */
-#line 1043 "util/configparser.y"
+ case 224:
+/* Line 1792 of yacc.c */
+#line 1064 "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)
@@ -3259,9 +3351,9 @@ yyreduce:
}
break;
- case 220:
-/* Line 1787 of yacc.c */
-#line 1052 "util/configparser.y"
+ case 225:
+/* Line 1792 of yacc.c */
+#line 1073 "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))
@@ -3270,9 +3362,9 @@ yyreduce:
}
break;
- case 221:
-/* Line 1787 of yacc.c */
-#line 1060 "util/configparser.y"
+ case 226:
+/* Line 1792 of yacc.c */
+#line 1081 "util/configparser.y"
{
OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3286,9 +3378,9 @@ yyreduce:
}
break;
- case 222:
-/* Line 1787 of yacc.c */
-#line 1073 "util/configparser.y"
+ case 227:
+/* Line 1792 of yacc.c */
+#line 1094 "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))
@@ -3297,9 +3389,9 @@ yyreduce:
}
break;
- case 223:
-/* Line 1787 of yacc.c */
-#line 1081 "util/configparser.y"
+ case 228:
+/* Line 1792 of yacc.c */
+#line 1102 "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 &&
@@ -3322,9 +3414,9 @@ yyreduce:
}
break;
- case 224:
-/* Line 1787 of yacc.c */
-#line 1103 "util/configparser.y"
+ case 229:
+/* Line 1792 of yacc.c */
+#line 1124 "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)))
@@ -3332,9 +3424,9 @@ yyreduce:
}
break;
- case 225:
-/* Line 1787 of yacc.c */
-#line 1110 "util/configparser.y"
+ case 230:
+/* Line 1792 of yacc.c */
+#line 1131 "util/configparser.y"
{
char* ptr;
OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
@@ -3350,9 +3442,9 @@ yyreduce:
}
break;
- case 226:
-/* Line 1787 of yacc.c */
-#line 1125 "util/configparser.y"
+ case 231:
+/* Line 1792 of yacc.c */
+#line 1146 "util/configparser.y"
{
OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3363,9 +3455,9 @@ yyreduce:
}
break;
- case 227:
-/* Line 1787 of yacc.c */
-#line 1135 "util/configparser.y"
+ case 232:
+/* Line 1792 of yacc.c */
+#line 1156 "util/configparser.y"
{
OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3376,9 +3468,9 @@ yyreduce:
}
break;
- case 228:
-/* Line 1787 of yacc.c */
-#line 1145 "util/configparser.y"
+ case 233:
+/* Line 1792 of yacc.c */
+#line 1166 "util/configparser.y"
{
OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
@@ -3386,9 +3478,31 @@ yyreduce:
}
break;
- case 229:
-/* Line 1787 of yacc.c */
-#line 1152 "util/configparser.y"
+ case 234:
+/* Line 1792 of yacc.c */
+#line 1173 "util/configparser.y"
+ {
+ OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dns64_prefix);
+ cfg_parser->cfg->dns64_prefix = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 235:
+/* Line 1792 of yacc.c */
+#line 1180 "util/configparser.y"
+ {
+ OUTYY(("P(server_dns64_synthall:%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->dns64_synthall = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 236:
+/* Line 1792 of yacc.c */
+#line 1189 "util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->stubs->name)
@@ -3399,9 +3513,9 @@ yyreduce:
}
break;
- case 230:
-/* Line 1787 of yacc.c */
-#line 1162 "util/configparser.y"
+ case 237:
+/* Line 1792 of yacc.c */
+#line 1199 "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)))
@@ -3409,9 +3523,9 @@ yyreduce:
}
break;
- case 231:
-/* Line 1787 of yacc.c */
-#line 1169 "util/configparser.y"
+ case 238:
+/* Line 1792 of yacc.c */
+#line 1206 "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)))
@@ -3419,9 +3533,9 @@ yyreduce:
}
break;
- case 232:
-/* Line 1787 of yacc.c */
-#line 1176 "util/configparser.y"
+ case 239:
+/* Line 1792 of yacc.c */
+#line 1213 "util/configparser.y"
{
OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3431,9 +3545,9 @@ yyreduce:
}
break;
- case 233:
-/* Line 1787 of yacc.c */
-#line 1185 "util/configparser.y"
+ case 240:
+/* Line 1792 of yacc.c */
+#line 1222 "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)
@@ -3444,9 +3558,9 @@ yyreduce:
}
break;
- case 234:
-/* Line 1787 of yacc.c */
-#line 1195 "util/configparser.y"
+ case 241:
+/* Line 1792 of yacc.c */
+#line 1232 "util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->forwards->name)
@@ -3457,9 +3571,9 @@ yyreduce:
}
break;
- case 235:
-/* Line 1787 of yacc.c */
-#line 1205 "util/configparser.y"
+ case 242:
+/* Line 1792 of yacc.c */
+#line 1242 "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)))
@@ -3467,9 +3581,9 @@ yyreduce:
}
break;
- case 236:
-/* Line 1787 of yacc.c */
-#line 1212 "util/configparser.y"
+ case 243:
+/* Line 1792 of yacc.c */
+#line 1249 "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)))
@@ -3477,9 +3591,9 @@ yyreduce:
}
break;
- case 237:
-/* Line 1787 of yacc.c */
-#line 1219 "util/configparser.y"
+ case 244:
+/* Line 1792 of yacc.c */
+#line 1256 "util/configparser.y"
{
OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3489,17 +3603,17 @@ yyreduce:
}
break;
- case 238:
-/* Line 1787 of yacc.c */
-#line 1228 "util/configparser.y"
+ case 245:
+/* Line 1792 of yacc.c */
+#line 1265 "util/configparser.y"
{
OUTYY(("\nP(remote-control:)\n"));
}
break;
- case 248:
-/* Line 1787 of yacc.c */
-#line 1239 "util/configparser.y"
+ case 255:
+/* Line 1792 of yacc.c */
+#line 1276 "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)
@@ -3510,9 +3624,9 @@ yyreduce:
}
break;
- case 249:
-/* Line 1787 of yacc.c */
-#line 1249 "util/configparser.y"
+ case 256:
+/* Line 1792 of yacc.c */
+#line 1286 "util/configparser.y"
{
OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3522,9 +3636,9 @@ yyreduce:
}
break;
- case 250:
-/* Line 1787 of yacc.c */
-#line 1258 "util/configparser.y"
+ case 257:
+/* Line 1792 of yacc.c */
+#line 1295 "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)))
@@ -3532,9 +3646,9 @@ yyreduce:
}
break;
- case 251:
-/* Line 1787 of yacc.c */
-#line 1265 "util/configparser.y"
+ case 258:
+/* Line 1792 of yacc.c */
+#line 1302 "util/configparser.y"
{
OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_key_file);
@@ -3542,9 +3656,9 @@ yyreduce:
}
break;
- case 252:
-/* Line 1787 of yacc.c */
-#line 1272 "util/configparser.y"
+ case 259:
+/* Line 1792 of yacc.c */
+#line 1309 "util/configparser.y"
{
OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_cert_file);
@@ -3552,9 +3666,9 @@ yyreduce:
}
break;
- case 253:
-/* Line 1787 of yacc.c */
-#line 1279 "util/configparser.y"
+ case 260:
+/* Line 1792 of yacc.c */
+#line 1316 "util/configparser.y"
{
OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_key_file);
@@ -3562,9 +3676,9 @@ yyreduce:
}
break;
- case 254:
-/* Line 1787 of yacc.c */
-#line 1286 "util/configparser.y"
+ case 261:
+/* Line 1792 of yacc.c */
+#line 1323 "util/configparser.y"
{
OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_cert_file);
@@ -3572,17 +3686,160 @@ yyreduce:
}
break;
- case 255:
-/* Line 1787 of yacc.c */
-#line 1293 "util/configparser.y"
+ case 262:
+/* Line 1792 of yacc.c */
+#line 1330 "util/configparser.y"
+ {
+ OUTYY(("\nP(dnstap:)\n"));
+ }
+ break;
+
+ case 277:
+/* Line 1792 of yacc.c */
+#line 1347 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_enable:%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->dnstap = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 278:
+/* Line 1792 of yacc.c */
+#line 1355 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dnstap_socket_path);
+ cfg_parser->cfg->dnstap_socket_path = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 279:
+/* Line 1792 of yacc.c */
+#line 1362 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_send_identity:%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->dnstap_send_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 280:
+/* Line 1792 of yacc.c */
+#line 1370 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_send_version:%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->dnstap_send_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 281:
+/* Line 1792 of yacc.c */
+#line 1378 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dnstap_identity);
+ cfg_parser->cfg->dnstap_identity = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 282:
+/* Line 1792 of yacc.c */
+#line 1385 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dnstap_version);
+ cfg_parser->cfg->dnstap_version = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 283:
+/* Line 1792 of yacc.c */
+#line 1392 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_query_messages:%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->dnstap_log_resolver_query_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 284:
+/* Line 1792 of yacc.c */
+#line 1401 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_response_messages:%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->dnstap_log_resolver_response_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 285:
+/* Line 1792 of yacc.c */
+#line 1410 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_client_query_messages:%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->dnstap_log_client_query_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 286:
+/* Line 1792 of yacc.c */
+#line 1419 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_client_response_messages:%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->dnstap_log_client_response_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 287:
+/* Line 1792 of yacc.c */
+#line 1428 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%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->dnstap_log_forwarder_query_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 288:
+/* Line 1792 of yacc.c */
+#line 1437 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%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->dnstap_log_forwarder_response_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 289:
+/* Line 1792 of yacc.c */
+#line 1446 "util/configparser.y"
{
OUTYY(("\nP(python:)\n"));
}
break;
- case 259:
-/* Line 1787 of yacc.c */
-#line 1302 "util/configparser.y"
+ case 293:
+/* Line 1792 of yacc.c */
+#line 1455 "util/configparser.y"
{
OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->python_script);
@@ -3591,8 +3848,8 @@ yyreduce:
break;
-/* Line 1787 of yacc.c */
-#line 3596 "util/configparser.c"
+/* Line 1792 of yacc.c */
+#line 3853 "util/configparser.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -3755,7 +4012,9 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
/* Shift the error token. */
@@ -3821,9 +4080,8 @@ yyreturn:
}
-/* Line 2048 of yacc.c */
-#line 1307 "util/configparser.y"
+/* Line 2055 of yacc.c */
+#line 1460 "util/configparser.y"
/* parse helper routines could be here */
-
diff --git a/util/configparser.h b/util/configparser.h
index 3a7f74ea4e99..e0a2b4f78bf4 100644
--- a/util/configparser.h
+++ b/util/configparser.h
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.6.1. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison interface for Yacc-like parsers in C
@@ -30,8 +30,8 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-#ifndef YY_UTIL_CONFIGPARSER_H
-# define YY_UTIL_CONFIGPARSER_H
+#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -175,7 +175,23 @@ extern int yydebug;
VAR_MINIMAL_RESPONSES = 384,
VAR_RRSET_ROUNDROBIN = 385,
VAR_MAX_UDP_SIZE = 386,
- VAR_DELAY_CLOSE = 387
+ VAR_DELAY_CLOSE = 387,
+ VAR_UNBLOCK_LAN_ZONES = 388,
+ VAR_DNS64_PREFIX = 389,
+ VAR_DNS64_SYNTHALL = 390,
+ VAR_DNSTAP = 391,
+ VAR_DNSTAP_ENABLE = 392,
+ VAR_DNSTAP_SOCKET_PATH = 393,
+ VAR_DNSTAP_SEND_IDENTITY = 394,
+ VAR_DNSTAP_SEND_VERSION = 395,
+ VAR_DNSTAP_IDENTITY = 396,
+ VAR_DNSTAP_VERSION = 397,
+ VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 398,
+ VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 399,
+ VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 400,
+ VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 401,
+ VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 402,
+ VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 403
};
#endif
/* Tokens. */
@@ -309,20 +325,36 @@ extern int yydebug;
#define VAR_RRSET_ROUNDROBIN 385
#define VAR_MAX_UDP_SIZE 386
#define VAR_DELAY_CLOSE 387
+#define VAR_UNBLOCK_LAN_ZONES 388
+#define VAR_DNS64_PREFIX 389
+#define VAR_DNS64_SYNTHALL 390
+#define VAR_DNSTAP 391
+#define VAR_DNSTAP_ENABLE 392
+#define VAR_DNSTAP_SOCKET_PATH 393
+#define VAR_DNSTAP_SEND_IDENTITY 394
+#define VAR_DNSTAP_SEND_VERSION 395
+#define VAR_DNSTAP_IDENTITY 396
+#define VAR_DNSTAP_VERSION 397
+#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 398
+#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 399
+#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 400
+#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 401
+#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 402
+#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 403
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 2049 of yacc.c */
+/* Line 2058 of yacc.c */
#line 64 "util/configparser.y"
char* str;
-/* Line 2049 of yacc.c */
-#line 326 "util/configparser.h"
+/* Line 2058 of yacc.c */
+#line 358 "util/configparser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -345,4 +377,4 @@ int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
-#endif /* !YY_UTIL_CONFIGPARSER_H */
+#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
diff --git a/util/configparser.y b/util/configparser.y
index 74b5b79ee83a..7a92d9ee7899 100644
--- a/util/configparser.y
+++ b/util/configparser.y
@@ -105,13 +105,23 @@ extern struct config_parser_state* cfg_parser;
%token VAR_IGNORE_CD_FLAG VAR_LOG_QUERIES VAR_TCP_UPSTREAM VAR_SSL_UPSTREAM
%token VAR_SSL_SERVICE_KEY VAR_SSL_SERVICE_PEM VAR_SSL_PORT VAR_FORWARD_FIRST
%token VAR_STUB_FIRST VAR_MINIMAL_RESPONSES VAR_RRSET_ROUNDROBIN
-%token VAR_MAX_UDP_SIZE VAR_DELAY_CLOSE
+%token VAR_MAX_UDP_SIZE VAR_DELAY_CLOSE VAR_UNBLOCK_LAN_ZONES
+%token VAR_DNS64_PREFIX VAR_DNS64_SYNTHALL
+%token VAR_DNSTAP VAR_DNSTAP_ENABLE VAR_DNSTAP_SOCKET_PATH
+%token VAR_DNSTAP_SEND_IDENTITY VAR_DNSTAP_SEND_VERSION
+%token VAR_DNSTAP_IDENTITY VAR_DNSTAP_VERSION
+%token VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES
+%token VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES
+%token VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES
+%token VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES
+%token VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES
+%token VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES
%%
toplevelvars: /* empty */ | toplevelvars toplevelvar ;
toplevelvar: serverstart contents_server | stubstart contents_stub |
forwardstart contents_forward | pythonstart contents_py |
- rcstart contents_rc
+ rcstart contents_rc | dtstart contents_dt
;
/* server: declaration */
@@ -163,7 +173,8 @@ content_server: server_num_threads | server_verbosity | server_port |
server_log_queries | server_tcp_upstream | server_ssl_upstream |
server_ssl_service_key | server_ssl_service_pem | server_ssl_port |
server_minimal_responses | server_rrset_roundrobin | server_max_udp_size |
- server_so_reuseport | server_delay_close
+ server_so_reuseport | server_delay_close | server_unblock_lan_zones |
+ server_dns64_prefix | server_dns64_synthall
;
stubstart: VAR_STUB_ZONE
{
@@ -678,6 +689,16 @@ server_delay_close: VAR_DELAY_CLOSE STRING_ARG
free($2);
}
;
+server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG
+ {
+ OUTYY(("P(server_unblock_lan_zones:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->unblock_lan_zones =
+ (strcmp($2, "yes")==0);
+ free($2);
+ }
+ ;
server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG
{
OUTYY(("P(server_rrset_cache_size:%s)\n", $2));
@@ -1148,6 +1169,22 @@ server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG
free($2);
}
;
+server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG
+ {
+ OUTYY(("P(dns64_prefix:%s)\n", $2));
+ free(cfg_parser->cfg->dns64_prefix);
+ cfg_parser->cfg->dns64_prefix = $2;
+ }
+ ;
+server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG
+ {
+ OUTYY(("P(server_dns64_synthall:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dns64_synthall = (strcmp($2, "yes")==0);
+ free($2);
+ }
+ ;
stub_name: VAR_NAME STRING_ARG
{
OUTYY(("P(name:%s)\n", $2));
@@ -1289,6 +1326,122 @@ rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG
cfg_parser->cfg->control_cert_file = $2;
}
;
+dtstart: VAR_DNSTAP
+ {
+ OUTYY(("\nP(dnstap:)\n"));
+ }
+ ;
+contents_dt: contents_dt content_dt
+ | ;
+content_dt: dt_dnstap_enable | dt_dnstap_socket_path |
+ dt_dnstap_send_identity | dt_dnstap_send_version |
+ dt_dnstap_identity | dt_dnstap_version |
+ dt_dnstap_log_resolver_query_messages |
+ dt_dnstap_log_resolver_response_messages |
+ dt_dnstap_log_client_query_messages |
+ dt_dnstap_log_client_response_messages |
+ dt_dnstap_log_forwarder_query_messages |
+ dt_dnstap_log_forwarder_response_messages
+ ;
+dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_enable:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap = (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_socket_path:%s)\n", $2));
+ free(cfg_parser->cfg->dnstap_socket_path);
+ cfg_parser->cfg->dnstap_socket_path = $2;
+ }
+ ;
+dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_send_identity:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_send_identity = (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_send_version:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_send_version = (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_identity:%s)\n", $2));
+ free(cfg_parser->cfg->dnstap_identity);
+ cfg_parser->cfg->dnstap_identity = $2;
+ }
+ ;
+dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_version:%s)\n", $2));
+ free(cfg_parser->cfg->dnstap_version);
+ cfg_parser->cfg->dnstap_version = $2;
+ }
+ ;
+dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_resolver_query_messages =
+ (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_resolver_response_messages =
+ (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_client_query_messages =
+ (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_client_response_messages =
+ (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
+ (strcmp($2, "yes")==0);
+ }
+ ;
+dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
+ (strcmp($2, "yes")==0);
+ }
+ ;
pythonstart: VAR_PYTHON
{
OUTYY(("\nP(python:)\n"));
diff --git a/util/data/dname.c b/util/data/dname.c
index 76f2e6458264..d43bbf6d2407 100644
--- a/util/data/dname.c
+++ b/util/data/dname.c
@@ -114,8 +114,8 @@ query_dname_compare(register uint8_t* d1, register uint8_t* d2)
while(lab1--) {
/* compare bytes first for speed */
if(*d1 != *d2 &&
- tolower((int)*d1) != tolower((int)*d2)) {
- if(tolower((int)*d1) < tolower((int)*d2))
+ tolower((unsigned char)*d1) != tolower((unsigned char)*d2)) {
+ if(tolower((unsigned char)*d1) < tolower((unsigned char)*d2))
return -1;
return 1;
}
@@ -138,7 +138,7 @@ query_dname_tolower(uint8_t* dname)
while(labellen) {
dname++;
while(labellen--) {
- *dname = (uint8_t)tolower((int)*dname);
+ *dname = (uint8_t)tolower((unsigned char)*dname);
dname++;
}
labellen = *dname;
@@ -167,7 +167,7 @@ pkt_dname_tolower(sldns_buffer* pkt, uint8_t* dname)
if(dname+lablen >= sldns_buffer_end(pkt))
return;
while(lablen--) {
- *dname = (uint8_t)tolower((int)*dname);
+ *dname = (uint8_t)tolower((unsigned char)*dname);
dname++;
}
if(dname >= sldns_buffer_end(pkt))
@@ -256,8 +256,8 @@ dname_pkt_compare(sldns_buffer* pkt, uint8_t* d1, uint8_t* d2)
log_assert(len1 == len2 && len1 != 0);
/* compare labels */
while(len1--) {
- if(tolower((int)*d1++) != tolower((int)*d2++)) {
- if(tolower((int)d1[-1]) < tolower((int)d2[-1]))
+ if(tolower((unsigned char)*d1++) != tolower((unsigned char)*d2++)) {
+ if(tolower((unsigned char)d1[-1]) < tolower((unsigned char)d2[-1]))
return -1;
return 1;
}
@@ -282,7 +282,7 @@ dname_query_hash(uint8_t* dname, hashvalue_t h)
labuf[0] = lablen;
i=0;
while(lablen--)
- labuf[++i] = (uint8_t)tolower((int)*dname++);
+ labuf[++i] = (uint8_t)tolower((unsigned char)*dname++);
h = hashlittle(labuf, labuf[0] + 1, h);
lablen = *dname++;
}
@@ -310,7 +310,7 @@ dname_pkt_hash(sldns_buffer* pkt, uint8_t* dname, hashvalue_t h)
labuf[0] = lablen;
i=0;
while(lablen--)
- labuf[++i] = (uint8_t)tolower((int)*dname++);
+ labuf[++i] = (uint8_t)tolower((unsigned char)*dname++);
h = hashlittle(labuf, labuf[0] + 1, h);
lablen = *dname++;
}
@@ -423,8 +423,8 @@ static int
memlowercmp(uint8_t* p1, uint8_t* p2, uint8_t len)
{
while(len--) {
- if(*p1 != *p2 && tolower((int)*p1) != tolower((int)*p2)) {
- if(tolower((int)*p1) < tolower((int)*p2))
+ if(*p1 != *p2 && tolower((unsigned char)*p1) != tolower((unsigned char)*p2)) {
+ if(tolower((unsigned char)*p1) < tolower((unsigned char)*p2))
return -1;
return 1;
}
@@ -480,10 +480,10 @@ dname_lab_cmp(uint8_t* d1, int labs1, uint8_t* d2, int labs2, int* mlabs)
* lastdiff = c;
* lastmlabs = atlabel; } apart from d1++,d2++ */
while(len1) {
- if(*d1 != *d2 && tolower((int)*d1)
- != tolower((int)*d2)) {
- if(tolower((int)*d1) <
- tolower((int)*d2)) {
+ if(*d1 != *d2 && tolower((unsigned char)*d1)
+ != tolower((unsigned char)*d2)) {
+ if(tolower((unsigned char)*d1) <
+ tolower((unsigned char)*d2)) {
lastdiff = -1;
lastmlabs = atlabel;
d1 += len1;
@@ -561,7 +561,7 @@ void dname_str(uint8_t* dname, char* str)
return;
}
while(lablen--) {
- if(isalnum((int)*dname)
+ if(isalnum((unsigned char)*dname)
|| *dname == '-' || *dname == '_'
|| *dname == '*')
*s++ = *(char*)dname++;
diff --git a/util/data/msgreply.c b/util/data/msgreply.c
index cfdf3fe11031..126e7bef45b7 100644
--- a/util/data/msgreply.c
+++ b/util/data/msgreply.c
@@ -78,7 +78,7 @@ parse_create_qinfo(sldns_buffer* pkt, struct msg_parse* msg,
}
/** constructor for replyinfo */
-static struct reply_info*
+struct reply_info*
construct_reply_info_base(struct regional* region, uint16_t flags, size_t qd,
time_t ttl, time_t prettl, size_t an, size_t ns, size_t ar,
size_t total, enum sec_status sec)
diff --git a/util/data/msgreply.h b/util/data/msgreply.h
index f920108f952d..ccbd0d748381 100644
--- a/util/data/msgreply.h
+++ b/util/data/msgreply.h
@@ -192,6 +192,26 @@ struct msgreply_entry {
struct lruhash_entry entry;
};
+/**
+ * Constructor for replyinfo.
+ * @param region: where to allocate the results, pass NULL to use malloc.
+ * @param flags: flags for the replyinfo.
+ * @param qd: qd count
+ * @param ttl: TTL of replyinfo
+ * @param prettl: prefetch ttl
+ * @param an: an count
+ * @param ns: ns count
+ * @param ar: ar count
+ * @param total: total rrset count (presumably an+ns+ar).
+ * @param sec: security status of the reply info.
+ * @return the reply_info base struct with the array for putting the rrsets
+ * in. The array has been zeroed. Returns NULL on malloc failure.
+ */
+struct reply_info*
+construct_reply_info_base(struct regional* region, uint16_t flags, size_t qd,
+ time_t ttl, time_t prettl, size_t an, size_t ns, size_t ar,
+ size_t total, enum sec_status sec);
+
/**
* Parse wire query into a queryinfo structure, return 0 on parse error.
* initialises the (prealloced) queryinfo structure as well.
diff --git a/util/data/packed_rrset.h b/util/data/packed_rrset.h
index 4b0ef80cd747..5d7990a2b0b1 100644
--- a/util/data/packed_rrset.h
+++ b/util/data/packed_rrset.h
@@ -189,7 +189,7 @@ enum sec_status {
* o base struct
* o rr_len size_t array
* o rr_data uint8_t* array
- * o rr_ttl uint32_t array (after size_t and ptrs because those may be
+ * o rr_ttl time_t array (after size_t and ptrs because those may be
* 64bit and this array before those would make them unaligned).
* Since the stuff before is 32/64bit, rr_ttl is 32 bit aligned.
* o rr_data rdata wireformats
diff --git a/util/fptr_wlist.c b/util/fptr_wlist.c
index c8d3e5e9f351..3a5fc5f0611a 100644
--- a/util/fptr_wlist.c
+++ b/util/fptr_wlist.c
@@ -46,13 +46,12 @@
#include "config.h"
#include "util/fptr_wlist.h"
#include "util/mini_event.h"
-#include "daemon/worker.h"
-#include "daemon/remote.h"
#include "services/outside_network.h"
#include "services/mesh.h"
#include "services/localzone.h"
#include "services/cache/infra.h"
#include "services/cache/rrset.h"
+#include "dns64/dns64.h"
#include "iterator/iterator.h"
#include "iterator/iter_fwd.h"
#include "validator/validator.h"
@@ -69,6 +68,7 @@
#include "util/locks.h"
#include "libunbound/libworker.h"
#include "libunbound/context.h"
+#include "libunbound/worker.h"
#include "util/tube.h"
#include "util/config_file.h"
#ifdef UB_ON_WINDOWS
@@ -259,7 +259,7 @@ fptr_whitelist_hash_markdelfunc(lruhash_markdelfunc_t fptr)
int
fptr_whitelist_modenv_send_query(struct outbound_entry* (*fptr)(
uint8_t* qname, size_t qnamelen, uint16_t qtype, uint16_t qclass,
- uint16_t flags, int dnssec, int want_dnssec,
+ uint16_t flags, int dnssec, int want_dnssec, int nocaps,
struct sockaddr_storage* addr, socklen_t addrlen,
uint8_t* zone, size_t zonelen,
struct module_qstate* q))
@@ -307,6 +307,7 @@ fptr_whitelist_mod_init(int (*fptr)(struct module_env* env, int id))
{
if(fptr == &iter_init) return 1;
else if(fptr == &val_init) return 1;
+ else if(fptr == &dns64_init) return 1;
#ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_init) return 1;
#endif
@@ -318,6 +319,7 @@ fptr_whitelist_mod_deinit(void (*fptr)(struct module_env* env, int id))
{
if(fptr == &iter_deinit) return 1;
else if(fptr == &val_deinit) return 1;
+ else if(fptr == &dns64_deinit) return 1;
#ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_deinit) return 1;
#endif
@@ -330,6 +332,7 @@ fptr_whitelist_mod_operate(void (*fptr)(struct module_qstate* qstate,
{
if(fptr == &iter_operate) return 1;
else if(fptr == &val_operate) return 1;
+ else if(fptr == &dns64_operate) return 1;
#ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_operate) return 1;
#endif
@@ -342,6 +345,7 @@ fptr_whitelist_mod_inform_super(void (*fptr)(
{
if(fptr == &iter_inform_super) return 1;
else if(fptr == &val_inform_super) return 1;
+ else if(fptr == &dns64_inform_super) return 1;
#ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_inform_super) return 1;
#endif
@@ -354,6 +358,7 @@ fptr_whitelist_mod_clear(void (*fptr)(struct module_qstate* qstate,
{
if(fptr == &iter_clear) return 1;
else if(fptr == &val_clear) return 1;
+ else if(fptr == &dns64_clear) return 1;
#ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_clear) return 1;
#endif
@@ -365,6 +370,7 @@ fptr_whitelist_mod_get_mem(size_t (*fptr)(struct module_env* env, int id))
{
if(fptr == &iter_get_mem) return 1;
else if(fptr == &val_get_mem) return 1;
+ else if(fptr == &dns64_get_mem) return 1;
#ifdef WITH_PYTHONMODULE
else if(fptr == &pythonmod_get_mem) return 1;
#endif
diff --git a/util/fptr_wlist.h b/util/fptr_wlist.h
index b2925d6755d5..62692ba8b530 100644
--- a/util/fptr_wlist.h
+++ b/util/fptr_wlist.h
@@ -211,7 +211,7 @@ int fptr_whitelist_hash_markdelfunc(lruhash_markdelfunc_t fptr);
*/
int fptr_whitelist_modenv_send_query(struct outbound_entry* (*fptr)(
uint8_t* qname, size_t qnamelen, uint16_t qtype, uint16_t qclass,
- uint16_t flags, int dnssec, int want_dnssec,
+ uint16_t flags, int dnssec, int want_dnssec, int nocaps,
struct sockaddr_storage* addr, socklen_t addrlen,
uint8_t* zone, size_t zonelen,
struct module_qstate* q));
diff --git a/util/iana_ports.inc b/util/iana_ports.inc
index 252203033ff6..ff971293fe9e 100644
--- a/util/iana_ports.inc
+++ b/util/iana_ports.inc
@@ -650,6 +650,7 @@
780,
800,
801,
+802,
810,
828,
829,
@@ -935,7 +936,6 @@
1273,
1274,
1275,
-1276,
1277,
1278,
1279,
@@ -2016,7 +2016,6 @@
2367,
2368,
2370,
-2371,
2372,
2381,
2382,
@@ -2486,7 +2485,6 @@
2852,
2853,
2854,
-2855,
2856,
2857,
2858,
@@ -3443,7 +3441,6 @@
3838,
3839,
3840,
-3841,
3842,
3843,
3844,
@@ -3798,6 +3795,7 @@
4326,
4327,
4328,
+4333,
4340,
4341,
4342,
@@ -3965,6 +3963,8 @@
4784,
4785,
4789,
+4790,
+4791,
4800,
4801,
4802,
@@ -4002,6 +4002,7 @@
4899,
4900,
4914,
+4936,
4937,
4940,
4941,
@@ -4073,6 +4074,7 @@
5072,
5073,
5074,
+5078,
5079,
5080,
5081,
@@ -4157,6 +4159,7 @@
5315,
5343,
5344,
+5349,
5350,
5351,
5352,
@@ -4223,6 +4226,7 @@
5463,
5464,
5465,
+5474,
5500,
5501,
5502,
@@ -4276,6 +4280,7 @@
5682,
5683,
5684,
+5687,
5688,
5689,
5713,
@@ -4352,6 +4357,7 @@
6072,
6073,
6074,
+6081,
6082,
6083,
6085,
@@ -4632,6 +4638,7 @@
7560,
7566,
7570,
+7574,
7588,
7624,
7627,
@@ -4686,6 +4693,7 @@
7913,
7932,
7933,
+7962,
7967,
7979,
7980,
@@ -5017,6 +5025,7 @@
10252,
10260,
10288,
+10439,
10500,
10540,
10541,
@@ -5050,6 +5059,7 @@
11321,
11367,
11371,
+11430,
11600,
11720,
11723,
@@ -5144,6 +5154,7 @@
17007,
17185,
17219,
+17220,
17221,
17222,
17234,
@@ -5170,6 +5181,7 @@
18881,
18888,
19000,
+19007,
19191,
19194,
19283,
@@ -5249,6 +5261,7 @@
24386,
24465,
24554,
+24577,
24676,
24677,
24678,
diff --git a/util/locks.h b/util/locks.h
index d63e5f03201e..3776912aaca2 100644
--- a/util/locks.h
+++ b/util/locks.h
@@ -55,8 +55,10 @@
* Also thread creation and deletion functions are defined here.
*/
+/* if you define your own LOCKRET before including locks.h, you can get most
+ * locking functions without the dependency on log_err. */
+#ifndef LOCKRET
#include "util/log.h"
-
/**
* The following macro is used to check the return value of the
* pthread calls. They return 0 on success and an errno on error.
@@ -68,6 +70,7 @@
log_err("%s at %d could not " #func ": %s", \
__FILE__, __LINE__, strerror(lockret_err)); \
} while(0)
+#endif
/** DEBUG: use thread debug whenever possible */
#if defined(HAVE_PTHREAD) && defined(HAVE_PTHREAD_SPINLOCK_T) && defined(ENABLE_LOCK_CHECKS)
diff --git a/util/log.c b/util/log.c
index 39d3118a0000..f90efa71c75f 100644
--- a/util/log.c
+++ b/util/log.c
@@ -68,6 +68,10 @@ static FILE* logfile = 0;
static int key_created = 0;
/** pthread key for thread ids in logfile */
static ub_thread_key_t logkey;
+#ifndef THREADS_DISABLED
+/** pthread mutex to protect FILE* */
+static lock_quick_t log_lock;
+#endif
/** the identity of this executable/process */
static const char* ident="unbound";
#if defined(HAVE_SYSLOG_H) || defined(UB_ON_WINDOWS)
@@ -86,14 +90,19 @@ log_init(const char* filename, int use_syslog, const char* chrootdir)
if(!key_created) {
key_created = 1;
ub_thread_key_create(&logkey, NULL);
+ lock_quick_init(&log_lock);
}
+ lock_quick_lock(&log_lock);
if(logfile
#if defined(HAVE_SYSLOG_H) || defined(UB_ON_WINDOWS)
|| logging_to_syslog
#endif
- )
- verbose(VERB_QUERY, "switching log to %s",
- use_syslog?"syslog":(filename&&filename[0]?filename:"stderr"));
+ ) {
+ lock_quick_unlock(&log_lock); /* verbose() needs the lock */
+ verbose(VERB_QUERY, "switching log to %s",
+ use_syslog?"syslog":(filename&&filename[0]?filename:"stderr"));
+ lock_quick_lock(&log_lock);
+ }
if(logfile && logfile != stderr)
fclose(logfile);
#ifdef HAVE_SYSLOG_H
@@ -106,6 +115,7 @@ log_init(const char* filename, int use_syslog, const char* chrootdir)
* chroot and no longer be able to access dev/log and so on */
openlog(ident, LOG_NDELAY, LOG_DAEMON);
logging_to_syslog = 1;
+ lock_quick_unlock(&log_lock);
return;
}
#elif defined(UB_ON_WINDOWS)
@@ -114,11 +124,13 @@ log_init(const char* filename, int use_syslog, const char* chrootdir)
}
if(use_syslog) {
logging_to_syslog = 1;
+ lock_quick_unlock(&log_lock);
return;
}
#endif /* HAVE_SYSLOG_H */
if(!filename || !filename[0]) {
logfile = stderr;
+ lock_quick_unlock(&log_lock);
return;
}
/* open the file for logging */
@@ -127,6 +139,7 @@ log_init(const char* filename, int use_syslog, const char* chrootdir)
filename += strlen(chrootdir);
f = fopen(filename, "a");
if(!f) {
+ lock_quick_unlock(&log_lock);
log_err("Could not open logfile %s: %s", filename,
strerror(errno));
return;
@@ -136,11 +149,14 @@ log_init(const char* filename, int use_syslog, const char* chrootdir)
setvbuf(f, NULL, (int)_IOLBF, 0);
#endif
logfile = f;
+ lock_quick_unlock(&log_lock);
}
void log_file(FILE *f)
{
+ lock_quick_lock(&log_lock);
logfile = f;
+ lock_quick_unlock(&log_lock);
}
void log_thread_set(int* num)
@@ -211,7 +227,11 @@ log_vmsg(int pri, const char* type,
return;
}
#endif /* HAVE_SYSLOG_H */
- if(!logfile) return;
+ lock_quick_lock(&log_lock);
+ if(!logfile) {
+ lock_quick_unlock(&log_lock);
+ return;
+ }
if(log_now)
now = (time_t)*log_now;
else now = (time_t)time(NULL);
@@ -236,6 +256,7 @@ log_vmsg(int pri, const char* type,
/* line buffering does not work on windows */
fflush(logfile);
#endif
+ lock_quick_unlock(&log_lock);
}
/**
diff --git a/util/mini_event.h b/util/mini_event.h
index 58bbc8073938..1a5bcb445ae0 100644
--- a/util/mini_event.h
+++ b/util/mini_event.h
@@ -58,6 +58,21 @@
#define HAVE_EVENT_BASE_FREE
#endif
+/* redefine to use our own namespace so that on platforms where
+ * linkers crosslink library-private symbols with other symbols, it works */
+#define event_init minievent_init
+#define event_get_version minievent_get_version
+#define event_get_method minievent_get_method
+#define event_base_dispatch minievent_base_dispatch
+#define event_base_loopexit minievent_base_loopexit
+#define event_base_free minievent_base_free
+#define event_set minievent_set
+#define event_base_set minievent_base_set
+#define event_add minievent_add
+#define event_del minievent_del
+#define signal_add minisignal_add
+#define signal_del minisignal_del
+
/** event timeout */
#define EV_TIMEOUT 0x01
/** event fd readable */
diff --git a/util/module.h b/util/module.h
index dace1cf6ba24..f95ff6dc8372 100644
--- a/util/module.h
+++ b/util/module.h
@@ -212,6 +212,8 @@ struct module_env {
* If BIT_CD is set, CD bit is set in queries with EDNS records.
* @param want_dnssec: if set, the validator wants DNSSEC. Without
* EDNS, the answer is likely to be useless for this domain.
+ * @param nocaps: do not use caps_for_id, use the qname as given.
+ * (ignored if caps_for_id is disabled).
* @param addr: where to.
* @param addrlen: length of addr.
* @param zone: delegation point name.
@@ -224,7 +226,7 @@ struct module_env {
*/
struct outbound_entry* (*send_query)(uint8_t* qname, size_t qnamelen,
uint16_t qtype, uint16_t qclass, uint16_t flags, int dnssec,
- int want_dnssec, struct sockaddr_storage* addr,
+ int want_dnssec, int nocaps, struct sockaddr_storage* addr,
socklen_t addrlen, uint8_t* zone, size_t zonelen,
struct module_qstate* q);
diff --git a/util/net_help.c b/util/net_help.c
index 7f6daab4a1b4..49ce677f4aa0 100644
--- a/util/net_help.c
+++ b/util/net_help.c
@@ -329,6 +329,26 @@ void log_name_addr(enum verbosity_value v, const char* str, uint8_t* zone,
str, namebuf, family, dest, (int)port);
}
+void log_err_addr(const char* str, const char* err,
+ struct sockaddr_storage* addr, socklen_t addrlen)
+{
+ uint16_t port;
+ char dest[100];
+ int af = (int)((struct sockaddr_in*)addr)->sin_family;
+ void* sinaddr = &((struct sockaddr_in*)addr)->sin_addr;
+ if(af == AF_INET6)
+ sinaddr = &((struct sockaddr_in6*)addr)->sin6_addr;
+ if(inet_ntop(af, sinaddr, dest, (socklen_t)sizeof(dest)) == 0) {
+ (void)strlcpy(dest, "(inet_ntop error)", sizeof(dest));
+ }
+ dest[sizeof(dest)-1] = 0;
+ port = ntohs(((struct sockaddr_in*)addr)->sin_port);
+ if(verbosity >= 4)
+ log_err("%s: %s for %s port %d (len %d)", str, err, dest,
+ (int)port, (int)addrlen);
+ else log_err("%s: %s for %s", str, err, dest);
+}
+
int
sockaddr_cmp(struct sockaddr_storage* addr1, socklen_t len1,
struct sockaddr_storage* addr2, socklen_t len2)
@@ -593,12 +613,17 @@ void* listen_sslctx_create(char* key, char* pem, char* verifypem)
log_crypto_err("could not SSL_CTX_new");
return NULL;
}
- /* no SSLv2 because has defects */
+ /* no SSLv2, SSLv3 because has defects */
if(!(SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2) & SSL_OP_NO_SSLv2)){
log_crypto_err("could not set SSL_OP_NO_SSLv2");
SSL_CTX_free(ctx);
return NULL;
}
+ if(!(SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3) & SSL_OP_NO_SSLv3)){
+ log_crypto_err("could not set SSL_OP_NO_SSLv3");
+ SSL_CTX_free(ctx);
+ return NULL;
+ }
if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) {
log_err("error for cert file: %s", pem);
log_crypto_err("error in SSL_CTX use_certificate_file");
@@ -648,6 +673,11 @@ void* connect_sslctx_create(char* key, char* pem, char* verifypem)
SSL_CTX_free(ctx);
return NULL;
}
+ if(!(SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3) & SSL_OP_NO_SSLv3)) {
+ log_crypto_err("could not set SSL_OP_NO_SSLv3");
+ SSL_CTX_free(ctx);
+ return NULL;
+ }
if(key && key[0]) {
if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) {
log_err("error in client certificate %s", pem);
diff --git a/util/net_help.h b/util/net_help.h
index b92dd40e85d9..54f4c9c0e7cd 100644
--- a/util/net_help.h
+++ b/util/net_help.h
@@ -157,6 +157,16 @@ void log_name_addr(enum verbosity_value v, const char* str, uint8_t* zone,
struct sockaddr_storage* addr, socklen_t addrlen);
/**
+ * Log errno and addr.
+ * @param str: descriptive string printed with it.
+ * @param err: errno string to print, i.e. strerror(errno).
+ * @param addr: the sockaddr to print. Can be ip4 or ip6.
+ * @param addrlen: length of addr.
+ */
+void log_err_addr(const char* str, const char* err,
+ struct sockaddr_storage* addr, socklen_t addrlen);
+
+/**
* Convert address string, with "@port" appendix, to sockaddr.
* Uses DNS port by default.
* @param str: the string
diff --git a/util/netevent.c b/util/netevent.c
index 189aaa4e4ea0..c7ed30e6cd45 100644
--- a/util/netevent.c
+++ b/util/netevent.c
@@ -45,6 +45,7 @@
#include "util/fptr_wlist.h"
#include "ldns/pkthdr.h"
#include "ldns/sbuffer.h"
+#include "dnstap/dnstap.h"
#ifdef HAVE_OPENSSL_SSL_H
#include <openssl/ssl.h>
#endif
@@ -785,7 +786,7 @@ int comm_point_perform_accept(struct comm_point* c,
return -1;
}
#endif
- log_err("accept failed: %s", strerror(errno));
+ log_err_addr("accept failed", strerror(errno), addr, *addrlen);
#else /* USE_WINSOCK */
if(WSAGetLastError() == WSAEINPROGRESS ||
WSAGetLastError() == WSAECONNRESET)
@@ -794,9 +795,9 @@ int comm_point_perform_accept(struct comm_point* c,
winsock_tcp_wouldblock(&c->ev->ev, EV_READ);
return -1;
}
- log_err("accept failed: %s", wsa_strerror(WSAGetLastError()));
+ log_err_addr("accept failed", wsa_strerror(WSAGetLastError()),
+ addr, *addrlen);
#endif
- log_addr(0, "remote address is", addr, *addrlen);
return -1;
}
fd_set_nonblock(new_fd);
@@ -1218,7 +1219,8 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
if(errno == ECONNRESET && verbosity < 2)
return 0; /* silence reset by peer */
#endif
- log_err("read (in tcp s): %s", strerror(errno));
+ log_err_addr("read (in tcp s)", strerror(errno),
+ &c->repinfo.addr, c->repinfo.addrlen);
#else /* USE_WINSOCK */
if(WSAGetLastError() == WSAECONNRESET)
return 0;
@@ -1228,11 +1230,10 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
winsock_tcp_wouldblock(&c->ev->ev, EV_READ);
return 1;
}
- log_err("read (in tcp s): %s",
- wsa_strerror(WSAGetLastError()));
+ log_err_addr("read (in tcp s)",
+ wsa_strerror(WSAGetLastError()),
+ &c->repinfo.addr, c->repinfo.addrlen);
#endif
- log_addr(0, "remote address is", &c->repinfo.addr,
- c->repinfo.addrlen);
return 0;
}
c->tcp_byte_count += r;
@@ -1263,7 +1264,8 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
#ifndef USE_WINSOCK
if(errno == EINTR || errno == EAGAIN)
return 1;
- log_err("read (in tcp r): %s", strerror(errno));
+ log_err_addr("read (in tcp r)", strerror(errno),
+ &c->repinfo.addr, c->repinfo.addrlen);
#else /* USE_WINSOCK */
if(WSAGetLastError() == WSAECONNRESET)
return 0;
@@ -1273,11 +1275,10 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
winsock_tcp_wouldblock(&c->ev->ev, EV_READ);
return 1;
}
- log_err("read (in tcp r): %s",
- wsa_strerror(WSAGetLastError()));
+ log_err_addr("read (in tcp r)",
+ wsa_strerror(WSAGetLastError()),
+ &c->repinfo.addr, c->repinfo.addrlen);
#endif
- log_addr(0, "remote address is", &c->repinfo.addr,
- c->repinfo.addrlen);
return 0;
}
sldns_buffer_skip(c->buffer, r);
@@ -1323,7 +1324,8 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
if(error != 0 && verbosity < 2)
return 0; /* silence lots of chatter in the logs */
else if(error != 0) {
- log_err("tcp connect: %s", strerror(error));
+ log_err_addr("tcp connect", strerror(error),
+ &c->repinfo.addr, c->repinfo.addrlen);
#else /* USE_WINSOCK */
/* examine error */
if(error == WSAEINPROGRESS)
@@ -1334,10 +1336,9 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
} else if(error != 0 && verbosity < 2)
return 0;
else if(error != 0) {
- log_err("tcp connect: %s", wsa_strerror(error));
+ log_err_addr("tcp connect", wsa_strerror(error),
+ &c->repinfo.addr, c->repinfo.addrlen);
#endif /* USE_WINSOCK */
- log_addr(0, "remote address is", &c->repinfo.addr,
- c->repinfo.addrlen);
return 0;
}
}
@@ -1361,13 +1362,19 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
#endif /* HAVE_WRITEV */
if(r == -1) {
#ifndef USE_WINSOCK
-#ifdef EPIPE
+# ifdef EPIPE
if(errno == EPIPE && verbosity < 2)
return 0; /* silence 'broken pipe' */
-#endif
+ #endif
if(errno == EINTR || errno == EAGAIN)
return 1;
- log_err("tcp writev: %s", strerror(errno));
+# ifdef HAVE_WRITEV
+ log_err_addr("tcp writev", strerror(errno),
+ &c->repinfo.addr, c->repinfo.addrlen);
+# else /* HAVE_WRITEV */
+ log_err_addr("tcp send s", strerror(errno),
+ &c->repinfo.addr, c->repinfo.addrlen);
+# endif /* HAVE_WRITEV */
#else
if(WSAGetLastError() == WSAENOTCONN)
return 1;
@@ -1377,11 +1384,10 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
winsock_tcp_wouldblock(&c->ev->ev, EV_WRITE);
return 1;
}
- log_err("tcp send s: %s",
- wsa_strerror(WSAGetLastError()));
+ log_err_addr("tcp send s",
+ wsa_strerror(WSAGetLastError()),
+ &c->repinfo.addr, c->repinfo.addrlen);
#endif
- log_addr(0, "remote address is", &c->repinfo.addr,
- c->repinfo.addrlen);
return 0;
}
c->tcp_byte_count += r;
@@ -1401,7 +1407,8 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
#ifndef USE_WINSOCK
if(errno == EINTR || errno == EAGAIN)
return 1;
- log_err("tcp send r: %s", strerror(errno));
+ log_err_addr("tcp send r", strerror(errno),
+ &c->repinfo.addr, c->repinfo.addrlen);
#else
if(WSAGetLastError() == WSAEINPROGRESS)
return 1;
@@ -1409,11 +1416,9 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
winsock_tcp_wouldblock(&c->ev->ev, EV_WRITE);
return 1;
}
- log_err("tcp send r: %s",
- wsa_strerror(WSAGetLastError()));
+ log_err_addr("tcp send r", wsa_strerror(WSAGetLastError()),
+ &c->repinfo.addr, c->repinfo.addrlen);
#endif
- log_addr(0, "remote address is", &c->repinfo.addr,
- c->repinfo.addrlen);
return 0;
}
sldns_buffer_skip(c->buffer, r);
@@ -1936,7 +1941,19 @@ comm_point_send_reply(struct comm_reply *repinfo)
else
comm_point_send_udp_msg(repinfo->c, repinfo->c->buffer,
(struct sockaddr*)&repinfo->addr, repinfo->addrlen);
+#ifdef USE_DNSTAP
+ if(repinfo->c->dtenv != NULL &&
+ repinfo->c->dtenv->log_client_response_messages)
+ dt_msg_send_client_response(repinfo->c->dtenv,
+ &repinfo->addr, repinfo->c->type, repinfo->c->buffer);
+#endif
} else {
+#ifdef USE_DNSTAP
+ if(repinfo->c->tcp_parent->dtenv != NULL &&
+ repinfo->c->tcp_parent->dtenv->log_client_response_messages)
+ dt_msg_send_client_response(repinfo->c->tcp_parent->dtenv,
+ &repinfo->addr, repinfo->c->type, repinfo->c->buffer);
+#endif
comm_point_start_listening(repinfo->c, -1, TCP_QUERY_TIMEOUT);
}
}
diff --git a/util/netevent.h b/util/netevent.h
index fe28ca5dd75a..37322ab933f0 100644
--- a/util/netevent.h
+++ b/util/netevent.h
@@ -188,6 +188,10 @@ struct comm_point {
comm_ssl_shake_hs_write
} ssl_shake_state;
+ /* -------- dnstap ------- */
+ /** the dnstap environment */
+ struct dt_env* dtenv;
+
/** is this a UDP, TCP-accept or TCP socket. */
enum comm_point_type {
/** UDP socket - handle datagrams. */
diff --git a/util/random.c b/util/random.c
index 8a24ff04d990..71f0ba53e480 100644
--- a/util/random.c
+++ b/util/random.c
@@ -61,11 +61,8 @@
#include "util/random.h"
#include "util/log.h"
#include <time.h>
-#ifdef HAVE_SSL
-#include <openssl/rand.h>
-#include <openssl/rc4.h>
-#include <openssl/err.h>
-#elif defined(HAVE_NSS)
+
+#ifdef HAVE_NSS
/* nspr4 */
#include "prerror.h"
/* nss3 */
@@ -79,147 +76,41 @@
*/
#define MAX_VALUE 0x7fffffff
-#ifdef HAVE_SSL
-/**
- * Struct with per-thread random state.
- * Keeps SSL types away from the header file.
- */
-struct ub_randstate {
- /** key used for arc4random generation */
- RC4_KEY rc4;
- /** keeps track of key usage */
- int rc4_ready;
-};
-
-/** Size of key to use (must be multiple of 8) */
-#define SEED_SIZE 24
-
-/** Number of bytes to reseed after */
-#define REKEY_BYTES (1 << 24)
-
-/* (re)setup system seed */
+#ifndef HAVE_NSS
void
-ub_systemseed(unsigned int seed)
+ub_systemseed(unsigned int ATTR_UNUSED(seed))
{
- /* RAND_ is threadsafe, by the way */
- if(!RAND_status()) {
- /* try to seed it */
- unsigned char buf[256];
- unsigned int v = seed;
- size_t i;
- for(i=0; i<256/sizeof(seed); i++) {
- memmove(buf+i*sizeof(seed), &v, sizeof(seed));
- v = v*seed + (unsigned int)i;
- }
- RAND_seed(buf, 256);
- if(!RAND_status()) {
- log_err("Random generator has no entropy "
- "(error %ld)", ERR_get_error());
- } else {
- verbose(VERB_OPS, "openssl has no entropy, "
- "seeding with time and pid");
- }
- }
-}
-
-/** reseed random generator */
-static void
-ub_arc4random_stir(struct ub_randstate* s, struct ub_randstate* from)
-{
- /* not as unsigned char, but longerint so that it is
- aligned properly on alignment sensitive platforms */
- uint64_t rand_buf[SEED_SIZE/sizeof(uint64_t)];
- int i;
-
- memset(&s->rc4, 0, sizeof(s->rc4));
- memset(rand_buf, 0xc, sizeof(rand_buf));
- if (from) {
- uint8_t* rbuf = (uint8_t*)rand_buf;
- for(i=0; i<SEED_SIZE; i++)
- rbuf[i] = (uint8_t)ub_random(from);
- } else {
- if(!RAND_status())
- ub_systemseed((unsigned)getpid()^(unsigned)time(NULL));
- if (RAND_bytes((unsigned char*)rand_buf,
- (int)sizeof(rand_buf)) <= 0) {
- /* very unlikely that this happens, since we seeded
- * above, if it does; complain and keep going */
- log_err("Couldn't obtain random bytes (error %ld)",
- ERR_get_error());
- s->rc4_ready = 256;
- return;
- }
- }
-#ifdef HAVE_FIPS_MODE
- if(FIPS_mode()) {
- /* RC4 is not allowed, get some trustworthy randomness */
- /* double certainty here, this routine should not be
- * called in FIPS_mode */
- memset(rand_buf, 0, sizeof(rand_buf));
- s->rc4_ready = REKEY_BYTES;
- return;
- }
-#endif /* FIPS_MODE */
- RC4_set_key(&s->rc4, SEED_SIZE, (unsigned char*)rand_buf);
-
- /*
- * Discard early keystream, as per recommendations in:
- * http://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/Rc4_ksa.ps
- */
- for(i = 0; i <= 256; i += sizeof(rand_buf))
- RC4(&s->rc4, sizeof(rand_buf), (unsigned char*)rand_buf,
- (unsigned char*)rand_buf);
-
- memset(rand_buf, 0, sizeof(rand_buf));
-
- s->rc4_ready = REKEY_BYTES;
+ /* arc4random_uniform does not need seeds, it gets kernel entropy */
}
struct ub_randstate*
-ub_initstate(unsigned int seed, struct ub_randstate* from)
+ub_initstate(unsigned int ATTR_UNUSED(seed),
+ struct ub_randstate* ATTR_UNUSED(from))
{
- struct ub_randstate* s = (struct ub_randstate*)calloc(1, sizeof(*s));
+ struct ub_randstate* s = (struct ub_randstate*)malloc(1);
if(!s) {
log_err("malloc failure in random init");
return NULL;
}
- ub_systemseed(seed);
-#ifdef HAVE_FIPS_MODE
- if(!FIPS_mode())
-#endif
- ub_arc4random_stir(s, from);
return s;
}
long int
-ub_random(struct ub_randstate* s)
+ub_random(struct ub_randstate* ATTR_UNUSED(s))
{
- unsigned int r = 0;
-#ifdef HAVE_FIPS_MODE
- if(FIPS_mode()) {
- /* RC4 is not allowed, get some trustworthy randomness */
- /* we use pseudo bytes: it tries to return secure randomness
- * but returns 'something' if that fails. We need something
- * else if it fails, because we cannot block here */
- if(RAND_pseudo_bytes((unsigned char*)&r, (int)sizeof(r))
- == -1) {
- log_err("FIPSmode, no arc4random but RAND failed "
- "(error %ld)", ERR_get_error());
- }
- return (long int)((r) % (((unsigned)MAX_VALUE + 1)));
- }
-#endif /* FIPS_MODE */
- if (s->rc4_ready <= 0) {
- ub_arc4random_stir(s, NULL);
- }
+ /* This relies on MAX_VALUE being 0x7fffffff. */
+ return (long)arc4random() & MAX_VALUE;
+}
- RC4(&s->rc4, sizeof(r),
- (unsigned char *)&r, (unsigned char *)&r);
- s->rc4_ready -= sizeof(r);
- return (long int)((r) % (((unsigned)MAX_VALUE + 1)));
+long int
+ub_random_max(struct ub_randstate* state, long int x)
+{
+ (void)state;
+ /* on OpenBSD, this does not need _seed(), or _stir() calls */
+ return (long)arc4random_uniform((uint32_t)x);
}
-#elif defined(HAVE_NSS)
+#else
/* not much to remember for NSS since we use its pk11_random, placeholder */
struct ub_randstate {
@@ -253,8 +144,6 @@ long int ub_random(struct ub_randstate* ATTR_UNUSED(state))
return x & MAX_VALUE;
}
-#endif /* HAVE_SSL or HAVE_NSS */
-
long int
ub_random_max(struct ub_randstate* state, long int x)
{
@@ -266,6 +155,7 @@ ub_random_max(struct ub_randstate* state, long int x)
v = ub_random(state);
return (v % x);
}
+#endif /* HAVE_NSS */
void
ub_randfree(struct ub_randstate* s)
diff --git a/util/storage/lookup3.c b/util/storage/lookup3.c
index 7596033bdee2..de288587bdbf 100644
--- a/util/storage/lookup3.c
+++ b/util/storage/lookup3.c
@@ -53,15 +53,16 @@ on 1 byte), but shoehorning those bytes into integers efficiently is messy.
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h> /* attempt to define endianness (solaris) */
#endif
-#ifdef linux
-# include <endian.h> /* attempt to define endianness */
+#if defined(linux) || defined(__OpenBSD__)
+# ifdef HAVE_ENDIAN_H
+# include <endian.h> /* attempt to define endianness */
+# else
+# include <machine/endian.h> /* on older OpenBSD */
+# endif
#endif
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
#include <sys/endian.h> /* attempt to define endianness */
#endif
-#ifdef __OpenBSD__
-#include <machine/endian.h> /* attempt to define endianness */
-#endif
/* random initial value */
static uint32_t raninit = (uint32_t)0xdeadbeef;
diff --git a/util/storage/slabhash.c b/util/storage/slabhash.c
index 128edd84ad75..0618b4c7295c 100644
--- a/util/storage/slabhash.c
+++ b/util/storage/slabhash.c
@@ -211,9 +211,21 @@ void slabhash_setmarkdel(struct slabhash* sl, lruhash_markdelfunc_t md)
}
void slabhash_traverse(struct slabhash* sh, int wr,
- void (*func)(struct lruhash_entry*, void*), void* arg)
+ void (*func)(struct lruhash_entry*, void*), void* arg)
{
size_t i;
for(i=0; i<sh->size; i++)
lruhash_traverse(sh->array[i], wr, func, arg);
}
+
+size_t count_slabhash_entries(struct slabhash* sh)
+{
+ size_t slab, cnt = 0;
+
+ for(slab=0; slab<sh->size; slab++) {
+ lock_quick_lock(&sh->array[slab]->lock);
+ cnt += sh->array[slab]->num;
+ lock_quick_unlock(&sh->array[slab]->lock);
+ }
+ return cnt;
+}
diff --git a/util/storage/slabhash.h b/util/storage/slabhash.h
index cf968f9653d4..031a9da0fac6 100644
--- a/util/storage/slabhash.h
+++ b/util/storage/slabhash.h
@@ -184,6 +184,13 @@ void slabhash_setmarkdel(struct slabhash* table, lruhash_markdelfunc_t md);
void slabhash_traverse(struct slabhash* table, int wr,
void (*func)(struct lruhash_entry*, void*), void* arg);
+/*
+ * Count entries in slabhash.
+ * @param table: slabbed hash table;
+ * @return the number of items
+ */
+size_t count_slabhash_entries(struct slabhash* table);
+
/* --- test representation --- */
/** test structure contains test key */
struct slabhash_testkey {
diff --git a/util/winsock_event.h b/util/winsock_event.h
index 40892c14b1c0..f6426574347b 100644
--- a/util/winsock_event.h
+++ b/util/winsock_event.h
@@ -90,6 +90,21 @@
#define HAVE_EVENT_BASE_FREE
#endif
+/* redefine the calls to different names so that there is no name
+ * collision with other code that uses libevent names. (that uses libunbound)*/
+#define event_init winsockevent_init
+#define event_get_version winsockevent_get_version
+#define event_get_method winsockevent_get_method
+#define event_base_dispatch winsockevent_base_dispatch
+#define event_base_loopexit winsockevent_base_loopexit
+#define event_base_free winsockevent_base_free
+#define event_set winsockevent_set
+#define event_base_set winsockevent_base_set
+#define event_add winsockevent_add
+#define event_del winsockevent_del
+#define signal_add winsocksignal_add
+#define signal_del winsocksignal_del
+
/** event timeout */
#define EV_TIMEOUT 0x01
/** event fd readable */