diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2026-09-16 13:48:08 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2026-09-16 13:48:08 +0000 |
| commit | 120aa088f4807126af42a652a07c5090e7294fcf (patch) | |
| tree | 0f64a80b604ccdecb5a89af3fffe8ba744bc74fd | |
| parent | 84ffc29dc8ddb0c946db5cb3b3c1310bec6a9e6c (diff) | |
import unbound 1.26.1vendor/unbound/1.26.1vendor/unbound
55 files changed, 8730 insertions, 8690 deletions
diff --git a/config.guess b/config.guess index b790fcbe3602..c7f4c3294a63 100755 --- a/config.guess +++ b/config.guess @@ -1,10 +1,10 @@ -#!/usr/bin/sh +#! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2024 Free Software Foundation, Inc. +# Copyright 1992-2026 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2024-07-27' +timestamp='2026-05-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2024 Free Software Foundation, Inc. +Copyright 1992-2026 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -150,7 +150,7 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case $UNAME_SYSTEM in -Linux|GNU|GNU/*) +Ironclad|Linux|GNU|GNU/*) LIBC=unknown set_cc_for_build @@ -167,6 +167,8 @@ Linux|GNU|GNU/*) LIBC=gnu #elif defined(__LLVM_LIBC__) LIBC=llvm + #elif defined(__mlibc__) + LIBC=mlibc #else #include <stdarg.h> /* First heuristic to detect musl libc. */ @@ -1186,6 +1188,9 @@ EOF sparc:Linux:*:* | sparc64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; + sw_64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; @@ -1597,8 +1602,11 @@ EOF *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; - *:Ironclad:*:*) - GUESS=$UNAME_MACHINE-unknown-ironclad + x86_64:[Ii]ronclad:*:*|i?86:[Ii]ronclad:*:*) + GUESS=$UNAME_MACHINE-pc-ironclad-$LIBC + ;; + *:[Ii]ronclad:*:*) + GUESS=$UNAME_MACHINE-unknown-ironclad-$LIBC ;; esac @@ -1808,8 +1816,8 @@ fi exit 1 # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-format: "%Y-%02m-%02d" # time-stamp-end: "'" # End: diff --git a/config.h.in b/config.h.in index b35b9ce8d9c8..ce8141b5320a 100644 --- a/config.h.in +++ b/config.h.in @@ -51,19 +51,19 @@ internal symbols */ #undef EXPORT_ALL_SYMBOLS -/* Define to 1 if you have the 'accept4' function. */ +/* Define to 1 if you have the `accept4' function. */ #undef HAVE_ACCEPT4 -/* Define to 1 if you have the 'arc4random' function. */ +/* Define to 1 if you have the `arc4random' function. */ #undef HAVE_ARC4RANDOM -/* Define to 1 if you have the 'arc4random_uniform' function. */ +/* Define to 1 if you have the `arc4random_uniform' function. */ #undef HAVE_ARC4RANDOM_UNIFORM /* Define to 1 if you have the <arpa/inet.h> header file. */ #undef HAVE_ARPA_INET_H -/* Define to 1 if you have the 'ASN1_STRING_get0_data' function. */ +/* Define to 1 if you have the `ASN1_STRING_get0_data' function. */ #undef HAVE_ASN1_STRING_GET0_DATA /* Whether the C compiler accepts the "fallthrough" attribute */ @@ -87,7 +87,7 @@ /* If we have be64toh */ #undef HAVE_BE64TOH -/* Define to 1 if you have the 'BIO_set_callback_ex' function. */ +/* Define to 1 if you have the `BIO_set_callback_ex' function. */ #undef HAVE_BIO_SET_CALLBACK_EX /* Define to 1 if you have the <bsd/stdlib.h> header file. */ @@ -96,255 +96,255 @@ /* Define to 1 if you have the <bsd/string.h> header file. */ #undef HAVE_BSD_STRING_H -/* Define to 1 if you have the 'chown' function. */ +/* Define to 1 if you have the `chown' function. */ #undef HAVE_CHOWN -/* Define to 1 if you have the 'chroot' function. */ +/* Define to 1 if you have the `chroot' function. */ #undef HAVE_CHROOT -/* Define to 1 if you have the 'CRYPTO_cleanup_all_ex_data' function. */ +/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */ #undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA -/* Define to 1 if you have the 'CRYPTO_THREADID_set_callback' function. */ +/* Define to 1 if you have the `CRYPTO_THREADID_set_callback' function. */ #undef HAVE_CRYPTO_THREADID_SET_CALLBACK -/* Define to 1 if you have the 'ctime_r' function. */ +/* Define to 1 if you have the `ctime_r' function. */ #undef HAVE_CTIME_R -/* Define to 1 if you have the 'daemon' function. */ +/* Define to 1 if you have the `daemon' function. */ #undef HAVE_DAEMON -/* Define to 1 if you have the declaration of 'arc4random', and to 0 if you +/* Define to 1 if you have the declaration of `arc4random', and to 0 if you don't. */ #undef HAVE_DECL_ARC4RANDOM -/* Define to 1 if you have the declaration of 'arc4random_uniform', and to 0 +/* Define to 1 if you have the declaration of `arc4random_uniform', and to 0 if you don't. */ #undef HAVE_DECL_ARC4RANDOM_UNIFORM -/* Define to 1 if you have the declaration of 'evsignal_assign', and to 0 if +/* Define to 1 if you have the declaration of `evsignal_assign', and to 0 if you don't. */ #undef HAVE_DECL_EVSIGNAL_ASSIGN -/* Define to 1 if you have the declaration of 'inet_ntop', and to 0 if you +/* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you don't. */ #undef HAVE_DECL_INET_NTOP -/* Define to 1 if you have the declaration of 'inet_pton', and to 0 if you +/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you don't. */ #undef HAVE_DECL_INET_PTON -/* Define to 1 if you have the declaration of 'nghttp2_session_server_new', +/* Define to 1 if you have the declaration of `nghttp2_session_server_new', and to 0 if you don't. */ #undef HAVE_DECL_NGHTTP2_SESSION_SERVER_NEW -/* Define to 1 if you have the declaration of 'ngtcp2_conn_server_new', and to +/* Define to 1 if you have the declaration of `ngtcp2_conn_server_new', and to 0 if you don't. */ #undef HAVE_DECL_NGTCP2_CONN_SERVER_NEW -/* Define to 1 if you have the declaration of 'ngtcp2_crypto_encrypt_cb', and +/* Define to 1 if you have the declaration of `ngtcp2_crypto_encrypt_cb', and to 0 if you don't. */ #undef HAVE_DECL_NGTCP2_CRYPTO_ENCRYPT_CB -/* Define to 1 if you have the declaration of 'ngtcp2_crypto_ossl_ctx_new', +/* Define to 1 if you have the declaration of `ngtcp2_crypto_ossl_ctx_new', and to 0 if you don't. */ #undef HAVE_DECL_NGTCP2_CRYPTO_OSSL_CTX_NEW -/* Define to 1 if you have the declaration of 'NID_ED25519', and to 0 if you +/* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you don't. */ #undef HAVE_DECL_NID_ED25519 -/* Define to 1 if you have the declaration of 'NID_ED448', and to 0 if you +/* Define to 1 if you have the declaration of `NID_ED448', and to 0 if you don't. */ #undef HAVE_DECL_NID_ED448 -/* Define to 1 if you have the declaration of 'NID_secp384r1', and to 0 if you +/* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you don't. */ #undef HAVE_DECL_NID_SECP384R1 -/* Define to 1 if you have the declaration of 'NID_X9_62_prime256v1', and to 0 +/* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0 if you don't. */ #undef HAVE_DECL_NID_X9_62_PRIME256V1 -/* Define to 1 if you have the declaration of 'reallocarray', and to 0 if you +/* Define to 1 if you have the declaration of `reallocarray', and to 0 if you don't. */ #undef HAVE_DECL_REALLOCARRAY -/* Define to 1 if you have the declaration of 'redisConnect', and to 0 if you +/* Define to 1 if you have the declaration of `redisConnect', and to 0 if you don't. */ #undef HAVE_DECL_REDISCONNECT -/* Define to 1 if you have the declaration of 'sk_SSL_COMP_pop_free', and to 0 +/* Define to 1 if you have the declaration of `sk_SSL_COMP_pop_free', and to 0 if you don't. */ #undef HAVE_DECL_SK_SSL_COMP_POP_FREE /* Define to 1 if you have the declaration of - 'SSL_COMP_get_compression_methods', and to 0 if you don't. */ + `SSL_COMP_get_compression_methods', and to 0 if you don't. */ #undef HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS -/* Define to 1 if you have the declaration of 'SSL_CTX_set_ecdh_auto', and to +/* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to 0 if you don't. */ #undef HAVE_DECL_SSL_CTX_SET_ECDH_AUTO -/* Define to 1 if you have the declaration of 'SSL_CTX_set_tmp_ecdh', and to 0 +/* Define to 1 if you have the declaration of `SSL_CTX_set_tmp_ecdh', and to 0 if you don't. */ #undef HAVE_DECL_SSL_CTX_SET_TMP_ECDH -/* Define to 1 if you have the declaration of 'strlcat', and to 0 if you +/* Define to 1 if you have the declaration of `strlcat', and to 0 if you don't. */ #undef HAVE_DECL_STRLCAT -/* Define to 1 if you have the declaration of 'strlcpy', and to 0 if you +/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you don't. */ #undef HAVE_DECL_STRLCPY -/* Define to 1 if you have the declaration of 'XML_StopParser', and to 0 if +/* Define to 1 if you have the declaration of `XML_StopParser', and to 0 if you don't. */ #undef HAVE_DECL_XML_STOPPARSER /* Define to 1 if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H -/* Define to 1 if you have the 'DSA_SIG_set0' function. */ +/* Define to 1 if you have the `DSA_SIG_set0' function. */ #undef HAVE_DSA_SIG_SET0 /* Define to 1 if you have the <endian.h> header file. */ #undef HAVE_ENDIAN_H -/* Define to 1 if you have the 'endprotoent' function. */ +/* Define to 1 if you have the `endprotoent' function. */ #undef HAVE_ENDPROTOENT -/* Define to 1 if you have the 'endpwent' function. */ +/* Define to 1 if you have the `endpwent' function. */ #undef HAVE_ENDPWENT -/* Define to 1 if you have the 'endservent' function. */ +/* Define to 1 if you have the `endservent' function. */ #undef HAVE_ENDSERVENT -/* Define to 1 if you have the 'ENGINE_cleanup' function. */ +/* Define to 1 if you have the `ENGINE_cleanup' function. */ #undef HAVE_ENGINE_CLEANUP -/* Define to 1 if you have the 'ERR_free_strings' function. */ +/* Define to 1 if you have the `ERR_free_strings' function. */ #undef HAVE_ERR_FREE_STRINGS -/* Define to 1 if you have the 'ERR_load_crypto_strings' function. */ +/* Define to 1 if you have the `ERR_load_crypto_strings' function. */ #undef HAVE_ERR_LOAD_CRYPTO_STRINGS -/* Define to 1 if you have the 'event_assign' function. */ +/* Define to 1 if you have the `event_assign' function. */ #undef HAVE_EVENT_ASSIGN -/* Define to 1 if you have the 'event_base_free' function. */ +/* Define to 1 if you have the `event_base_free' function. */ #undef HAVE_EVENT_BASE_FREE -/* Define to 1 if you have the 'event_base_get_method' function. */ +/* Define to 1 if you have the `event_base_get_method' function. */ #undef HAVE_EVENT_BASE_GET_METHOD -/* Define to 1 if you have the 'event_base_new' function. */ +/* Define to 1 if you have the `event_base_new' function. */ #undef HAVE_EVENT_BASE_NEW -/* Define to 1 if you have the 'event_base_once' function. */ +/* Define to 1 if you have the `event_base_once' function. */ #undef HAVE_EVENT_BASE_ONCE /* Define to 1 if you have the <event.h> header file. */ #undef HAVE_EVENT_H -/* Define to 1 if you have the 'EVP_aes_256_cbc' function. */ +/* Define to 1 if you have the `EVP_aes_256_cbc' function. */ #undef HAVE_EVP_AES_256_CBC -/* Define to 1 if you have the 'EVP_cleanup' function. */ +/* Define to 1 if you have the `EVP_cleanup' function. */ #undef HAVE_EVP_CLEANUP -/* Define to 1 if you have the 'EVP_default_properties_is_fips_enabled' +/* Define to 1 if you have the `EVP_default_properties_is_fips_enabled' function. */ #undef HAVE_EVP_DEFAULT_PROPERTIES_IS_FIPS_ENABLED -/* Define to 1 if you have the 'EVP_DigestVerify' function. */ +/* Define to 1 if you have the `EVP_DigestVerify' function. */ #undef HAVE_EVP_DIGESTVERIFY -/* Define to 1 if you have the 'EVP_dss1' function. */ +/* Define to 1 if you have the `EVP_dss1' function. */ #undef HAVE_EVP_DSS1 -/* Define to 1 if you have the 'EVP_EncryptInit_ex' function. */ +/* Define to 1 if you have the `EVP_EncryptInit_ex' function. */ #undef HAVE_EVP_ENCRYPTINIT_EX -/* Define to 1 if you have the 'EVP_MAC_CTX_set_params' function. */ +/* Define to 1 if you have the `EVP_MAC_CTX_set_params' function. */ #undef HAVE_EVP_MAC_CTX_SET_PARAMS -/* Define to 1 if you have the 'EVP_MD_CTX_new' function. */ +/* Define to 1 if you have the `EVP_MD_CTX_new' function. */ #undef HAVE_EVP_MD_CTX_NEW -/* Define to 1 if you have the 'EVP_sha1' function. */ +/* Define to 1 if you have the `EVP_sha1' function. */ #undef HAVE_EVP_SHA1 -/* Define to 1 if you have the 'EVP_sha256' function. */ +/* Define to 1 if you have the `EVP_sha256' function. */ #undef HAVE_EVP_SHA256 -/* Define to 1 if you have the 'EVP_sha512' function. */ +/* Define to 1 if you have the `EVP_sha512' function. */ #undef HAVE_EVP_SHA512 -/* Define to 1 if you have the 'ev_default_loop' function. */ +/* Define to 1 if you have the `ev_default_loop' function. */ #undef HAVE_EV_DEFAULT_LOOP -/* Define to 1 if you have the 'ev_loop' function. */ +/* Define to 1 if you have the `ev_loop' function. */ #undef HAVE_EV_LOOP /* Define to 1 if you have the <expat.h> header file. */ #undef HAVE_EXPAT_H -/* Define to 1 if you have the 'explicit_bzero' function. */ +/* Define to 1 if you have the `explicit_bzero' function. */ #undef HAVE_EXPLICIT_BZERO -/* Define to 1 if you have the 'fcntl' function. */ +/* Define to 1 if you have the `fcntl' function. */ #undef HAVE_FCNTL -/* Define to 1 if you have the 'FIPS_mode' function. */ +/* Define to 1 if you have the `FIPS_mode' function. */ #undef HAVE_FIPS_MODE -/* Define to 1 if you have the 'fnmatch' function. */ +/* Define to 1 if you have the `fnmatch' function. */ #undef HAVE_FNMATCH /* Define to 1 if you have the <fnmatch.h> header file. */ #undef HAVE_FNMATCH_H -/* Define to 1 if you have the 'fork' function. */ +/* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK -/* Define to 1 if fseeko (and ftello) are declared in stdio.h. */ +/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO -/* Define to 1 if you have the 'fsync' function. */ +/* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC /* Whether getaddrinfo is available */ #undef HAVE_GETADDRINFO -/* Define to 1 if you have the 'getauxval' function. */ +/* Define to 1 if you have the `getauxval' function. */ #undef HAVE_GETAUXVAL -/* Define to 1 if you have the 'getentropy' function. */ +/* Define to 1 if you have the `getentropy' function. */ #undef HAVE_GETENTROPY -/* Define to 1 if you have the 'getifaddrs' function. */ +/* Define to 1 if you have the `getifaddrs' function. */ #undef HAVE_GETIFADDRS /* Define to 1 if you have the <getopt.h> header file. */ #undef HAVE_GETOPT_H -/* Define to 1 if you have the 'getpwnam' function. */ +/* Define to 1 if you have the `getpwnam' function. */ #undef HAVE_GETPWNAM -/* Define to 1 if you have the 'getrlimit' function. */ +/* Define to 1 if you have the `getrlimit' function. */ #undef HAVE_GETRLIMIT -/* Define to 1 if you have the 'gettid' function. */ +/* Define to 1 if you have the `gettid' function. */ #undef HAVE_GETTID -/* Define to 1 if you have the 'glob' function. */ +/* Define to 1 if you have the `glob' function. */ #undef HAVE_GLOB /* Define to 1 if you have the <glob.h> header file. */ #undef HAVE_GLOB_H -/* Define to 1 if you have the 'gmtime_r' function. */ +/* Define to 1 if you have the `gmtime_r' function. */ #undef HAVE_GMTIME_R /* Define to 1 if you have the <grp.h> header file. */ @@ -353,7 +353,7 @@ /* Define to 1 if you have the <hiredis/hiredis.h> header file. */ #undef HAVE_HIREDIS_HIREDIS_H -/* Define to 1 if you have the 'HMAC_Init_ex' function. */ +/* Define to 1 if you have the `HMAC_Init_ex' function. */ #undef HAVE_HMAC_INIT_EX /* If we have htobe64 */ @@ -362,19 +362,19 @@ /* Define to 1 if you have the <ifaddrs.h> header file. */ #undef HAVE_IFADDRS_H -/* Define to 1 if you have the 'if_nametoindex' function. */ +/* Define to 1 if you have the `if_nametoindex' function. */ #undef HAVE_IF_NAMETOINDEX -/* Define to 1 if you have the 'inet_aton' function. */ +/* Define to 1 if you have the `inet_aton' function. */ #undef HAVE_INET_ATON -/* Define to 1 if you have the 'inet_ntop' function. */ +/* Define to 1 if you have the `inet_ntop' function. */ #undef HAVE_INET_NTOP -/* Define to 1 if you have the 'inet_pton' function. */ +/* Define to 1 if you have the `inet_pton' function. */ #undef HAVE_INET_PTON -/* Define to 1 if you have the 'initgroups' function. */ +/* Define to 1 if you have the `initgroups' function. */ #undef HAVE_INITGROUPS /* Define to 1 if you have the <inttypes.h> header file. */ @@ -386,10 +386,10 @@ /* Define to 1 if you have the <iphlpapi.h> header file. */ #undef HAVE_IPHLPAPI_H -/* Define to 1 if you have the 'isblank' function. */ +/* Define to 1 if you have the `isblank' function. */ #undef HAVE_ISBLANK -/* Define to 1 if you have the 'kill' function. */ +/* Define to 1 if you have the `kill' function. */ #undef HAVE_KILL /* Use portable libbsd functions */ @@ -407,7 +407,7 @@ /* Define to 1 if you have the <linux/net_tstamp.h> header file. */ #undef HAVE_LINUX_NET_TSTAMP_H -/* Define to 1 if you have the 'localtime_r' function. */ +/* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R /* Define to 1 if you have the <login_cap.h> header file. */ @@ -416,7 +416,7 @@ /* If have GNU libc compatible malloc */ #undef HAVE_MALLOC -/* Define to 1 if you have the 'memmove' function. */ +/* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the <minix/config.h> header file. */ @@ -458,52 +458,52 @@ /* Define this to use ngtcp2. */ #undef HAVE_NGTCP2 -/* Define to 1 if you have the 'ngtcp2_ccerr_default' function. */ +/* Define to 1 if you have the `ngtcp2_ccerr_default' function. */ #undef HAVE_NGTCP2_CCERR_DEFAULT -/* Define to 1 if you have the 'ngtcp2_conn_encode_0rtt_transport_params' +/* Define to 1 if you have the `ngtcp2_conn_encode_0rtt_transport_params' function. */ #undef HAVE_NGTCP2_CONN_ENCODE_0RTT_TRANSPORT_PARAMS -/* Define to 1 if you have the 'ngtcp2_conn_get_max_local_streams_uni' +/* Define to 1 if you have the `ngtcp2_conn_get_max_local_streams_uni' function. */ #undef HAVE_NGTCP2_CONN_GET_MAX_LOCAL_STREAMS_UNI -/* Define to 1 if you have the 'ngtcp2_conn_get_num_scid' function. */ +/* Define to 1 if you have the `ngtcp2_conn_get_num_scid' function. */ #undef HAVE_NGTCP2_CONN_GET_NUM_SCID -/* Define to 1 if you have the 'ngtcp2_conn_in_closing_period' function. */ +/* Define to 1 if you have the `ngtcp2_conn_in_closing_period' function. */ #undef HAVE_NGTCP2_CONN_IN_CLOSING_PERIOD -/* Define to 1 if you have the 'ngtcp2_conn_in_draining_period' function. */ +/* Define to 1 if you have the `ngtcp2_conn_in_draining_period' function. */ #undef HAVE_NGTCP2_CONN_IN_DRAINING_PERIOD /* Define if ngtcp2_conn_shutdown_stream has 4 arguments. */ #undef HAVE_NGTCP2_CONN_SHUTDOWN_STREAM4 -/* Define to 1 if you have the 'ngtcp2_conn_tls_early_data_rejected' function. +/* Define to 1 if you have the `ngtcp2_conn_tls_early_data_rejected' function. */ #undef HAVE_NGTCP2_CONN_TLS_EARLY_DATA_REJECTED -/* Define to 1 if you have the 'ngtcp2_crypto_encrypt_cb' function. */ +/* Define to 1 if you have the `ngtcp2_crypto_encrypt_cb' function. */ #undef HAVE_NGTCP2_CRYPTO_ENCRYPT_CB /* Define to 1 if you have the - 'ngtcp2_crypto_quictls_configure_client_context' function. */ + `ngtcp2_crypto_quictls_configure_client_context' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_CONFIGURE_CLIENT_CONTEXT /* Define to 1 if you have the - 'ngtcp2_crypto_quictls_configure_server_context' function. */ + `ngtcp2_crypto_quictls_configure_server_context' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_CONFIGURE_SERVER_CONTEXT /* Define to 1 if you have the - 'ngtcp2_crypto_quictls_from_ossl_encryption_level' function. */ + `ngtcp2_crypto_quictls_from_ossl_encryption_level' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_FROM_OSSL_ENCRYPTION_LEVEL -/* Define to 1 if you have the 'ngtcp2_crypto_quictls_init' function. */ +/* Define to 1 if you have the `ngtcp2_crypto_quictls_init' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_INIT -/* Define to 1 if the system has the type 'ngtcp2_encryption_level'. */ +/* Define to 1 if the system has the type `ngtcp2_encryption_level'. */ #undef HAVE_NGTCP2_ENCRYPTION_LEVEL /* Define to 1 if you have the <ngtcp2/ngtcp2_crypto_openssl.h> header file. @@ -523,16 +523,16 @@ /* Use libnss for crypto */ #undef HAVE_NSS -/* Define to 1 if you have the 'OpenSSL_add_all_digests' function. */ +/* Define to 1 if you have the `OpenSSL_add_all_digests' function. */ #undef HAVE_OPENSSL_ADD_ALL_DIGESTS /* Define to 1 if you have the <openssl/bn.h> header file. */ #undef HAVE_OPENSSL_BN_H -/* Define to 1 if you have the 'OPENSSL_cleanup' function. */ +/* Define to 1 if you have the `OPENSSL_cleanup' function. */ #undef HAVE_OPENSSL_CLEANUP -/* Define to 1 if you have the 'OPENSSL_config' function. */ +/* Define to 1 if you have the `OPENSSL_config' function. */ #undef HAVE_OPENSSL_CONFIG /* Define to 1 if you have the <openssl/conf.h> header file. */ @@ -553,10 +553,10 @@ /* Define to 1 if you have the <openssl/err.h> header file. */ #undef HAVE_OPENSSL_ERR_H -/* Define to 1 if you have the 'OPENSSL_init_crypto' function. */ +/* Define to 1 if you have the `OPENSSL_init_crypto' function. */ #undef HAVE_OPENSSL_INIT_CRYPTO -/* Define to 1 if you have the 'OPENSSL_init_ssl' function. */ +/* Define to 1 if you have the `OPENSSL_init_ssl' function. */ #undef HAVE_OPENSSL_INIT_SSL /* Define to 1 if you have the <openssl/param_build.h> header file. */ @@ -571,10 +571,10 @@ /* Define to 1 if you have the <openssl/ssl.h> header file. */ #undef HAVE_OPENSSL_SSL_H -/* Define to 1 if you have the 'OSSL_PARAM_BLD_new' function. */ +/* Define to 1 if you have the `OSSL_PARAM_BLD_new' function. */ #undef HAVE_OSSL_PARAM_BLD_NEW -/* Define to 1 if you have the 'poll' function. */ +/* Define to 1 if you have the `poll' function. */ #undef HAVE_POLL /* Define to 1 if you have the <poll.h> header file. */ @@ -589,7 +589,7 @@ /* Have PTHREAD_PRIO_INHERIT. */ #undef HAVE_PTHREAD_PRIO_INHERIT -/* Define to 1 if the system has the type 'pthread_rwlock_t'. */ +/* Define to 1 if the system has the type `pthread_rwlock_t'. */ #undef HAVE_PTHREAD_RWLOCK_T /* Define if pthread_setname_np has the common 2 arguments. */ @@ -604,7 +604,7 @@ /* Define if pthread_setname_np exists as pthread_set_name_np instead. */ #undef HAVE_PTHREAD_SET_NAME_NP -/* Define to 1 if the system has the type 'pthread_spinlock_t'. */ +/* Define to 1 if the system has the type `pthread_spinlock_t'. */ #undef HAVE_PTHREAD_SPINLOCK_T /* Define to 1 if you have the <pwd.h> header file. */ @@ -613,104 +613,104 @@ /* Define if you have Python libraries and header files. */ #undef HAVE_PYTHON -/* Define to 1 if you have the 'random' function. */ +/* Define to 1 if you have the `random' function. */ #undef HAVE_RANDOM -/* Define to 1 if you have the 'RAND_cleanup' function. */ +/* Define to 1 if you have the `RAND_cleanup' function. */ #undef HAVE_RAND_CLEANUP /* If we have reallocarray(3) */ #undef HAVE_REALLOCARRAY -/* Define to 1 if you have the 'recvmsg' function. */ +/* Define to 1 if you have the `recvmsg' function. */ #undef HAVE_RECVMSG -/* Define to 1 if you have the 'sendmsg' function. */ +/* Define to 1 if you have the `sendmsg' function. */ #undef HAVE_SENDMSG -/* Define to 1 if you have the 'setregid' function. */ +/* Define to 1 if you have the `setregid' function. */ #undef HAVE_SETREGID -/* Define to 1 if you have the 'setresgid' function. */ +/* Define to 1 if you have the `setresgid' function. */ #undef HAVE_SETRESGID -/* Define to 1 if you have the 'setresuid' function. */ +/* Define to 1 if you have the `setresuid' function. */ #undef HAVE_SETRESUID -/* Define to 1 if you have the 'setreuid' function. */ +/* Define to 1 if you have the `setreuid' function. */ #undef HAVE_SETREUID -/* Define to 1 if you have the 'setrlimit' function. */ +/* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT -/* Define to 1 if you have the 'setsid' function. */ +/* Define to 1 if you have the `setsid' function. */ #undef HAVE_SETSID -/* Define to 1 if you have the 'setusercontext' function. */ +/* Define to 1 if you have the `setusercontext' function. */ #undef HAVE_SETUSERCONTEXT -/* Define to 1 if you have the 'SHA512_Update' function. */ +/* Define to 1 if you have the `SHA512_Update' function. */ #undef HAVE_SHA512_UPDATE -/* Define to 1 if you have the 'shmget' function. */ +/* Define to 1 if you have the `shmget' function. */ #undef HAVE_SHMGET -/* Define to 1 if you have the 'sigprocmask' function. */ +/* Define to 1 if you have the `sigprocmask' function. */ #undef HAVE_SIGPROCMASK -/* Define to 1 if you have the 'sleep' function. */ +/* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP -/* Define to 1 if you have the 'snprintf' function. */ +/* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF -/* Define to 1 if you have the 'socketpair' function. */ +/* Define to 1 if you have the `socketpair' function. */ #undef HAVE_SOCKETPAIR /* Using Solaris threads */ #undef HAVE_SOLARIS_THREADS -/* Define to 1 if you have the 'srandom' function. */ +/* Define to 1 if you have the `srandom' function. */ #undef HAVE_SRANDOM /* Define if you have the SSL libraries installed. */ #undef HAVE_SSL -/* Define to 1 if you have the 'SSL_CTX_set_alpn_protos' function. */ +/* Define to 1 if you have the `SSL_CTX_set_alpn_protos' function. */ #undef HAVE_SSL_CTX_SET_ALPN_PROTOS -/* Define to 1 if you have the 'SSL_CTX_set_alpn_select_cb' function. */ +/* Define to 1 if you have the `SSL_CTX_set_alpn_select_cb' function. */ #undef HAVE_SSL_CTX_SET_ALPN_SELECT_CB -/* Define to 1 if you have the 'SSL_CTX_set_ciphersuites' function. */ +/* Define to 1 if you have the `SSL_CTX_set_ciphersuites' function. */ #undef HAVE_SSL_CTX_SET_CIPHERSUITES -/* Define to 1 if you have the 'SSL_CTX_set_security_level' function. */ +/* Define to 1 if you have the `SSL_CTX_set_security_level' function. */ #undef HAVE_SSL_CTX_SET_SECURITY_LEVEL -/* Define to 1 if you have the 'SSL_CTX_set_tlsext_ticket_key_evp_cb' +/* Define to 1 if you have the `SSL_CTX_set_tlsext_ticket_key_evp_cb' function. */ #undef HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_EVP_CB -/* Define to 1 if you have the 'SSL_get0_alpn_selected' function. */ +/* Define to 1 if you have the `SSL_get0_alpn_selected' function. */ #undef HAVE_SSL_GET0_ALPN_SELECTED -/* Define to 1 if you have the 'SSL_get0_peername' function. */ +/* Define to 1 if you have the `SSL_get0_peername' function. */ #undef HAVE_SSL_GET0_PEERNAME -/* Define to 1 if you have the 'SSL_get1_peer_certificate' function. */ +/* Define to 1 if you have the `SSL_get1_peer_certificate' function. */ #undef HAVE_SSL_GET1_PEER_CERTIFICATE -/* Define to 1 if you have the 'SSL_is_quic' function. */ +/* Define to 1 if you have the `SSL_is_quic' function. */ #undef HAVE_SSL_IS_QUIC -/* Define to 1 if you have the 'SSL_set1_dnsname' function. */ +/* Define to 1 if you have the `SSL_set1_dnsname' function. */ #undef HAVE_SSL_SET1_DNSNAME -/* Define to 1 if you have the 'SSL_set1_host' function. */ +/* Define to 1 if you have the `SSL_set1_host' function. */ #undef HAVE_SSL_SET1_HOST -/* Define to 1 if you have the 'SSL_set_quic_tls_early_data_enabled' function. +/* Define to 1 if you have the `SSL_set_quic_tls_early_data_enabled' function. */ #undef HAVE_SSL_SET_QUIC_TLS_EARLY_DATA_ENABLED @@ -732,7 +732,7 @@ /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the 'strftime' function. */ +/* Define to 1 if you have the `strftime' function. */ #undef HAVE_STRFTIME /* Define to 1 if you have the <strings.h> header file. */ @@ -741,45 +741,45 @@ /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the 'strlcat' function. */ +/* Define to 1 if you have the `strlcat' function. */ #undef HAVE_STRLCAT -/* Define to 1 if you have the 'strlcpy' function. */ +/* Define to 1 if you have the `strlcpy' function. */ #undef HAVE_STRLCPY -/* Define to 1 if you have the 'strptime' function. */ +/* Define to 1 if you have the `strptime' function. */ #undef HAVE_STRPTIME -/* Define to 1 if you have the 'strsep' function. */ +/* Define to 1 if you have the `strsep' function. */ #undef HAVE_STRSEP -/* Define to 1 if 'ipi_spec_dst' is a member of 'struct in_pktinfo'. */ +/* Define to 1 if `ipi_spec_dst' is a member of `struct in_pktinfo'. */ #undef HAVE_STRUCT_IN_PKTINFO_IPI_SPEC_DST -/* Define to 1 if 'tokenlen' is a member of 'struct ngtcp2_pkt_hd'. */ +/* Define to 1 if `tokenlen' is a member of `struct ngtcp2_pkt_hd'. */ #undef HAVE_STRUCT_NGTCP2_PKT_HD_TOKENLEN -/* Define to 1 if 'max_tx_udp_payload_size' is a member of 'struct +/* Define to 1 if `max_tx_udp_payload_size' is a member of `struct ngtcp2_settings'. */ #undef HAVE_STRUCT_NGTCP2_SETTINGS_MAX_TX_UDP_PAYLOAD_SIZE -/* Define to 1 if 'tokenlen' is a member of 'struct ngtcp2_settings'. */ +/* Define to 1 if `tokenlen' is a member of `struct ngtcp2_settings'. */ #undef HAVE_STRUCT_NGTCP2_SETTINGS_TOKENLEN -/* Define to 1 if 'original_dcid_present' is a member of 'struct +/* Define to 1 if `original_dcid_present' is a member of `struct ngtcp2_transport_params'. */ #undef HAVE_STRUCT_NGTCP2_TRANSPORT_PARAMS_ORIGINAL_DCID_PRESENT -/* Define to 1 if the system has the type 'struct ngtcp2_version_cid'. */ +/* Define to 1 if the system has the type `struct ngtcp2_version_cid'. */ #undef HAVE_STRUCT_NGTCP2_VERSION_CID -/* Define to 1 if 'sun_len' is a member of 'struct sockaddr_un'. */ +/* Define to 1 if `sun_len' is a member of `struct sockaddr_un'. */ #undef HAVE_STRUCT_SOCKADDR_UN_SUN_LEN -/* Define to 1 if 'st_mtimensec' is a member of 'struct stat'. */ +/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_MTIMENSEC -/* Define to 1 if 'st_mtim.tv_nsec' is a member of 'struct stat'. */ +/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC /* Define if you have Swig libraries and header files. */ @@ -839,16 +839,16 @@ /* Define to 1 if you have the <time.h> header file. */ #undef HAVE_TIME_H -/* Define to 1 if you have the 'tzset' function. */ +/* Define to 1 if you have the `tzset' function. */ #undef HAVE_TZSET /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the 'usleep' function. */ +/* Define to 1 if you have the `usleep' function. */ #undef HAVE_USLEEP -/* Define to 1 if you have the 'vfork' function. */ +/* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the <vfork.h> header file. */ @@ -866,28 +866,28 @@ /* Define to 1 if you have the <winsock2.h> header file. */ #undef HAVE_WINSOCK2_H -/* Define to 1 if 'fork' works. */ +/* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK -/* Define to 1 if 'vfork' works. */ +/* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK -/* Define to 1 if you have the 'writev' function. */ +/* Define to 1 if you have the `writev' function. */ #undef HAVE_WRITEV /* Define to 1 if you have the <ws2tcpip.h> header file. */ #undef HAVE_WS2TCPIP_H -/* Define to 1 if you have the 'X509_get_key_usage' function. */ +/* Define to 1 if you have the `X509_get_key_usage' function. */ #undef HAVE_X509_GET_KEY_USAGE -/* Define to 1 if you have the 'X509_NAME_get_text_by_NID' function. */ +/* Define to 1 if you have the `X509_NAME_get_text_by_NID' function. */ #undef HAVE_X509_NAME_GET_TEXT_BY_NID -/* Define to 1 if you have the 'X509_VERIFY_PARAM_set1_host' function. */ +/* Define to 1 if you have the `X509_VERIFY_PARAM_set1_host' function. */ #undef HAVE_X509_VERIFY_PARAM_SET1_HOST -/* Define to 1 if you have the '_beginthreadex' function. */ +/* Define to 1 if you have the `_beginthreadex' function. */ #undef HAVE__BEGINTHREADEX /* If HMAC_Init_ex() returns void */ @@ -986,16 +986,16 @@ /* Shared data */ #undef SHARE_DIR -/* The size of 'pthread_t', as computed by sizeof. */ +/* The size of `pthread_t', as computed by sizeof. */ #undef SIZEOF_PTHREAD_T -/* The size of 'size_t', as computed by sizeof. */ +/* The size of `size_t', as computed by sizeof. */ #undef SIZEOF_SIZE_T -/* The size of 'time_t', as computed by sizeof. */ +/* The size of `time_t', as computed by sizeof. */ #undef SIZEOF_TIME_T -/* The size of 'unsigned long', as computed by sizeof. */ +/* The size of `unsigned long', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_LONG /* define if (v)snprintf does not return length needed, (but length used) */ @@ -1004,7 +1004,7 @@ /* Define to 1 if libsodium supports sodium_set_misuse_handler */ #undef SODIUM_MISUSE_HANDLER -/* Define to 1 if all of the C89 standard headers exist (not just the ones +/* Define to 1 if all of the C90 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS @@ -1101,7 +1101,7 @@ /* Define this to enable SHA256 and SHA512 support. */ #undef USE_SHA2 -/* Enable extensions on AIX, Interix, z/OS. */ +/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif @@ -1162,15 +1162,11 @@ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif -/* Enable extensions specified by C23 Annex F. */ -#ifndef __STDC_WANT_IEC_60559_EXT__ -# undef __STDC_WANT_IEC_60559_EXT__ -#endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #endif -/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ +/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif @@ -1211,36 +1207,30 @@ /* Define if you want PyUnbound. */ #undef WITH_PYUNBOUND -/* Define to 1 if 'lex' declares 'yytext' as a 'char *' by default, not a - 'char[]'. */ +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ #undef YYTEXT_POINTER /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS -/* Define to 1 if necessary to make fseeko visible. */ +/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE -/* Define to 1 on platforms where this makes off_t a 64-bit type. */ +/* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Enable for compile on Minix */ #undef _NETBSD_SOURCE -/* Number of bits in time_t, on hosts where this is settable. */ -#undef _TIME_BITS - -/* Define to 1 on platforms where this makes time_t a 64-bit type. */ -#undef __MINGW_USE_VC2005_COMPAT - /* defined to use gcc ansi snprintf and sscanf that understands %lld when compiled for windows. */ #undef __USE_MINGW_ANSI_STDIO -/* Define to empty if 'const' does not conform to ANSI C. */ +/* Define to empty if `const' does not conform to ANSI C. */ #undef const -/* Define as 'int' if <sys/types.h> doesn't define. */ +/* Define to `int' if <sys/types.h> doesn't define. */ #undef gid_t /* in_addr_t */ @@ -1249,28 +1239,28 @@ /* in_port_t */ #undef in_port_t -/* Define to '__inline__' or '__inline' if that's what the C compiler +/* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif -/* Define to 'short' if <sys/types.h> does not define. */ +/* Define to `short' if <sys/types.h> does not define. */ #undef int16_t -/* Define to 'int' if <sys/types.h> does not define. */ +/* Define to `int' if <sys/types.h> does not define. */ #undef int32_t -/* Define to 'long long' if <sys/types.h> does not define. */ +/* Define to `long long' if <sys/types.h> does not define. */ #undef int64_t -/* Define to 'signed char' if <sys/types.h> does not define. */ +/* Define to `signed char' if <sys/types.h> does not define. */ #undef int8_t /* Define if replacement function should be used. */ #undef malloc -/* Define to 'long int' if <sys/types.h> does not define. */ +/* Define to `long int' if <sys/types.h> does not define. */ #undef off_t /* Define as a signed integer type capable of holding a process identifier. */ @@ -1279,34 +1269,34 @@ /* Define to 'int' if not defined */ #undef rlim_t -/* Define as 'unsigned int' if <stddef.h> doesn't define. */ +/* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t /* Define to 'int' if not defined */ #undef socklen_t -/* Define to 'int' if <sys/types.h> does not define. */ +/* Define to `int' if <sys/types.h> does not define. */ #undef ssize_t /* Define to 'unsigned char if not defined */ #undef u_char -/* Define as 'int' if <sys/types.h> doesn't define. */ +/* Define to `int' if <sys/types.h> doesn't define. */ #undef uid_t -/* Define to 'unsigned short' if <sys/types.h> does not define. */ +/* Define to `unsigned short' if <sys/types.h> does not define. */ #undef uint16_t -/* Define to 'unsigned int' if <sys/types.h> does not define. */ +/* Define to `unsigned int' if <sys/types.h> does not define. */ #undef uint32_t -/* Define to 'unsigned long long' if <sys/types.h> does not define. */ +/* Define to `unsigned long long' if <sys/types.h> does not define. */ #undef uint64_t -/* Define to 'unsigned char' if <sys/types.h> does not define. */ +/* Define to `unsigned char' if <sys/types.h> does not define. */ #undef uint8_t -/* Define as 'fork' if 'vfork' does not work. */ +/* Define as `fork' if `vfork' does not work. */ #undef vfork #if defined(OMITTED__D_GNU_SOURCE) && !defined(_GNU_SOURCE) diff --git a/config.sub b/config.sub index 743b8c28eef5..404aa0824443 100755 --- a/config.sub +++ b/config.sub @@ -1,10 +1,10 @@ -#!/usr/bin/sh +#! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2024 Free Software Foundation, Inc. +# Copyright 1992-2026 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale -timestamp='2024-05-27' +timestamp='2026-05-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2024 Free Software Foundation, Inc. +Copyright 1992-2026 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -145,6 +145,7 @@ case $1 in | kfreebsd*-gnu* \ | knetbsd*-gnu* \ | kopensolaris*-gnu* \ + | ironclad-* \ | linux-* \ | managarm-* \ | netbsd*-eabi* \ @@ -242,7 +243,6 @@ case $1 in | rombug \ | semi \ | sequent* \ - | siemens \ | sgi* \ | siemens \ | sim \ @@ -261,7 +261,7 @@ case $1 in basic_machine=$field1-$field2 basic_os= ;; - zephyr*) + tock* | zephyr*) basic_machine=$field1-unknown basic_os=$field2 ;; @@ -1194,7 +1194,7 @@ case $cpu-$vendor in xscale-* | xscalee[bl]-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - arm64-* | aarch64le-*) + arm64-* | aarch64le-* | arm64_32-*) cpu=aarch64 ;; @@ -1321,6 +1321,7 @@ case $cpu-$vendor in | i960 \ | ia16 \ | ia64 \ + | intelgt \ | ip2k \ | iq2000 \ | javascript \ @@ -1431,6 +1432,7 @@ case $cpu-$vendor in | sparcv9v \ | spu \ | sv1 \ + | sw_64 \ | sx* \ | tahoe \ | thumbv7* \ @@ -1522,6 +1524,10 @@ EOF kernel=nto os=`echo "$basic_os" | sed -e 's|nto|qnx|'` ;; + ironclad*) + kernel=ironclad + os=`echo "$basic_os" | sed -e 's|ironclad|gnu|'` + ;; linux*) kernel=linux os=`echo "$basic_os" | sed -e 's|linux|gnu|'` @@ -1976,6 +1982,7 @@ case $os in | atheos* \ | auroraux* \ | aux* \ + | banan_os* \ | beos* \ | bitrig* \ | bme* \ @@ -2022,7 +2029,6 @@ case $os in | ios* \ | iris* \ | irix* \ - | ironclad* \ | isc* \ | its* \ | l4re* \ @@ -2118,6 +2124,7 @@ case $os in | sysv* \ | tenex* \ | tirtos* \ + | tock* \ | toppers* \ | tops10* \ | tops20* \ @@ -2214,6 +2221,8 @@ case $kernel-$os-$obj in ;; uclinux-uclibc*- | uclinux-gnu*- ) ;; + ironclad-gnu*- | ironclad-mlibc*- ) + ;; managarm-mlibc*- | managarm-kernel*- ) ;; windows*-msvc*-) @@ -2249,6 +2258,8 @@ case $kernel-$os-$obj in ;; *-eabi*- | *-gnueabi*-) ;; + ios*-simulator- | tvos*-simulator- | watchos*-simulator- ) + ;; none--*) # None (no kernel, i.e. freestanding / bare metal), # can be paired with an machine code file format @@ -2347,8 +2358,8 @@ echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" exit # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-format: "%Y-%02m-%02d" # time-stamp-end: "'" # End: diff --git a/configure b/configure index 2273b5d76e3b..9de0cc052bc5 100755 --- a/configure +++ b/configure @@ -1,11 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for unbound 1.26.0. +# Generated by GNU Autoconf 2.71 for unbound 1.26.1. # # Report bugs to <unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues>. # # -# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, # Inc. # # @@ -17,6 +17,7 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -25,13 +26,12 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else case e in #( - e) case `(set -o) 2>/dev/null` in #( +else $as_nop + case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; -esac ;; esac fi @@ -103,7 +103,7 @@ IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as 'sh COMMAND' +# We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -133,14 +133,15 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed 'exec'. +# out after a failed `exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: @@ -148,13 +149,12 @@ then : # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else case e in #( - e) case \`(set -o) 2>/dev/null\` in #( +else \$as_nop + case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; -esac ;; esac fi " @@ -172,9 +172,8 @@ as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : -else case e in #( - e) exitcode=1; echo positional parameters were not saved. ;; -esac +else \$as_nop + exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 blah=\$(echo \$(echo blah)) @@ -196,15 +195,14 @@ test \$(( 1 + 1 )) = 2 || exit 1 if (eval "$as_required") 2>/dev/null then : as_have_required=yes -else case e in #( - e) as_have_required=no ;; -esac +else $as_nop + as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : -else case e in #( - e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do @@ -237,13 +235,12 @@ IFS=$as_save_IFS if $as_found then : -else case e in #( - e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes -fi ;; -esac +fi fi @@ -265,7 +262,7 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed 'exec'. +# out after a failed `exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi @@ -286,8 +283,7 @@ $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 -fi ;; -esac +fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} @@ -326,6 +322,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -394,12 +398,11 @@ then : { eval $1+=\$2 }' -else case e in #( - e) as_fn_append () +else $as_nop + as_fn_append () { eval $1=\$$1\$2 - } ;; -esac + } fi # as_fn_append # as_fn_arith ARG... @@ -413,14 +416,21 @@ then : { as_val=$(( $* )) }' -else case e in #( - e) as_fn_arith () +else $as_nop + as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } ;; -esac + } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -494,8 +504,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits /[$]LINENO/= ' <$as_myself | sed ' - t clear - :clear s/[$]LINENO.*/&-/ t lineno b @@ -544,6 +552,7 @@ esac as_echo='printf %s\n' as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -555,9 +564,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. - # In both cases, we have to default to 'cp -pR'. + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -582,12 +591,10 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -as_tr_sh="eval sed '$as_sed_sh'" # deprecated +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} @@ -615,8 +622,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='unbound' PACKAGE_TARNAME='unbound' -PACKAGE_VERSION='1.26.0' -PACKAGE_STRING='unbound 1.26.0' +PACKAGE_VERSION='1.26.1' +PACKAGE_STRING='unbound 1.26.1' PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues' PACKAGE_URL='' @@ -653,7 +660,6 @@ ac_includes_default="\ ac_header_c_list= ac_func_c_list= -enable_year2038=no ac_subst_vars='LTLIBOBJS date version @@ -742,7 +748,6 @@ PTHREAD_LIBS PTHREAD_CXX PTHREAD_CC ax_pthread_config -CPP ASYNCLOOK_ALLOCCHECK_EXTRA_OBJ SLDNS_ALLOCCHECK_EXTRA_OBJ USE_SYSTEMD_FALSE @@ -753,6 +758,7 @@ SYSTEMD_LIBS SYSTEMD_CFLAGS RUNTIME_PATH LIBOBJS +CPP PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG @@ -938,7 +944,6 @@ with_libmnl enable_explicit_port_randomisation enable_linux_ip_local_port_range with_libunbound_only -enable_year2038 ' ac_precious_vars='build_alias host_alias @@ -954,11 +959,11 @@ LT_SYS_LIBRARY_PATH PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR +CPP SYSTEMD_CFLAGS SYSTEMD_LIBS SYSTEMD_DAEMON_CFLAGS SYSTEMD_DAEMON_LIBS -CPP PYTHON_VERSION SOURCE_DATE_EPOCH PROTOBUFC_CFLAGS @@ -1071,7 +1076,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: '$ac_useropt'" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1097,7 +1102,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: '$ac_useropt'" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1310,7 +1315,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: '$ac_useropt'" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1326,7 +1331,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: '$ac_useropt'" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1356,8 +1361,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: '$ac_option' -Try '$0 --help' for more information" + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1365,7 +1370,7 @@ Try '$0 --help' for more information" # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: '$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1415,7 +1420,7 @@ do as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done -# There might be people who depend on the old broken behavior: '$host' +# There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias @@ -1483,7 +1488,7 @@ if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi -ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work" +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` @@ -1511,7 +1516,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures unbound 1.26.0 to adapt to many kinds of systems. +\`configure' configures unbound 1.26.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1525,11 +1530,11 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print 'checking ...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for '--cache-file=config.cache' + -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or '..'] + --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX @@ -1537,10 +1542,10 @@ Installation directories: --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] -By default, 'make install' will install all the files in -'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify -an installation prefix other than '$ac_default_prefix' using '--prefix', -for instance '--prefix=\$HOME'. +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. For better control, use the options below. @@ -1577,7 +1582,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of unbound 1.26.0:";; + short | recursive ) echo "Configuration of unbound 1.26.1:";; esac cat <<\_ACEOF @@ -1658,7 +1663,6 @@ Optional Features: randomness. Define this only when the target system restricts (e.g. some of SELinux enabled distributions) the use of non-ephemeral ports. - --enable-year2038 support timestamps after 2038 Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1729,12 +1733,12 @@ Some influential environment variables: LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> - YACC The 'Yet Another Compiler Compiler' implementation to use. - Defaults to the first program found out of: 'bison -y', 'byacc', - 'yacc'. + YACC The `Yet Another Compiler Compiler' implementation to use. + Defaults to the first program found out of: `bison -y', `byacc', + `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a - default value of '-d' given by some make applications. + default value of `-d' given by some make applications. LT_SYS_LIBRARY_PATH User-defined run-time library search path. PKG_CONFIG path to pkg-config utility @@ -1742,6 +1746,7 @@ Some influential environment variables: directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path + CPP C preprocessor SYSTEMD_CFLAGS C compiler flags for SYSTEMD, overriding pkg-config SYSTEMD_LIBS @@ -1750,7 +1755,6 @@ Some influential environment variables: C compiler flags for SYSTEMD_DAEMON, overriding pkg-config SYSTEMD_DAEMON_LIBS linker flags for SYSTEMD_DAEMON, overriding pkg-config - CPP C preprocessor PYTHON_VERSION The installed Python version to use, for example '2.3'. This string will be appended to the Python interpreter canonical @@ -1764,7 +1768,7 @@ Some influential environment variables: PROTOBUFC_LIBS linker flags for PROTOBUFC, overriding pkg-config -Use these variables to override the choices made by 'configure' or to help +Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues>. @@ -1831,10 +1835,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -unbound configure 1.26.0 -generated by GNU Autoconf 2.72 +unbound configure 1.26.1 +generated by GNU Autoconf 2.71 -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1873,12 +1877,11 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else case e in #( - e) printf "%s\n" "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 ;; -esac + ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -1897,8 +1900,8 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> @@ -1906,12 +1909,10 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" -else case e in #( - e) eval "$3=no" ;; -esac +else $as_nop + eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -1951,12 +1952,11 @@ printf "%s\n" "$ac_try_echo"; } >&5 } then : ac_retval=0 -else case e in #( - e) printf "%s\n" "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 ;; -esac + ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would @@ -1979,15 +1979,15 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case <limits.h> declares $2. For example, HP-UX 11i <limits.h> declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (void); below. */ + which can conflict with char $2 (); below. */ #include <limits.h> #undef $2 @@ -1998,7 +1998,7 @@ else case e in #( #ifdef __cplusplus extern "C" #endif -char $2 (void); +char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ @@ -2017,13 +2017,11 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : eval "$3=yes" -else case e in #( - e) eval "$3=no" ;; -esac +else $as_nop + eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext ;; -esac + conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2044,8 +2042,8 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else case e in #( - e) eval "$3=no" +else $as_nop + eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 @@ -2075,14 +2073,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : -else case e in #( - e) eval "$3=yes" ;; -esac +else $as_nop + eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2091,6 +2087,44 @@ printf "%s\n" "$ac_res" >&6; } } # ac_fn_c_check_type +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + # ac_fn_c_try_run LINENO # ---------------------- # Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that @@ -2121,13 +2155,12 @@ printf "%s\n" "$ac_try_echo"; } >&5 test $ac_status = 0; }; } then : ac_retval=0 -else case e in #( - e) printf "%s\n" "$as_me: program exited with status $ac_status" >&5 +else $as_nop + printf "%s\n" "$as_me: program exited with status $ac_status" >&5 printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status ;; -esac + ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno @@ -2180,19 +2213,18 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_hi=$ac_mid; break -else case e in #( - e) as_fn_arith $ac_mid + 1 && ac_lo=$as_val +else $as_nop + as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val ;; -esac + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int @@ -2227,23 +2259,20 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_lo=$ac_mid; break -else case e in #( - e) as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val +else $as_nop + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val ;; -esac + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done -else case e in #( - e) ac_lo= ac_hi= ;; -esac +else $as_nop + ac_lo= ac_hi= fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # Binary search between lo and hi bounds. @@ -2266,9 +2295,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_hi=$ac_mid -else case e in #( - e) as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val ;; -esac +else $as_nop + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done @@ -2316,9 +2344,8 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : echo >>conftest.val; read $3 <conftest.val; ac_retval=0 -else case e in #( - e) ac_retval=1 ;; -esac +else $as_nop + ac_retval=1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -2330,45 +2357,6 @@ rm -f conftest.val } # ac_fn_c_compute_int -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - } -then : - ac_retval=0 -else case e in #( - e) printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 ;; -esac -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - # ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR # ------------------------------------------------------------------ # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR @@ -2382,8 +2370,8 @@ printf %s "checking whether $as_decl_name is declared... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else case e in #( - e) as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` +else $as_nop + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` eval ac_save_FLAGS=\$$6 as_fn_append $6 " $5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2407,14 +2395,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" -else case e in #( - e) eval "$3=no" ;; -esac +else $as_nop + eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext eval $6=\$ac_save_FLAGS - ;; -esac + fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2435,8 +2421,8 @@ printf %s "checking for $2.$3... " >&6; } if eval test \${$4+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int @@ -2452,8 +2438,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$4=yes" -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int @@ -2469,15 +2455,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$4=yes" -else case e in #( - e) eval "$4=no" ;; -esac +else $as_nop + eval "$4=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$4 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2509,8 +2492,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by unbound $as_me 1.26.0, which was -generated by GNU Autoconf 2.72. Invocation command line was +It was created by unbound $as_me 1.26.1, which was +generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2756,10 +2739,10 @@ esac printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } fi done @@ -2796,7 +2779,9 @@ struct stat; /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ struct buf { int x; }; struct buf * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (char **p, int i) +static char *e (p, i) + char **p; + int i; { return p[i]; } @@ -2810,21 +2795,6 @@ static char *f (char * (*g) (char **, int), char **p, ...) return s; } -/* C89 style stringification. */ -#define noexpand_stringify(a) #a -const char *stringified = noexpand_stringify(arbitrary+token=sequence); - -/* C89 style token pasting. Exercises some of the corner cases that - e.g. old MSVC gets wrong, but not very hard. */ -#define noexpand_concat(a,b) a##b -#define expand_concat(a,b) noexpand_concat(a,b) -extern int vA; -extern int vbee; -#define aye A -#define bee B -int *pvA = &expand_concat(v,aye); -int *pvbee = &noexpand_concat(v,bee); - /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not \xHH hex character constants. These do not provoke an error unfortunately, instead are silently treated @@ -2852,19 +2822,16 @@ ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); # Test code for whether the C compiler supports C99 (global declarations) ac_c_conftest_c99_globals=' -/* Does the compiler advertise C99 conformance? */ +// Does the compiler advertise C99 conformance? #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L # error "Compiler does not advertise C99 conformance" #endif -// See if C++-style comments work. - #include <stdbool.h> extern int puts (const char *); extern int printf (const char *, ...); extern int dprintf (int, const char *, ...); extern void *malloc (size_t); -extern void free (void *); // Check varargs macros. These examples are taken from C99 6.10.3.5. // dprintf is used instead of fprintf to avoid needing to declare @@ -2914,6 +2881,7 @@ typedef const char *ccp; static inline int test_restrict (ccp restrict text) { + // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) @@ -2979,8 +2947,6 @@ ac_c_conftest_c99_main=' ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; - // Work around memory leak warnings. - free (ia); // Check named initializers. struct named_init ni = { @@ -3002,7 +2968,7 @@ ac_c_conftest_c99_main=' # Test code for whether the C compiler supports C11 (global declarations) ac_c_conftest_c11_globals=' -/* Does the compiler advertise C11 conformance? */ +// Does the compiler advertise C11 conformance? #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L # error "Compiler does not advertise C11 conformance" #endif @@ -3198,9 +3164,8 @@ IFS=$as_save_IFS if $as_found then : -else case e in #( - e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 fi @@ -3228,12 +3193,12 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -3242,18 +3207,18 @@ printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 -printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. @@ -3269,11 +3234,11 @@ printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## @@ -3291,11 +3256,11 @@ UNBOUND_VERSION_MAJOR=1 UNBOUND_VERSION_MINOR=26 -UNBOUND_VERSION_MICRO=0 +UNBOUND_VERSION_MICRO=1 LIBUNBOUND_CURRENT=9 -LIBUNBOUND_REVISION=39 +LIBUNBOUND_REVISION=40 LIBUNBOUND_AGE=1 # 1.0.0 had 0:12:0 # 1.0.1 had 0:13:0 @@ -3402,6 +3367,7 @@ LIBUNBOUND_AGE=1 # 1.25.1 had 9:37:1 # 1.25.2 had 9:38:1 # 1.26.0 had 9:39:1 +# 1.26.1 had 9:40:1 # Current -- the number of the binary API that we're implementing # Revision -- which iteration of the implementation of the binary @@ -3454,8 +3420,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3477,8 +3443,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -3500,8 +3465,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_CC"; then +else $as_nop + if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3523,8 +3488,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -3559,8 +3523,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3582,8 +3546,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -3605,8 +3568,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no @@ -3645,8 +3608,7 @@ if test $ac_prog_rejected = yes; then ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -3670,8 +3632,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3693,8 +3655,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -3720,8 +3681,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_CC"; then +else $as_nop + if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3743,8 +3704,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -3782,8 +3742,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3805,8 +3765,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -3828,8 +3787,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_CC"; then +else $as_nop + if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3851,8 +3810,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -3881,10 +3839,10 @@ fi fi -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3956,8 +3914,8 @@ printf "%s\n" "$ac_try_echo"; } >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : - # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'. -# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no' + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. @@ -3977,7 +3935,7 @@ do ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an '-o' + # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. @@ -3988,9 +3946,8 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else case e in #( - e) ac_file='' ;; -esac +else $as_nop + ac_file='' fi if test -z "$ac_file" then : @@ -3999,14 +3956,13 @@ printf "%s\n" "no" >&6; } printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See 'config.log' for more details" "$LINENO" 5; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } ;; -esac +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; } @@ -4030,10 +3986,10 @@ printf "%s\n" "$ac_try_echo"; } >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : - # If both 'conftest.exe' and 'conftest' are 'present' (well, observable) -# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will -# work properly (i.e., refer to 'conftest.exe'), while it won't with -# 'rm'. + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in @@ -4043,12 +3999,11 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else case e in #( - e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See 'config.log' for more details" "$LINENO" 5; } ;; -esac +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4064,8 +4019,6 @@ int main (void) { FILE *f = fopen ("conftest.out", "w"); - if (!f) - return 1; return ferror (f) || fclose (f) != 0; ; @@ -4105,27 +4058,26 @@ printf "%s\n" "$ac_try_echo"; } >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot run C compiled programs. -If you meant to cross compile, use '--host'. -See 'config.log' for more details" "$LINENO" 5; } +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 printf "%s\n" "$cross_compiling" >&6; } -rm -f conftest.$ac_ext conftest$ac_cv_exeext \ - conftest.o conftest.obj conftest.out +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4157,18 +4109,16 @@ then : break;; esac done -else case e in #( - e) printf "%s\n" "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See 'config.log' for more details" "$LINENO" 5; } ;; -esac +See \`config.log' for more details" "$LINENO" 5; } fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; -esac +rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 printf "%s\n" "$ac_cv_objext" >&6; } @@ -4179,8 +4129,8 @@ printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4197,14 +4147,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes -else case e in #( - e) ac_compiler_gnu=no ;; -esac +else $as_nop + ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } @@ -4222,8 +4170,8 @@ printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_save_c_werror_flag=$ac_c_werror_flag +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" @@ -4241,8 +4189,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes -else case e in #( - e) CFLAGS="" +else $as_nop + CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4257,8 +4205,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : -else case e in #( - e) ac_c_werror_flag=$ac_save_c_werror_flag +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4275,15 +4223,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag ;; -esac + ac_c_werror_flag=$ac_save_c_werror_flag fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } @@ -4310,8 +4255,8 @@ printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c11=no +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4328,28 +4273,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac +CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c11" = x +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } - CC="$CC $ac_cv_prog_cc_c11" ;; -esac + CC="$CC $ac_cv_prog_cc_c11" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 - ac_prog_cc_stdc=c11 ;; -esac + ac_prog_cc_stdc=c11 fi fi if test x$ac_prog_cc_stdc = xno @@ -4359,8 +4301,8 @@ printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c99=no +else $as_nop + ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4377,28 +4319,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac +CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c99" = x +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } - CC="$CC $ac_cv_prog_cc_c99" ;; -esac + CC="$CC $ac_cv_prog_cc_c99" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 - ac_prog_cc_stdc=c99 ;; -esac + ac_prog_cc_stdc=c99 fi fi if test x$ac_prog_cc_stdc = xno @@ -4408,8 +4347,8 @@ printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c89=no +else $as_nop + ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4426,28 +4365,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac +CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c89" = x +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } - CC="$CC $ac_cv_prog_cc_c89" ;; -esac + CC="$CC $ac_cv_prog_cc_c89" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 - ac_prog_cc_stdc=c89 ;; -esac + ac_prog_cc_stdc=c89 fi fi @@ -4498,8 +4434,8 @@ printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; } if test ${ac_cv_safe_to_define___extensions__+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 @@ -4515,12 +4451,10 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_safe_to_define___extensions__=yes -else case e in #( - e) ac_cv_safe_to_define___extensions__=no ;; -esac +else $as_nop + ac_cv_safe_to_define___extensions__=no fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; } @@ -4530,8 +4464,8 @@ printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; } if test ${ac_cv_should_define__xopen_source+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_should_define__xopen_source=no +else $as_nop + ac_cv_should_define__xopen_source=no if test $ac_cv_header_wchar_h = yes then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4550,8 +4484,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE 500 @@ -4569,12 +4503,10 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_should_define__xopen_source=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi ;; -esac +fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } @@ -4599,8 +4531,6 @@ printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h - printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h - printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h @@ -4620,9 +4550,8 @@ then : printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h -else case e in #( - e) MINIX= ;; -esac +else $as_nop + MINIX= fi if test $ac_cv_safe_to_define___extensions__ = yes then : @@ -4717,14 +4646,13 @@ printf "%s\n" X"$ub_conf_file" | if test ${with_run_dir+y} then : withval=$with_run_dir; UNBOUND_RUN_DIR="$withval" -else case e in #( - e) if test $on_mingw = no; then +else $as_nop + if test $on_mingw = no; then UNBOUND_RUN_DIR=`dirname "$ub_conf_file"` else UNBOUND_RUN_DIR="" fi - ;; -esac + fi @@ -4739,14 +4667,13 @@ printf "%s\n" "#define RUN_DIR \"$hdr_run\"" >>confdefs.h if test ${with_chroot_dir+y} then : withval=$with_chroot_dir; UNBOUND_CHROOT_DIR="$withval" -else case e in #( - e) if test $on_mingw = no; then +else $as_nop + if test $on_mingw = no; then UNBOUND_CHROOT_DIR="$UNBOUND_RUN_DIR" else UNBOUND_CHROOT_DIR="" fi - ;; -esac + fi @@ -4761,9 +4688,8 @@ printf "%s\n" "#define CHROOT_DIR \"$hdr_chroot\"" >>confdefs.h if test ${with_share_dir+y} then : withval=$with_share_dir; UNBOUND_SHARE_DIR="$withval" -else case e in #( - e) UNBOUND_SHARE_DIR="$UNBOUND_RUN_DIR" ;; -esac +else $as_nop + UNBOUND_SHARE_DIR="$UNBOUND_RUN_DIR" fi @@ -4776,14 +4702,13 @@ printf "%s\n" "#define SHARE_DIR \"$UNBOUND_SHARE_DIR\"" >>confdefs.h if test ${with_pidfile+y} then : withval=$with_pidfile; UNBOUND_PIDFILE="$withval" -else case e in #( - e) if test $on_mingw = no; then +else $as_nop + if test $on_mingw = no; then UNBOUND_PIDFILE="$UNBOUND_RUN_DIR/unbound.pid" else UNBOUND_PIDFILE="" fi - ;; -esac + fi @@ -4798,14 +4723,13 @@ printf "%s\n" "#define PIDFILE \"$hdr_pid\"" >>confdefs.h if test ${with_rootkey_file+y} then : withval=$with_rootkey_file; UNBOUND_ROOTKEY_FILE="$withval" -else case e in #( - e) if test $on_mingw = no; then +else $as_nop + if test $on_mingw = no; then UNBOUND_ROOTKEY_FILE="$UNBOUND_RUN_DIR/root.key" else UNBOUND_ROOTKEY_FILE="C:\\Program Files\\Unbound\\root.key" fi - ;; -esac + fi @@ -4820,14 +4744,13 @@ printf "%s\n" "#define ROOT_ANCHOR_FILE \"$hdr_rkey\"" >>confdefs.h if test ${with_rootcert_file+y} then : withval=$with_rootcert_file; UNBOUND_ROOTCERT_FILE="$withval" -else case e in #( - e) if test $on_mingw = no; then +else $as_nop + if test $on_mingw = no; then UNBOUND_ROOTCERT_FILE="$UNBOUND_RUN_DIR/icannbundle.pem" else UNBOUND_ROOTCERT_FILE="C:\\Program Files\\Unbound\\icannbundle.pem" fi - ;; -esac + fi @@ -4842,9 +4765,8 @@ printf "%s\n" "#define ROOT_CERT_FILE \"$hdr_rpem\"" >>confdefs.h if test ${with_username+y} then : withval=$with_username; UNBOUND_USERNAME="$withval" -else case e in #( - e) UNBOUND_USERNAME="unbound" ;; -esac +else $as_nop + UNBOUND_USERNAME="unbound" fi @@ -4867,8 +4789,8 @@ printf %s "checking for grep that handles long lines and -e... " >&6; } if test ${ac_cv_path_GREP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -z "$GREP"; then +else $as_nop + if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4887,10 +4809,9 @@ do as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in #( +case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -4925,8 +4846,7 @@ IFS=$as_save_IFS else ac_cv_path_GREP=$GREP fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 printf "%s\n" "$ac_cv_path_GREP" >&6; } @@ -4940,8 +4860,8 @@ printf %s "checking for an ANSI C-conforming const... " >&6; } if test ${ac_cv_c_const+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5005,12 +4925,10 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_const=yes -else case e in #( - e) ac_cv_c_const=no ;; -esac +else $as_nop + ac_cv_c_const=no fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 printf "%s\n" "$ac_cv_c_const" >&6; } @@ -5037,8 +4955,8 @@ cache=`echo g | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -g -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -5046,8 +4964,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -5070,8 +4987,8 @@ cache=`echo O2 | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -O2 -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -5079,8 +4996,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -5110,8 +5026,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5133,8 +5049,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -5156,8 +5071,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_CC"; then +else $as_nop + if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5179,8 +5094,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -5215,8 +5129,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5238,8 +5152,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -5261,8 +5174,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no @@ -5301,8 +5214,7 @@ if test $ac_prog_rejected = yes; then ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -5326,8 +5238,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5349,8 +5261,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -5376,8 +5287,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_CC"; then +else $as_nop + if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5399,8 +5310,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -5438,8 +5348,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$CC"; then +else $as_nop + if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5461,8 +5371,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -5484,8 +5393,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_CC"; then +else $as_nop + if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5507,8 +5416,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -5537,10 +5445,10 @@ fi fi -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -5572,8 +5480,8 @@ printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5590,14 +5498,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes -else case e in #( - e) ac_compiler_gnu=no ;; -esac +else $as_nop + ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } @@ -5615,8 +5521,8 @@ printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_save_c_werror_flag=$ac_c_werror_flag +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" @@ -5634,8 +5540,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes -else case e in #( - e) CFLAGS="" +else $as_nop + CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5650,8 +5556,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : -else case e in #( - e) ac_c_werror_flag=$ac_save_c_werror_flag +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5668,15 +5574,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag ;; -esac + ac_c_werror_flag=$ac_save_c_werror_flag fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } @@ -5703,8 +5606,8 @@ printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c11=no +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5721,28 +5624,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac +CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c11" = x +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } - CC="$CC $ac_cv_prog_cc_c11" ;; -esac + CC="$CC $ac_cv_prog_cc_c11" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 - ac_prog_cc_stdc=c11 ;; -esac + ac_prog_cc_stdc=c11 fi fi if test x$ac_prog_cc_stdc = xno @@ -5752,8 +5652,8 @@ printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c99=no +else $as_nop + ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5770,28 +5670,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac +CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c99" = x +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } - CC="$CC $ac_cv_prog_cc_c99" ;; -esac + CC="$CC $ac_cv_prog_cc_c99" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 - ac_prog_cc_stdc=c99 ;; -esac + ac_prog_cc_stdc=c99 fi fi if test x$ac_prog_cc_stdc = xno @@ -5801,8 +5698,8 @@ printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c89=no +else $as_nop + ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5819,28 +5716,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac +CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c89" = x +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } - CC="$CC $ac_cv_prog_cc_c89" ;; -esac + CC="$CC $ac_cv_prog_cc_c89" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 - ac_prog_cc_stdc=c89 ;; -esac + ac_prog_cc_stdc=c89 fi fi @@ -5877,8 +5771,8 @@ cache=`echo Werror | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -Werror -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -5886,8 +5780,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -5910,8 +5803,8 @@ cache=`echo Wall | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -5919,8 +5812,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -5945,8 +5837,8 @@ cache=`echo std=c99 | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -std=c99 -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -5954,8 +5846,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -5978,8 +5869,8 @@ cache=`echo xc99 | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -xc99 -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -5987,8 +5878,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -6025,12 +5915,12 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC" >&5 printf %s "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC... " >&6; } -cache=`printf "%s\n" "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" | sed "$as_sed_sh"` +cache=`printf "%s\n" "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" | $as_tr_sh` if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include "confdefs.h" #include <stdlib.h> @@ -6084,8 +5974,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6118,12 +6007,12 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC" >&5 printf %s "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC... " >&6; } -cache=`printf "%s\n" "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE" | sed "$as_sed_sh"` +cache=`printf "%s\n" "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE" | $as_tr_sh` if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include "confdefs.h" #include <stdlib.h> @@ -6177,8 +6066,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6211,12 +6099,12 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG as a flag for $CC" >&5 printf %s "checking whether we need $C99FLAG as a flag for $CC... " >&6; } -cache=`printf "%s\n" "$C99FLAG" | sed "$as_sed_sh"` +cache=`printf "%s\n" "$C99FLAG" | $as_tr_sh` if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include <stdbool.h> #include <ctype.h> @@ -6243,8 +6131,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6281,8 +6168,8 @@ cache=_D_BSD_SOURCE__D_DEFAULT_SOURCE if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include <ctype.h> @@ -6310,8 +6197,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6348,8 +6234,8 @@ cache=_D_GNU_SOURCE if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include <netinet/in.h> @@ -6377,8 +6263,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6418,8 +6303,8 @@ cache=_D_GNU_SOURCE__D_FRSRESGID if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include <unistd.h> @@ -6447,8 +6332,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6485,8 +6369,8 @@ cache=_D_POSIX_C_SOURCE_200112 if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include "confdefs.h" #ifdef HAVE_TIME_H @@ -6525,8 +6409,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6563,8 +6446,8 @@ cache=_D__EXTENSIONS__ if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include "confdefs.h" #include <stdlib.h> @@ -6609,8 +6492,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -6666,8 +6548,8 @@ cache=`echo W | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -W -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -6675,8 +6557,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -6699,8 +6580,8 @@ cache=`echo Wall | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -6708,8 +6589,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -6732,8 +6612,8 @@ cache=`echo Wextra | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -Wextra -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -6741,8 +6621,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -6765,8 +6644,8 @@ cache=`echo Wdeclaration-after-statement | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -Wdeclaration-after-statement -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -6774,8 +6653,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -6840,10 +6718,9 @@ printf "%s\n" "yes" >&6; } fi rm -f conftest conftest.c conftest.o -else case e in #( - e) CFLAGS="$BAKCFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } ;; -esac +else $as_nop + CFLAGS="$BAKCFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -6890,10 +6767,9 @@ printf "%s\n" "yes" >&6; } fi rm -f conftest conftest.c conftest.o -else case e in #( - e) LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } ;; -esac +else $as_nop + LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -6938,10 +6814,9 @@ printf "%s\n" "yes" >&6; } fi rm -f conftest conftest.c conftest.o -else case e in #( - e) LDFLAGS="$BAKLDFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } ;; -esac +else $as_nop + LDFLAGS="$BAKLDFLAGS" ; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -6955,8 +6830,8 @@ printf %s "checking for inline... " >&6; } if test ${ac_cv_c_inline+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_inline=no +else $as_nop + ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6974,8 +6849,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext test "$ac_cv_c_inline" != no && break done - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 printf "%s\n" "$ac_cv_c_inline" >&6; } @@ -7001,8 +6875,8 @@ printf %s "checking whether the C compiler (${CC-cc}) accepts the \"format\" att if test ${ac_cv_c_format_attribute+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_format_attribute=no +else $as_nop + ac_cv_c_format_attribute=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -7022,13 +6896,11 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_format_attribute="yes" -else case e in #( - e) ac_cv_c_format_attribute="no" ;; -esac +else $as_nop + ac_cv_c_format_attribute="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi @@ -7046,8 +6918,8 @@ printf %s "checking whether the C compiler (${CC-cc}) accepts the \"unused\" att if test ${ac_cv_c_unused_attribute+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_unused_attribute=no +else $as_nop + ac_cv_c_unused_attribute=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -7066,13 +6938,11 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_unused_attribute="yes" -else case e in #( - e) ac_cv_c_unused_attribute="no" ;; -esac +else $as_nop + ac_cv_c_unused_attribute="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi @@ -7095,8 +6965,8 @@ printf %s "checking whether the C compiler (${CC-cc}) accepts the \"nonstring\" if test ${ac_cv_c_nonstring_attribute+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_nonstring_attribute=no +else $as_nop + ac_cv_c_nonstring_attribute=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -7118,14 +6988,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_nonstring_attribute="yes" -else case e in #( - e) ac_cv_c_nonstring_attribute="no" ;; -esac +else $as_nop + ac_cv_c_nonstring_attribute="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$BAKCFLAGS" - ;; -esac + fi @@ -7147,8 +7015,8 @@ printf %s "checking whether the C compiler (${CC-cc}) accepts the \"weak\" attri if test ${ac_cv_c_weak_attribute+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_weak_attribute=no +else $as_nop + ac_cv_c_weak_attribute=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -7167,13 +7035,11 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_weak_attribute="yes" -else case e in #( - e) ac_cv_c_weak_attribute="no" ;; -esac +else $as_nop + ac_cv_c_weak_attribute="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi @@ -7200,8 +7066,8 @@ printf %s "checking whether the C compiler (${CC-cc}) accepts the \"noreturn\" a if test ${ac_cv_c_noreturn_attribute+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_noreturn_attribute=no +else $as_nop + ac_cv_c_noreturn_attribute=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -7227,13 +7093,11 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_noreturn_attribute="yes" -else case e in #( - e) ac_cv_c_noreturn_attribute="no" ;; -esac +else $as_nop + ac_cv_c_noreturn_attribute="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi @@ -7262,8 +7126,8 @@ CFLAGS="$CFLAGS -Werror" if test ${ac_cv_c_fallthrough_attribute+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_c_fallthrough_attribute=no +else $as_nop + ac_cv_c_fallthrough_attribute=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -7297,13 +7161,11 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_fallthrough_attribute="yes" -else case e in #( - e) ac_cv_c_fallthrough_attribute="no" ;; -esac +else $as_nop + ac_cv_c_fallthrough_attribute="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi CFLAGS="$BAKCFLAGS" @@ -7341,8 +7203,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_LEX+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$LEX"; then +else $as_nop + if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -7364,8 +7226,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then @@ -7423,8 +7284,8 @@ printf %s "checking for lex output file root... " >&6; } if test ${ac_cv_prog_lex_root+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + ac_cv_prog_lex_root=unknown { { ac_try="$LEX conftest.l" case "(($ac_try" in @@ -7441,8 +7302,7 @@ if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy -fi ;; -esac +fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 printf "%s\n" "$ac_cv_prog_lex_root" >&6; } @@ -7457,15 +7317,15 @@ LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root if test ${LEXLIB+y} then : -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lex library" >&5 printf %s "checking for lex library... " >&6; } if test ${ac_cv_lib_lex+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + ac_save_LIBS="$LIBS" ac_found=false for ac_cv_lib_lex in 'none needed' -lfl -ll 'not found'; do @@ -7495,8 +7355,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ fi done LIBS="$ac_save_LIBS" - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 printf "%s\n" "$ac_cv_lib_lex" >&6; } @@ -7508,12 +7367,10 @@ printf "%s\n" "$as_me: WARNING: required lex library not found; giving up on $LE elif test "$ac_cv_lib_lex" = 'none needed' then : LEXLIB='' -else case e in #( - e) LEXLIB=$ac_cv_lib_lex ;; -esac +else $as_nop + LEXLIB=$ac_cv_lib_lex fi - ;; -esac + fi @@ -7525,8 +7382,8 @@ printf %s "checking whether yytext is a pointer... " >&6; } if test ${ac_cv_prog_lex_yytext_pointer+y} then : printf %s "(cached) " >&6 -else case e in #( - e) # POSIX says lex can declare yytext either as a pointer or an array; the +else $as_nop + # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no @@ -7541,8 +7398,7 @@ then : ac_cv_prog_lex_yytext_pointer=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 printf "%s\n" "$ac_cv_prog_lex_yytext_pointer" >&6; } @@ -7602,8 +7458,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_YACC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$YACC"; then +else $as_nop + if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -7625,8 +7481,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then @@ -7654,8 +7509,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_doxygen+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$doxygen"; then +else $as_nop + if test -n "$doxygen"; then ac_cv_prog_doxygen="$doxygen" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -7677,8 +7532,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi doxygen=$ac_cv_prog_doxygen if test -n "$doxygen"; then @@ -7698,8 +7552,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$STRIP"; then +else $as_nop + if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -7721,8 +7575,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then @@ -7744,8 +7597,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_STRIP"; then +else $as_nop + if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -7767,8 +7620,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then @@ -7806,16 +7658,15 @@ printf %s "checking build system type... " >&6; } if test ${ac_cv_build+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_build_alias=$build_alias +else $as_nop + ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 printf "%s\n" "$ac_cv_build" >&6; } @@ -7842,15 +7693,14 @@ printf %s "checking host system type... " >&6; } if test ${ac_cv_host+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test "x$host_alias" = x; then +else $as_nop + if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 printf "%s\n" "$ac_cv_host" >&6; } @@ -7900,8 +7750,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_AR+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $AR in +else $as_nop + case $AR in [\\/]* | ?:[\\/]*) ac_cv_path_AR="$AR" # Let the user override the test with a path. ;; @@ -7926,7 +7776,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi AR=$ac_cv_path_AR @@ -7949,8 +7798,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_AR+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $ac_pt_AR in +else $as_nop + case $ac_pt_AR in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_AR="$ac_pt_AR" # Let the user override the test with a path. ;; @@ -7975,7 +7824,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi ac_pt_AR=$ac_cv_path_ac_pt_AR @@ -8107,8 +7955,8 @@ printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ +else $as_nop + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done @@ -8133,10 +7981,9 @@ do as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in #( +case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -8171,8 +8018,7 @@ IFS=$as_save_IFS else ac_cv_path_SED=$SED fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } @@ -8197,8 +8043,8 @@ printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then @@ -8220,10 +8066,9 @@ do as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in #( +case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -8259,23 +8104,20 @@ else ac_cv_path_EGREP=$EGREP fi - fi ;; -esac + fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" - EGREP_TRADITIONAL=$EGREP - ac_cv_path_EGREP_TRADITIONAL=$EGREP { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 printf %s "checking for fgrep... " >&6; } if test ${ac_cv_path_FGREP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 +else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then @@ -8297,10 +8139,9 @@ do as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in #( +case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -8336,8 +8177,7 @@ else ac_cv_path_FGREP=$FGREP fi - fi ;; -esac + fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 printf "%s\n" "$ac_cv_path_FGREP" >&6; } @@ -8368,9 +8208,8 @@ test -z "$GREP" && GREP=grep if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else case e in #( - e) with_gnu_ld=no ;; -esac +else $as_nop + with_gnu_ld=no fi ac_prog=ld @@ -8415,8 +8254,8 @@ fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -z "$LD"; then +else $as_nop + if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs @@ -8439,8 +8278,7 @@ else case e in #( IFS=$lt_save_ifs else lt_cv_path_LD=$LD # Let the user override the test with a path. -fi ;; -esac +fi fi LD=$lt_cv_path_LD @@ -8457,8 +8295,8 @@ printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 -else case e in #( - e) # I'd rather use --version here, but apparently some GNU lds only accept -v. +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes @@ -8466,7 +8304,6 @@ case `$LD -v 2>&1 </dev/null` in *) lt_cv_prog_gnu_ld=no ;; -esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 @@ -8486,8 +8323,8 @@ printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test ${lt_cv_path_NM+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$NM"; then +else $as_nop + if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else @@ -8534,8 +8371,7 @@ else IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} -fi ;; -esac +fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 printf "%s\n" "$lt_cv_path_NM" >&6; } @@ -8556,8 +8392,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DUMPBIN+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$DUMPBIN"; then +else $as_nop + if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -8579,8 +8415,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then @@ -8606,8 +8441,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DUMPBIN+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_DUMPBIN"; then +else $as_nop + if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -8629,8 +8464,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then @@ -8684,8 +8518,8 @@ printf %s "checking the name lister ($NM) interface... " >&6; } if test ${lt_cv_nm_interface+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_nm_interface="BSD nm" +else $as_nop + lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) @@ -8698,8 +8532,7 @@ else case e in #( if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi - rm -f conftest* ;; -esac + rm -f conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 printf "%s\n" "$lt_cv_nm_interface" >&6; } @@ -8721,8 +8554,8 @@ printf %s "checking the maximum length of command line arguments... " >&6; } if test ${lt_cv_sys_max_cmd_len+y} then : printf %s "(cached) " >&6 -else case e in #( - e) i=0 +else $as_nop + i=0 teststring=ABCD case $build_os in @@ -8844,8 +8677,7 @@ else case e in #( fi ;; esac - ;; -esac + fi if test -n "$lt_cv_sys_max_cmd_len"; then @@ -8902,8 +8734,8 @@ printf %s "checking how to convert $build file names to $host format... " >&6; } if test ${lt_cv_to_host_file_cmd+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $host in +else $as_nop + case $host in *-*-mingw* ) case $build in *-*-mingw* | *-*-windows* ) # actually msys @@ -8934,8 +8766,7 @@ else case e in #( lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac - ;; -esac + fi to_host_file_cmd=$lt_cv_to_host_file_cmd @@ -8951,8 +8782,8 @@ printf %s "checking how to convert $build file names to toolchain format... " >& if test ${lt_cv_to_tool_file_cmd+y} then : printf %s "(cached) " >&6 -else case e in #( - e) #assume ordinary cross tools, or native build. +else $as_nop + #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* | *-*-windows* ) @@ -8963,8 +8794,7 @@ case $host in esac ;; esac - ;; -esac + fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd @@ -8980,9 +8810,8 @@ printf %s "checking for $LD option to reload object files... " >&6; } if test ${lt_cv_ld_reload_flag+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_ld_reload_flag='-r' ;; -esac +else $as_nop + lt_cv_ld_reload_flag='-r' fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } @@ -9022,8 +8851,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_FILECMD+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$FILECMD"; then +else $as_nop + if test -n "$FILECMD"; then ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9046,8 +8875,7 @@ done IFS=$as_save_IFS test -z "$ac_cv_prog_FILECMD" && ac_cv_prog_FILECMD=":" -fi ;; -esac +fi fi FILECMD=$ac_cv_prog_FILECMD if test -n "$FILECMD"; then @@ -9073,8 +8901,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OBJDUMP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$OBJDUMP"; then +else $as_nop + if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9096,8 +8924,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then @@ -9119,8 +8946,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OBJDUMP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_OBJDUMP"; then +else $as_nop + if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9142,8 +8969,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then @@ -9184,8 +9010,8 @@ printf %s "checking how to recognize dependent libraries... " >&6; } if test ${lt_cv_deplibs_check_method+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_file_magic_cmd='$MAGIC_CMD' +else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support @@ -9385,8 +9211,7 @@ os2*) lt_cv_deplibs_check_method=pass_all ;; esac - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } @@ -9438,8 +9263,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DLLTOOL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$DLLTOOL"; then +else $as_nop + if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9461,8 +9286,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then @@ -9484,8 +9308,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DLLTOOL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_DLLTOOL"; then +else $as_nop + if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9507,8 +9331,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then @@ -9550,8 +9373,8 @@ printf %s "checking how to associate runtime and link libraries... " >&6; } if test ${lt_cv_sharedlib_from_linklib_cmd+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_sharedlib_from_linklib_cmd='unknown' +else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | windows* | pw32* | cegcc*) @@ -9571,8 +9394,7 @@ cygwin* | mingw* | windows* | pw32* | cegcc*) lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } @@ -9593,8 +9415,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_RANLIB+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$RANLIB"; then +else $as_nop + if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9616,8 +9438,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then @@ -9639,8 +9460,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_RANLIB+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_RANLIB"; then +else $as_nop + if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9662,8 +9483,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then @@ -9699,8 +9519,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AR+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$AR"; then +else $as_nop + if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9722,8 +9542,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then @@ -9749,8 +9568,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AR+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_AR"; then +else $as_nop + if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9772,8 +9591,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then @@ -9835,8 +9653,8 @@ printf %s "checking for archiver @FILE support... " >&6; } if test ${lt_cv_ar_at_file+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_ar_at_file=no +else $as_nop + lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -9873,8 +9691,7 @@ then : fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 printf "%s\n" "$lt_cv_ar_at_file" >&6; } @@ -9899,8 +9716,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$STRIP"; then +else $as_nop + if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9922,8 +9739,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then @@ -9945,8 +9761,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_STRIP"; then +else $as_nop + if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9968,8 +9784,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then @@ -10056,8 +9871,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AWK+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$AWK"; then +else $as_nop + if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -10079,8 +9894,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then @@ -10129,8 +9943,8 @@ printf %s "checking command to parse $NM output from $compiler object... " >&6; if test ${lt_cv_sys_global_symbol_pipe+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] @@ -10382,8 +10196,7 @@ _LT_EOF lt_cv_sys_global_symbol_pipe= fi done - ;; -esac + fi if test -z "$lt_cv_sys_global_symbol_pipe"; then @@ -10447,9 +10260,8 @@ printf %s "checking for sysroot... " >&6; } if test ${with_sysroot+y} then : withval=$with_sysroot; -else case e in #( - e) with_sysroot=no ;; -esac +else $as_nop + with_sysroot=no fi @@ -10486,8 +10298,8 @@ printf %s "checking for a working dd... " >&6; } if test ${ac_cv_path_lt_DD+y} then : printf %s "(cached) " >&6 -else case e in #( - e) printf 0123456789abcdef0123456789abcdef >conftest.i +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then @@ -10523,8 +10335,7 @@ else ac_cv_path_lt_DD=$lt_DD fi -rm -f conftest.i conftest2.i conftest.out ;; -esac +rm -f conftest.i conftest2.i conftest.out fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 printf "%s\n" "$ac_cv_path_lt_DD" >&6; } @@ -10535,8 +10346,8 @@ printf %s "checking how to truncate binary pipes... " >&6; } if test ${lt_cv_truncate_bin+y} then : printf %s "(cached) " >&6 -else case e in #( - e) printf 0123456789abcdef0123456789abcdef >conftest.i +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then @@ -10544,8 +10355,7 @@ if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; the && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ;; -esac +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -10755,8 +10565,8 @@ printf %s "checking whether the C compiler needs -belf... " >&6; } if test ${lt_cv_cc_needs_belf+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_ext=c +else $as_nop + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -10776,9 +10586,8 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_cc_needs_belf=yes -else case e in #( - e) lt_cv_cc_needs_belf=no ;; -esac +else $as_nop + lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -10787,8 +10596,7 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } @@ -10846,8 +10654,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$MANIFEST_TOOL"; then +else $as_nop + if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -10869,8 +10677,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then @@ -10892,8 +10699,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_MANIFEST_TOOL"; then +else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -10915,8 +10722,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then @@ -10948,16 +10754,15 @@ printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if test ${lt_cv_path_manifest_tool+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_path_manifest_tool=no +else $as_nop + lt_cv_path_manifest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_manifest_tool=yes fi - rm -f conftest* ;; -esac + rm -f conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_manifest_tool" >&5 printf "%s\n" "$lt_cv_path_manifest_tool" >&6; } @@ -10980,8 +10785,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DSYMUTIL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$DSYMUTIL"; then +else $as_nop + if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11003,8 +10808,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then @@ -11026,8 +10830,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_DSYMUTIL"; then +else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11049,8 +10853,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then @@ -11084,8 +10887,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_NMEDIT+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$NMEDIT"; then +else $as_nop + if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11107,8 +10910,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then @@ -11130,8 +10932,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_NMEDIT+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_NMEDIT"; then +else $as_nop + if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11153,8 +10955,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then @@ -11188,8 +10989,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_LIPO+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$LIPO"; then +else $as_nop + if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11211,8 +11012,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then @@ -11234,8 +11034,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_LIPO+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_LIPO"; then +else $as_nop + if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11257,8 +11057,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then @@ -11292,8 +11091,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$OTOOL"; then +else $as_nop + if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11315,8 +11114,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then @@ -11338,8 +11136,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_OTOOL"; then +else $as_nop + if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11361,8 +11159,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then @@ -11396,8 +11193,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL64+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$OTOOL64"; then +else $as_nop + if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11419,8 +11216,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then @@ -11442,8 +11238,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL64+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_OTOOL64"; then +else $as_nop + if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11465,8 +11261,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then @@ -11523,8 +11318,8 @@ printf %s "checking for -single_module linker flag... " >&6; } if test ${lt_cv_apple_cc_single_mod+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_apple_cc_single_mod=no +else $as_nop + lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE @@ -11550,8 +11345,7 @@ else case e in #( fi rm -rf libconftest.dylib* rm -f conftest.* - fi ;; -esac + fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } @@ -11563,8 +11357,8 @@ printf %s "checking for -no_fixup_chains linker flag... " >&6; } if test ${lt_cv_support_no_fixup_chains+y} then : printf %s "(cached) " >&6 -else case e in #( - e) save_LDFLAGS=$LDFLAGS +else $as_nop + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11580,17 +11374,15 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_support_no_fixup_chains=yes -else case e in #( - e) lt_cv_support_no_fixup_chains=no - ;; -esac +else $as_nop + lt_cv_support_no_fixup_chains=no + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_support_no_fixup_chains" >&5 printf "%s\n" "$lt_cv_support_no_fixup_chains" >&6; } @@ -11600,8 +11392,8 @@ printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_ld_exported_symbols_list=no +else $as_nop + lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" @@ -11619,15 +11411,13 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_ld_exported_symbols_list=yes -else case e in #( - e) lt_cv_ld_exported_symbols_list=no ;; -esac +else $as_nop + lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } @@ -11637,8 +11427,8 @@ printf %s "checking for -force_load linker flag... " >&6; } if test ${lt_cv_ld_force_load+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_ld_force_load=no +else $as_nop + lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF @@ -11663,8 +11453,7 @@ _LT_EOF fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 printf "%s\n" "$lt_cv_ld_force_load" >&6; } @@ -11796,9 +11585,8 @@ then : IFS=$lt_save_ifs ;; esac -else case e in #( - e) enable_shared=yes ;; -esac +else $as_nop + enable_shared=yes fi @@ -11829,9 +11617,8 @@ then : IFS=$lt_save_ifs ;; esac -else case e in #( - e) enable_static=yes ;; -esac +else $as_nop + enable_static=yes fi @@ -11861,8 +11648,8 @@ then : IFS=$lt_save_ifs ;; esac -else case e in #( - e) # Check whether --with-pic was given. +else $as_nop + # Check whether --with-pic was given. if test ${with_pic+y} then : withval=$with_pic; lt_p=${PACKAGE-default} @@ -11881,13 +11668,11 @@ then : IFS=$lt_save_ifs ;; esac -else case e in #( - e) pic_mode=default ;; -esac +else $as_nop + pic_mode=default fi - ;; -esac + fi @@ -11917,9 +11702,8 @@ then : IFS=$lt_save_ifs ;; esac -else case e in #( - e) enable_fast_install=yes ;; -esac +else $as_nop + enable_fast_install=yes fi @@ -11945,8 +11729,8 @@ then : ;; esac lt_cv_with_aix_soname=$enable_aix_soname -else case e in #( - e) # Check whether --with-aix-soname was given. +else $as_nop + # Check whether --with-aix-soname was given. if test ${with_aix_soname+y} then : withval=$with_aix_soname; case $withval in @@ -11957,20 +11741,17 @@ then : ;; esac lt_cv_with_aix_soname=$with_aix_soname -else case e in #( - e) if test ${lt_cv_with_aix_soname+y} +else $as_nop + if test ${lt_cv_with_aix_soname+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_with_aix_soname=aix ;; -esac +else $as_nop + lt_cv_with_aix_soname=aix fi - ;; -esac + fi - enable_aix_soname=$lt_cv_with_aix_soname ;; -esac + enable_aix_soname=$lt_cv_with_aix_soname fi with_aix_soname=$enable_aix_soname @@ -12062,8 +11843,8 @@ printf %s "checking for objdir... " >&6; } if test ${lt_cv_objdir+y} then : printf %s "(cached) " >&6 -else case e in #( - e) rm -f .libs 2>/dev/null +else $as_nop + rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs @@ -12071,8 +11852,7 @@ else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi -rmdir .libs 2>/dev/null ;; -esac +rmdir .libs 2>/dev/null fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 printf "%s\n" "$lt_cv_objdir" >&6; } @@ -12133,8 +11913,8 @@ printf %s "checking for ${ac_tool_prefix}file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $MAGIC_CMD in +else $as_nop + case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; @@ -12177,7 +11957,6 @@ _LT_EOF IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; -esac ;; esac fi @@ -12201,8 +11980,8 @@ printf %s "checking for file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $MAGIC_CMD in +else $as_nop + case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; @@ -12245,7 +12024,6 @@ _LT_EOF IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; -esac ;; esac fi @@ -12341,8 +12119,8 @@ printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test ${lt_cv_prog_compiler_rtti_exceptions+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_rtti_exceptions=no +else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment @@ -12370,8 +12148,7 @@ else case e in #( fi fi $RM conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } @@ -12751,9 +12528,8 @@ printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;; -esac +else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } @@ -12768,8 +12544,8 @@ printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; if test ${lt_cv_prog_compiler_pic_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_pic_works=no +else $as_nop + lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment @@ -12797,8 +12573,7 @@ else case e in #( fi fi $RM conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } @@ -12834,8 +12609,8 @@ printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; if test ${lt_cv_prog_compiler_static_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_static_works=no +else $as_nop + lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext @@ -12856,8 +12631,7 @@ else case e in #( fi $RM -r conftest* LDFLAGS=$save_LDFLAGS - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } @@ -12879,8 +12653,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_c_o=no +else $as_nop + lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest @@ -12920,8 +12694,7 @@ else case e in #( cd .. $RM -r conftest $RM conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -12936,8 +12709,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_c_o=no +else $as_nop + lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest @@ -12977,8 +12750,7 @@ else case e in #( cd .. $RM -r conftest $RM conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -13577,8 +13349,8 @@ else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -13610,8 +13382,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi - ;; -esac + fi aix_libpath=$lt_cv_aix_libpath_ @@ -13633,8 +13404,8 @@ else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -13666,8 +13437,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi - ;; -esac + fi aix_libpath=$lt_cv_aix_libpath_ @@ -13918,8 +13688,8 @@ printf %s "checking if $CC understands -b... " >&6; } if test ${lt_cv_prog_compiler__b+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler__b=no +else $as_nop + lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext @@ -13940,8 +13710,7 @@ else case e in #( fi $RM -r conftest* LDFLAGS=$save_LDFLAGS - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } @@ -13989,8 +13758,8 @@ printf %s "checking whether the $host_os linker accepts -exported_symbol... " >& if test ${lt_cv_irix_exported_symbol+y} then : printf %s "(cached) " >&6 -else case e in #( - e) save_LDFLAGS=$LDFLAGS +else $as_nop + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13999,14 +13768,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_irix_exported_symbol=yes -else case e in #( - e) lt_cv_irix_exported_symbol=no ;; -esac +else $as_nop + lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS ;; -esac + LDFLAGS=$save_LDFLAGS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } @@ -14339,8 +14106,8 @@ printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc+y} then : printf %s "(cached) " >&6 -else case e in #( - e) $RM conftest* +else $as_nop + $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -14376,8 +14143,7 @@ else case e in #( cat conftest.err 1>&5 fi $RM conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } @@ -14958,9 +14724,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : shlibpath_var=LD_LIBRARY_PATH -else case e in #( - e) shlibpath_var=LD_32_LIBRARY_PATH ;; -esac +else $as_nop + shlibpath_var=LD_32_LIBRARY_PATH fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; @@ -15141,8 +14906,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_shlibpath_overrides_runpath=no +else $as_nop + lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ @@ -15169,8 +14934,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir - ;; -esac + fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath @@ -15802,9 +15566,8 @@ printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;; -esac +else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } @@ -15819,8 +15582,8 @@ printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; if test ${lt_cv_prog_compiler_pic_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_pic_works=no +else $as_nop + lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment @@ -15848,8 +15611,7 @@ else case e in #( fi fi $RM conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } @@ -15879,8 +15641,8 @@ printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; if test ${lt_cv_prog_compiler_static_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) lt_cv_prog_compiler_static_works=no +else $as_nop + lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext @@ -15901,8 +15663,7 @@ else case e in #( fi $RM -r conftest* LDFLAGS=$save_LDFLAGS - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } @@ -16123,22 +15884,16 @@ printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (void); + builtin and then its argument prototype would still apply. */ +char dlopen (); int main (void) { @@ -16150,27 +15905,24 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes -else case e in #( - e) ac_cv_lib_dl_dlopen=no ;; -esac +else $as_nop + ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else case e in #( - e) +else $as_nop + lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes - ;; -esac + fi ;; @@ -16188,28 +15940,22 @@ fi if test "x$ac_cv_func_shl_load" = xyes then : lt_cv_dlopen=shl_load -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 printf %s "checking for shl_load in -ldld... " >&6; } if test ${ac_cv_lib_dld_shl_load+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (void); + builtin and then its argument prototype would still apply. */ +char shl_load (); int main (void) { @@ -16221,47 +15967,39 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_shl_load=yes -else case e in #( - e) ac_cv_lib_dld_shl_load=no ;; -esac +else $as_nop + ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else case e in #( - e) ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes then : lt_cv_dlopen=dlopen -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (void); + builtin and then its argument prototype would still apply. */ +char dlopen (); int main (void) { @@ -16273,42 +16011,34 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes -else case e in #( - e) ac_cv_lib_dl_dlopen=no ;; -esac +else $as_nop + ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 printf %s "checking for dlopen in -lsvld... " >&6; } if test ${ac_cv_lib_svld_dlopen+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (void); + builtin and then its argument prototype would still apply. */ +char dlopen (); int main (void) { @@ -16320,42 +16050,34 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_svld_dlopen=yes -else case e in #( - e) ac_cv_lib_svld_dlopen=no ;; -esac +else $as_nop + ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 printf %s "checking for dld_link in -ldld... " >&6; } if test ${ac_cv_lib_dld_dld_link+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (void); + builtin and then its argument prototype would still apply. */ +char dld_link (); int main (void) { @@ -16367,14 +16089,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_dld_link=yes -else case e in #( - e) ac_cv_lib_dld_dld_link=no ;; -esac +else $as_nop + ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } @@ -16383,24 +16103,19 @@ then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi - ;; -esac + fi - ;; -esac + fi - ;; -esac + fi - ;; -esac + fi - ;; -esac + fi ;; @@ -16428,8 +16143,8 @@ printf %s "checking whether a program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test yes = "$cross_compiling"; then : +else $as_nop + if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -16523,8 +16238,7 @@ _LT_EOF fi rm -fr conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 printf "%s\n" "$lt_cv_dlopen_self" >&6; } @@ -16536,8 +16250,8 @@ printf %s "checking whether a statically linked program can dlopen itself... " > if test ${lt_cv_dlopen_self_static+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test yes = "$cross_compiling"; then : +else $as_nop + if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -16631,8 +16345,7 @@ _LT_EOF fi rm -fr conftest* - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } @@ -16818,8 +16531,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKG_CONFIG+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $PKG_CONFIG in +else $as_nop + case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; @@ -16844,7 +16557,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG @@ -16867,8 +16579,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $ac_pt_PKG_CONFIG in +else $as_nop + case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; @@ -16893,7 +16605,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG @@ -17235,132 +16946,265 @@ ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default" if test "x$ac_cv_type_int8_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define int8_t signed char" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default" if test "x$ac_cv_type_int16_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define int16_t short" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" if test "x$ac_cv_type_int32_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define int32_t int" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default" if test "x$ac_cv_type_int64_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define int64_t long long" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default" if test "x$ac_cv_type_uint8_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define uint8_t unsigned char" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default" if test "x$ac_cv_type_uint16_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define uint16_t unsigned short" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" if test "x$ac_cv_type_uint32_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define uint32_t unsigned int" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default" if test "x$ac_cv_type_uint64_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define uint64_t unsigned long long" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define size_t unsigned int" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" if test "x$ac_cv_type_ssize_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define ssize_t int" >>confdefs.h - ;; -esac + fi -ac_fn_c_check_type "$LINENO" "uid_t" "ac_cv_type_uid_t" "$ac_includes_default" -if test "x$ac_cv_type_uid_t" = xyes +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" then : -else case e in #( - e) -printf "%s\n" "#define uid_t int" >>confdefs.h - ;; -esac +else $as_nop + # Broken: fails on valid input. +continue fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext -ac_fn_c_check_type "$LINENO" "gid_t" "ac_cv_type_gid_t" "$ac_includes_default" -if test "x$ac_cv_type_gid_t" = xyes +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok then : -else case e in #( - e) +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +printf %s "checking for uid_t in sys/types.h... " >&6; } +if test ${ac_cv_type_uid_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1 +then : + ac_cv_type_uid_t=yes +else $as_nop + ac_cv_type_uid_t=no +fi +rm -rf conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +printf "%s\n" "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +printf "%s\n" "#define uid_t int" >>confdefs.h + + printf "%s\n" "#define gid_t int" >>confdefs.h - ;; -esac + fi @@ -17369,8 +17213,8 @@ fi if test "x$ac_cv_type_pid_t" = xyes then : -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined _WIN64 && !defined __CYGWIN__ @@ -17389,16 +17233,14 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_pid_type='int' -else case e in #( - e) ac_pid_type='__int64' ;; -esac +else $as_nop + ac_pid_type='__int64' fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h - ;; -esac + fi @@ -17406,11 +17248,10 @@ ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" if test "x$ac_cv_type_off_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define off_t long int" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" " @@ -17423,11 +17264,10 @@ $ac_includes_default if test "x$ac_cv_type_u_char" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define u_char unsigned char" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "rlim_t" "ac_cv_type_rlim_t" " @@ -17440,11 +17280,10 @@ $ac_includes_default if test "x$ac_cv_type_rlim_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define rlim_t unsigned long" >>confdefs.h - ;; -esac + fi @@ -17461,11 +17300,10 @@ $ac_includes_default if test "x$ac_cv_type_socklen_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define socklen_t int" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" " @@ -17481,11 +17319,10 @@ $ac_includes_default if test "x$ac_cv_type_in_addr_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define in_addr_t uint32_t" >>confdefs.h - ;; -esac + fi ac_fn_c_check_type "$LINENO" "in_port_t" "ac_cv_type_in_port_t" " @@ -17501,11 +17338,10 @@ $ac_includes_default if test "x$ac_cv_type_in_port_t" = xyes then : -else case e in #( - e) +else $as_nop + printf "%s\n" "#define in_port_t uint16_t" >>confdefs.h - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memcmp compares unsigned" >&5 @@ -17524,8 +17360,8 @@ printf "%s\n" "#define MEMCMP_IS_BROKEN 1" >>confdefs.h esac -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> @@ -17544,8 +17380,8 @@ if ac_fn_c_try_run "$LINENO" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } printf "%s\n" "#define MEMCMP_IS_BROKEN 1" >>confdefs.h @@ -17556,26 +17392,24 @@ printf "%s\n" "#define MEMCMP_IS_BROKEN 1" >>confdefs.h ;; esac - ;; -esac + fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5 printf %s "checking size of time_t... " >&6; } if test ${ac_cv_sizeof_time_t+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" " +else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" " $ac_includes_default #ifdef TIME_WITH_SYS_TIME # include <sys/time.h> @@ -17591,19 +17425,17 @@ $ac_includes_default " then : -else case e in #( - e) if test "$ac_cv_type_time_t" = yes; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +else $as_nop + if test "$ac_cv_type_time_t" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (time_t) -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_time_t=0 - fi ;; -esac + fi fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5 printf "%s\n" "$ac_cv_sizeof_time_t" >&6; } @@ -17615,30 +17447,28 @@ printf "%s\n" "#define SIZEOF_TIME_T $ac_cv_sizeof_time_t" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 printf %s "checking size of size_t... " >&6; } if test ${ac_cv_sizeof_size_t+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default" +else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default" then : -else case e in #( - e) if test "$ac_cv_type_size_t" = yes; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +else $as_nop + if test "$ac_cv_type_size_t" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (size_t) -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_size_t=0 - fi ;; -esac + fi fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 printf "%s\n" "$ac_cv_sizeof_size_t" >&6; } @@ -17655,9 +17485,8 @@ printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h if test ${enable_rpath+y} then : enableval=$enable_rpath; enable_rpath=$enableval -else case e in #( - e) enable_rpath=yes ;; -esac +else $as_nop + enable_rpath=yes fi if test "x$enable_rpath" = xno; then @@ -17673,21 +17502,15 @@ printf %s "checking for library containing inet_pton... " >&6; } if test ${ac_cv_search_inet_pton+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char inet_pton (void); + builtin and then its argument prototype would still apply. */ +char inet_pton (); int main (void) { @@ -17718,13 +17541,11 @@ done if test ${ac_cv_search_inet_pton+y} then : -else case e in #( - e) ac_cv_search_inet_pton=no ;; -esac +else $as_nop + ac_cv_search_inet_pton=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5 printf "%s\n" "$ac_cv_search_inet_pton" >&6; } @@ -17740,21 +17561,15 @@ printf %s "checking for library containing socket... " >&6; } if test ${ac_cv_search_socket+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char socket (void); + builtin and then its argument prototype would still apply. */ +char socket (); int main (void) { @@ -17785,13 +17600,11 @@ done if test ${ac_cv_search_socket+y} then : -else case e in #( - e) ac_cv_search_socket=no ;; -esac +else $as_nop + ac_cv_search_socket=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 printf "%s\n" "$ac_cv_search_socket" >&6; } @@ -17811,8 +17624,8 @@ printf %s "checking for working chown... " >&6; } if test ${ac_cv_func_chown_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test "$cross_compiling" = yes +else $as_nop + if test "$cross_compiling" = yes then : case "$host_os" in # (( # Guess yes on glibc systems. @@ -17820,8 +17633,8 @@ then : # If we don't know, assume the worst. *) ac_cv_func_chown_works=no ;; esac -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include <fcntl.h> @@ -17849,18 +17662,15 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : ac_cv_func_chown_works=yes -else case e in #( - e) ac_cv_func_chown_works=no ;; -esac +else $as_nop + ac_cv_func_chown_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.chown - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 printf "%s\n" "$ac_cv_func_chown_works" >&6; } @@ -17893,19 +17703,19 @@ printf %s "checking for working fork... " >&6; } if test ${ac_cv_func_fork_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test "$cross_compiling" = yes +else $as_nop + if test "$cross_compiling" = yes then : ac_cv_func_fork_works=cross -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main (void) { - /* By R. Kuhlmann. */ + /* By Ruediger Kuhlmann. */ return fork () < 0; ; @@ -17915,16 +17725,13 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : ac_cv_func_fork_works=yes -else case e in #( - e) ac_cv_func_fork_works=no ;; -esac +else $as_nop + ac_cv_func_fork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 printf "%s\n" "$ac_cv_func_fork_works" >&6; } @@ -17952,12 +17759,12 @@ printf %s "checking for working vfork... " >&6; } if test ${ac_cv_func_vfork_works+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test "$cross_compiling" = yes +else $as_nop + if test "$cross_compiling" = yes then : ac_cv_func_vfork_works=cross -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ $ac_includes_default @@ -18068,16 +17875,13 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : ac_cv_func_vfork_works=yes -else case e in #( - e) ac_cv_func_vfork_works=no ;; -esac +else $as_nop + ac_cv_func_vfork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 printf "%s\n" "$ac_cv_func_vfork_works" >&6; } @@ -18107,97 +17911,72 @@ fi printf "%s\n" "#define RETSIGTYPE void" >>confdefs.h -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for declarations of fseeko and ftello" >&5 -printf %s "checking for declarations of fseeko and ftello... " >&6; } -if test ${ac_cv_func_fseeko_ftello+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } +if test ${ac_cv_sys_largefile_source+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#if defined __hpux && !defined _LARGEFILE_SOURCE -# include <limits.h> -# if LONG_MAX >> 31 == 0 -# error "32-bit HP-UX 11/ia64 needs _LARGEFILE_SOURCE for fseeko in C++" -# endif -#endif #include <sys/types.h> /* for off_t */ -#include <stdio.h> - + #include <stdio.h> int main (void) { - - int (*fp1) (FILE *, off_t, int) = fseeko; - off_t (*fp2) (FILE *) = ftello; - return fseeko (stdin, 0, 0) - && fp1 (stdin, 0, 0) - && ftello (stdin) >= 0 - && fp2 (stdin) >= 0; - +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - ac_cv_func_fseeko_ftello=yes -else case e in #( - e) ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE=1" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_sys_largefile_source=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#if defined __hpux && !defined _LARGEFILE_SOURCE -# include <limits.h> -# if LONG_MAX >> 31 == 0 -# error "32-bit HP-UX 11/ia64 needs _LARGEFILE_SOURCE for fseeko in C++" -# endif -#endif +#define _LARGEFILE_SOURCE 1 #include <sys/types.h> /* for off_t */ -#include <stdio.h> - + #include <stdio.h> int main (void) { - - int (*fp1) (FILE *, off_t, int) = fseeko; - off_t (*fp2) (FILE *) = ftello; - return fseeko (stdin, 0, 0) - && fp1 (stdin, 0, 0) - && ftello (stdin) >= 0 - && fp2 (stdin) >= 0; - +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - ac_cv_func_fseeko_ftello="need _LARGEFILE_SOURCE" -else case e in #( - e) ac_cv_func_fseeko_ftello=no ;; -esac + ac_cv_sys_largefile_source=1; break fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 +printf "%s\n" "$ac_cv_sys_largefile_source" >&6; } +case $ac_cv_sys_largefile_source in #( + no | unknown) ;; + *) +printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h +;; esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fseeko_ftello" >&5 -printf "%s\n" "$ac_cv_func_fseeko_ftello" >&6; } -if test "$ac_cv_func_fseeko_ftello" != no -then : - -printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h +rm -rf conftest* -fi -if test "$ac_cv_func_fseeko_ftello" = "need _LARGEFILE_SOURCE" -then : +# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug +# in glibc 2.1.3, but that breaks too many other things. +# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. +if test $ac_cv_sys_largefile_source != unknown; then -printf "%s\n" "#define _LARGEFILE_SOURCE 1" >>confdefs.h +printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h fi @@ -18207,34 +17986,31 @@ if test ${enable_largefile+y} then : enableval=$enable_largefile; fi -if test "$enable_largefile,$enable_year2038" != no,no -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5 -printf %s "checking for $CC option to enable large file support... " >&6; } -if test ${ac_cv_sys_largefile_opts+y} + +if test "$enable_largefile" != no; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +printf %s "checking for special C compiler options needed for large files... " >&6; } +if test ${ac_cv_sys_largefile_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_save_CC="$CC" - ac_opt_found=no - for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do - if test x"$ac_opt" != x"none needed" -then : - CC="$ac_save_CC $ac_opt" -fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> -#ifndef FTYPE -# define FTYPE off_t -#endif - /* Check that FTYPE can represent 2**63 - 1 correctly. - We can't simply define LARGE_FTYPE to be 9223372036854775807, + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) - int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721 - && LARGE_FTYPE % 2147483647 == 1) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main (void) @@ -18244,88 +18020,142 @@ main (void) return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - if test x"$ac_opt" = x"none needed" -then : - # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. - CC="$CC -DFTYPE=ino_t" if ac_fn_c_try_compile "$LINENO" then : - -else case e in #( - e) CC="$CC -D_FILE_OFFSET_BITS=64" - if ac_fn_c_try_compile "$LINENO" -then : - ac_opt='-D_FILE_OFFSET_BITS=64' + break fi -rm -f core conftest.err conftest.$ac_objext conftest.beam ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi fi - ac_cv_sys_largefile_opts=$ac_opt - ac_opt_found=yes +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if test ${ac_cv_sys_file_offset_bits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - test $ac_opt_found = no || break - done - CC="$ac_save_CC" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ - test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;; -esac + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_file_offset_bits=64; break fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_opts" >&5 -printf "%s\n" "$ac_cv_sys_largefile_opts" >&6; } - -ac_have_largefile=yes -case $ac_cv_sys_largefile_opts in #( - "none needed") : - ;; #( - "supported through gnulib") : - ;; #( - "support not detected") : - ac_have_largefile=no ;; #( - "-D_FILE_OFFSET_BITS=64") : - -printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h - ;; #( - "-D_LARGE_FILES=1") : - -printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h - ;; #( - "-n32") : - CC="$CC -n32" ;; #( - *) : - as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;; +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h +;; esac - -if test "$enable_year2038" != no -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5 -printf %s "checking for $CC option for timestamps after 2038... " >&6; } -if test ${ac_cv_sys_year2038_opts+y} +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +printf %s "checking for _LARGE_FILES value needed for large files... " >&6; } +if test ${ac_cv_sys_large_files+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_save_CPPFLAGS="$CPPFLAGS" - ac_opt_found=no - for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do - if test x"$ac_opt" != x"none needed" +else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" then : - CPPFLAGS="$ac_save_CPPFLAGS $ac_opt" + ac_cv_sys_large_files=no; break fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - #include <time.h> - /* Check that time_t can represent 2**32 - 1 correctly. */ - #define LARGE_TIME_T \\ - ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) - int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 - && LARGE_TIME_T % 65537 == 0) - ? 1 : -1]; - +#define _LARGE_FILES 1 +#include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main (void) { @@ -18336,47 +18166,25 @@ main (void) _ACEOF if ac_fn_c_try_compile "$LINENO" then : - ac_cv_sys_year2038_opts="$ac_opt" - ac_opt_found=yes + ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - test $ac_opt_found = no || break - done - CPPFLAGS="$ac_save_CPPFLAGS" - test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected" ;; -esac + ac_cv_sys_large_files=unknown + break +done fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5 -printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; } - -ac_have_year2038=yes -case $ac_cv_sys_year2038_opts in #( - "none needed") : - ;; #( - "support not detected") : - ac_have_year2038=no ;; #( - "-D_TIME_BITS=64") : - -printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h - ;; #( - "-D__MINGW_USE_VC2005_COMPAT") : - -printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h - ;; #( - "-U_USE_32_BIT_TIME_T"*) : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} -as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It -will stop working after mid-January 2038. Remove -_USE_32BIT_TIME_T from the compiler flags. -See 'config.log' for more details" "$LINENO" 5; } ;; #( - *) : - as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;; +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +printf "%s\n" "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h +;; esac - +rm -rf conftest* + fi fi -fi @@ -18386,8 +18194,8 @@ cache=_D_LARGEFILE_SOURCE_1 if eval test \${cv_prog_cc_flag_needed_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include <stdio.h> int test(void) { @@ -18413,8 +18221,7 @@ fi fi rm -f conftest conftest.c conftest.o - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then @@ -18458,8 +18265,8 @@ then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: crosscompile(yes)" >&5 printf "%s\n" "crosscompile(yes)" >&6; } -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18594,19 +18401,17 @@ then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } printf "%s\n" "#define NONBLOCKING_IS_BROKEN 1" >>confdefs.h - ;; -esac + fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi @@ -18644,11 +18449,10 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define MKDIR_HAS_ONE_ARG 1" >>confdefs.h -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -18666,8 +18470,8 @@ if test c${cross_compiling} = cno; then if test "$cross_compiling" = yes then : eval "ac_cv_c_strptime_works=maybe" -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE 600 @@ -18682,13 +18486,11 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : eval "ac_cv_c_strptime_works=yes" -else case e in #( - e) eval "ac_cv_c_strptime_works=no" ;; -esac +else $as_nop + eval "ac_cv_c_strptime_works=no" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi else @@ -18709,14 +18511,13 @@ printf "%s\n" "#define STRPTIME_WORKS 1" >>confdefs.h fi -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" strptime.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strptime.$ac_objext" ;; esac - ;; -esac + fi done @@ -18743,9 +18544,8 @@ fi if test ${enable_systemd+y} then : enableval=$enable_systemd; -else case e in #( - e) enable_systemd=no ;; -esac +else $as_nop + enable_systemd=no fi have_systemd=no @@ -18826,8 +18626,8 @@ See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -18837,7 +18637,7 @@ and SYSTEMD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } else SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS @@ -18921,8 +18721,8 @@ See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -18932,7 +18732,7 @@ and SYSTEMD_DAEMON_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } else SYSTEMD_DAEMON_CFLAGS=$pkg_cv_SYSTEMD_DAEMON_CFLAGS SYSTEMD_DAEMON_LIBS=$pkg_cv_SYSTEMD_DAEMON_LIBS @@ -19010,8 +18810,8 @@ printf "%s\n" "#define UNBOUND_ALLOC_STATS 1" >>confdefs.h ASYNCLOOK_ALLOCCHECK_EXTRA_OBJ="alloc.lo" -else case e in #( - e) +else $as_nop + if test x_$enable_alloc_lite = x_yes then : @@ -19019,21 +18819,21 @@ then : printf "%s\n" "#define UNBOUND_ALLOC_LITE 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 printf %s "checking for GNU libc compatible malloc... " >&6; } if test ${ac_cv_func_malloc_0_nonnull+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + if test "$cross_compiling" = yes then : ac_cv_func_malloc_0_nonnull="no (crosscompile)" -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H #include <stdlib.h> @@ -19053,17 +18853,14 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : ac_cv_func_malloc_0_nonnull=no -else case e in #( - e) ac_cv_func_malloc_0_nonnull=yes ;; -esac +else $as_nop + ac_cv_func_malloc_0_nonnull=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; } @@ -19072,8 +18869,8 @@ then : printf "%s\n" "#define HAVE_MALLOC 1" >>confdefs.h -else case e in #( - e) +else $as_nop + case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" @@ -19083,15 +18880,12 @@ esac printf "%s\n" "#define malloc rpl_malloc_unbound" >>confdefs.h - ;; -esac + fi - ;; -esac + fi - ;; -esac + fi # check windows threads (we use them, not pthreads, on windows). @@ -19132,11 +18926,10 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_WINDOWS_THREADS 1" >>confdefs.h -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -19152,286 +18945,12 @@ else if test ${with_pthreads+y} then : withval=$with_pthreads; -else case e in #( - e) withval="yes" ;; -esac +else $as_nop + withval="yes" fi ub_have_pthreads=no if test x_$withval != x_no; then - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -printf %s "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test ${ac_cv_prog_CPP+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) # Double quotes because $CC needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <limits.h> - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - -else case e in #( - e) # Broken: fails on valid input. -continue ;; -esac -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # Broken: success on invalid input. -continue -else case e in #( - e) # Passes both tests. -ac_preproc_ok=: -break ;; -esac -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok -then : - break -fi - - done - ac_cv_prog_CPP=$CPP - ;; -esac -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -printf "%s\n" "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <limits.h> - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - -else case e in #( - e) # Broken: fails on valid input. -continue ;; -esac -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # Broken: success on invalid input. -continue -else case e in #( - e) # Passes both tests. -ac_preproc_ok=: -break ;; -esac -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok -then : - -else case e in #( - e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See 'config.log' for more details" "$LINENO" 5; } ;; -esac -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 -printf %s "checking for egrep -e... " >&6; } -if test ${ac_cv_path_EGREP_TRADITIONAL+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) if test -z "$EGREP_TRADITIONAL"; then - ac_path_EGREP_TRADITIONAL_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in grep ggrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue -# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. - # Check for GNU $ac_path_EGREP_TRADITIONAL -case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( -*GNU*) - ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; -#( -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" - "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" - ac_path_EGREP_TRADITIONAL_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_TRADITIONAL_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then - : - fi -else - ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL -fi - - if test "$ac_cv_path_EGREP_TRADITIONAL" -then : - ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" -else case e in #( - e) if test -z "$EGREP_TRADITIONAL"; then - ac_path_EGREP_TRADITIONAL_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in egrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue -# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. - # Check for GNU $ac_path_EGREP_TRADITIONAL -case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( -*GNU*) - ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; -#( -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" - "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" - ac_path_EGREP_TRADITIONAL_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_TRADITIONAL_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL -fi - ;; -esac -fi ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 -printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } - EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL - @@ -19472,14 +18991,8 @@ printf %s "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_join (void); + builtin and then its argument prototype would still apply. */ +char pthread_join (); int main (void) { @@ -19573,7 +19086,7 @@ case $host_os in _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP_TRADITIONAL "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1 + $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5 printf "%s\n" "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;} @@ -19603,8 +19116,8 @@ printf %s "checking whether $CC is Clang... " >&6; } if test ${ax_cv_PTHREAD_CLANG+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ax_cv_PTHREAD_CLANG=no +else $as_nop + ax_cv_PTHREAD_CLANG=no # Note that Autoconf sets GCC=yes for Clang as well as GCC if test "x$GCC" = "xyes"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19616,15 +19129,14 @@ else case e in #( _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP_TRADITIONAL "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1 + $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1 then : ax_cv_PTHREAD_CLANG=yes fi rm -rf conftest* fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5 printf "%s\n" "$ax_cv_PTHREAD_CLANG" >&6; } @@ -19674,12 +19186,11 @@ case $host_os in _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP_TRADITIONAL "AX_PTHREAD_SOLARIS__REENTRANT" >/dev/null 2>&1 + $EGREP "AX_PTHREAD_SOLARIS__REENTRANT" >/dev/null 2>&1 then : ax_pthread_check_macro="_REENTRANT" -else case e in #( - e) ax_pthread_check_macro="--" ;; -esac +else $as_nop + ax_pthread_check_macro="--" fi rm -rf conftest* @@ -19699,9 +19210,8 @@ esac if test "x$ax_pthread_check_macro" = "x--" then : ax_pthread_check_cond=0 -else case e in #( - e) ax_pthread_check_cond="!defined($ax_pthread_check_macro)" ;; -esac +else $as_nop + ax_pthread_check_cond="!defined($ax_pthread_check_macro)" fi @@ -19735,8 +19245,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ax_pthread_config+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ax_pthread_config"; then +else $as_nop + if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19759,8 +19269,7 @@ done IFS=$as_save_IFS test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no" -fi ;; -esac +fi fi ax_pthread_config=$ac_cv_prog_ax_pthread_config if test -n "$ax_pthread_config"; then @@ -19893,8 +19402,8 @@ printf %s "checking whether Clang needs flag to prevent \"argument unused\" warn if test ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown +else $as_nop + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown # Create an alternate version of $ac_link that compiles and # links in two steps (.c -> .o, .o -> exe) instead of one # (.c -> exe), because the warning occurs only in the second @@ -19940,8 +19449,7 @@ then : ax_pthread_try=no fi ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5 printf "%s\n" "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; } @@ -19968,8 +19476,8 @@ printf %s "checking for joinable pthread attribute... " >&6; } if test ${ax_cv_PTHREAD_JOINABLE_ATTR+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ax_cv_PTHREAD_JOINABLE_ATTR=unknown +else $as_nop + ax_cv_PTHREAD_JOINABLE_ATTR=unknown for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -19989,8 +19497,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5 printf "%s\n" "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; } @@ -20010,15 +19517,14 @@ printf %s "checking whether more special flags are required for pthreads... " >& if test ${ax_cv_PTHREAD_SPECIAL_FLAGS+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ax_cv_PTHREAD_SPECIAL_FLAGS=no +else $as_nop + ax_cv_PTHREAD_SPECIAL_FLAGS=no case $host_os in solaris*) ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" ;; esac - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5 printf "%s\n" "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; } @@ -20034,8 +19540,8 @@ printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; } if test ${ax_cv_PTHREAD_PRIO_INHERIT+y} then : printf %s "(cached) " >&6 -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> int @@ -20050,14 +19556,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ax_cv_PTHREAD_PRIO_INHERIT=yes -else case e in #( - e) ax_cv_PTHREAD_PRIO_INHERIT=no ;; -esac +else $as_nop + ax_cv_PTHREAD_PRIO_INHERIT=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } @@ -20107,8 +19611,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_PTHREAD_CC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$PTHREAD_CC"; then +else $as_nop + if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20130,8 +19634,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then @@ -20158,8 +19661,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_PTHREAD_CXX+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$PTHREAD_CXX"; then +else $as_nop + if test -n "$PTHREAD_CXX"; then ac_cv_prog_PTHREAD_CXX="$PTHREAD_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20181,8 +19684,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi PTHREAD_CXX=$ac_cv_prog_PTHREAD_CXX if test -n "$PTHREAD_CXX"; then @@ -20252,30 +19754,28 @@ fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5 printf %s "checking size of unsigned long... " >&6; } if test ${ac_cv_sizeof_unsigned_long+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default" +else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default" then : -else case e in #( - e) if test "$ac_cv_type_unsigned_long" = yes; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +else $as_nop + if test "$ac_cv_type_unsigned_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (unsigned long) -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_unsigned_long=0 - fi ;; -esac + fi fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5 printf "%s\n" "$ac_cv_sizeof_unsigned_long" >&6; } @@ -20287,30 +19787,28 @@ printf "%s\n" "#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long" >>confd # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of pthread_t" >&5 printf %s "checking size of pthread_t... " >&6; } if test ${ac_cv_sizeof_pthread_t+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pthread_t))" "ac_cv_sizeof_pthread_t" "$ac_includes_default" +else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pthread_t))" "ac_cv_sizeof_pthread_t" "$ac_includes_default" then : -else case e in #( - e) if test "$ac_cv_type_pthread_t" = yes; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +else $as_nop + if test "$ac_cv_type_pthread_t" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (pthread_t) -See 'config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_pthread_t=0 - fi ;; -esac + fi fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_pthread_t" >&5 printf "%s\n" "$ac_cv_sizeof_pthread_t" >&6; } @@ -20416,12 +19914,11 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_PTHREAD_SETNAME_NP1 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # NetBSD has 3 arguments to allow for formatting of the name. @@ -20454,12 +19951,11 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_PTHREAD_SETNAME_NP3 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # Most OSes have the common 2 arguments, thread and name. @@ -20492,12 +19988,11 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_PTHREAD_SETNAME_NP 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # FreeBSD/OpenBSD use a slightly different function name. @@ -20530,12 +20025,11 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_PTHREAD_SET_NAME_NP 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$BAKCFLAGS" @@ -20547,9 +20041,8 @@ fi if test ${with_solaris_threads+y} then : withval=$with_solaris_threads; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi ub_have_sol_threads=no @@ -20563,21 +20056,15 @@ printf %s "checking for library containing thr_create... " >&6; } if test ${ac_cv_search_thr_create+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char thr_create (void); + builtin and then its argument prototype would still apply. */ +char thr_create (); int main (void) { @@ -20608,13 +20095,11 @@ done if test ${ac_cv_search_thr_create+y} then : -else case e in #( - e) ac_cv_search_thr_create=no ;; -esac +else $as_nop + ac_cv_search_thr_create=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_thr_create" >&5 printf "%s\n" "$ac_cv_search_thr_create" >&6; } @@ -20635,8 +20120,8 @@ cache=`echo mt | sed 'y%.=/+-%___p_%'` if eval test \${cv_prog_cc_flag_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo 'void f(void){}' >conftest.c if test -z "`$CC $CPPFLAGS $CFLAGS -mt -c conftest.c 2>&1`"; then eval "cv_prog_cc_flag_$cache=yes" @@ -20644,8 +20129,7 @@ else eval "cv_prog_cc_flag_$cache=no" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then @@ -20662,11 +20146,10 @@ fi ub_have_sol_threads=yes -else case e in #( - e) +else $as_nop + as_fn_error $? "no solaris threads found." "$LINENO" 5 - ;; -esac + fi fi @@ -20699,9 +20182,8 @@ printf "%s\n" "#define UB_SYSLOG_FACILITY ${UNBOUND_SYSLOG_FACILITY}" >>confdefs if test ${with_dynlibmodule+y} then : withval=$with_dynlibmodule; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi @@ -20724,21 +20206,15 @@ printf %s "checking for library containing dlopen... " >&6; } if test ${ac_cv_search_dlopen+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (void); + builtin and then its argument prototype would still apply. */ +char dlopen (); int main (void) { @@ -20769,13 +20245,11 @@ done if test ${ac_cv_search_dlopen+y} then : -else case e in #( - e) ac_cv_search_dlopen=no ;; -esac +else $as_nop + ac_cv_search_dlopen=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 printf "%s\n" "$ac_cv_search_dlopen" >&6; } @@ -20799,9 +20273,8 @@ fi if test ${with_pyunbound+y} then : withval=$with_pyunbound; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi @@ -20818,9 +20291,8 @@ fi if test ${with_pythonmodule+y} then : withval=$with_pythonmodule; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi @@ -20848,8 +20320,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PYTHON+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $PYTHON in +else $as_nop + case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. ;; @@ -20874,7 +20346,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi PYTHON=$ac_cv_path_PYTHON @@ -21052,9 +20523,8 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : pythonexists=yes -else case e in #( - e) pythonexists=no ;; -esac +else $as_nop + pythonexists=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -21164,8 +20634,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_SWIG+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $SWIG in +else $as_nop + case $SWIG in [\\/]* | ?:[\\/]*) ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path. ;; @@ -21190,7 +20660,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi SWIG=$ac_cv_path_SWIG @@ -21291,8 +20760,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_SWIG+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $SWIG in +else $as_nop + case $SWIG in [\\/]* | ?:[\\/]*) ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path. ;; @@ -21317,7 +20786,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi SWIG=$ac_cv_path_SWIG @@ -21479,17 +20947,15 @@ ax_date_fmt="%Y%m%d" if test x"$SOURCE_DATE_EPOCH" = x then : CONFIG_DATE=`date "+$ax_date_fmt"` -else case e in #( - e) ax_build_date=`date -u -d "@$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null \ +else $as_nop + ax_build_date=`date -u -d "@$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null \ || date -u -r "$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null` if test x"$ax_build_date" = x then : as_fn_error $? "malformed SOURCE_DATE_EPOCH" "$LINENO" 5 -else case e in #( - e) CONFIG_DATE=$ax_build_date ;; -esac -fi ;; -esac +else $as_nop + CONFIG_DATE=$ax_build_date +fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CONFIG_DATE" >&5 printf "%s\n" "$CONFIG_DATE" >&6; } @@ -21584,11 +21050,10 @@ if test ${with_ssl+y} then : withval=$with_ssl; -else case e in #( - e) +else $as_nop + withval="yes" - ;; -esac + fi if test x_$withval = x_no; then @@ -21684,8 +21149,8 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # check if -lwsock32 or -lgdi32 are needed. @@ -21718,8 +21183,8 @@ printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } LIBS="$BAKLIBS" @@ -21752,8 +21217,8 @@ printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } LIBS="$BAKLIBS" @@ -21786,8 +21251,8 @@ printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } LIBS="$BAKLIBS" @@ -21820,8 +21285,8 @@ printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } LIBS="$BAKLIBS" @@ -21853,38 +21318,32 @@ printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } as_fn_error $? "OpenSSL found in $ssldir, but version 0.9.7 or higher is required" "$LINENO" 5 - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -21929,14 +21388,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char SSL_CTX_new (void); + builtin and then its argument prototype would still apply. */ +char SSL_CTX_new (); int main (void) { @@ -21952,8 +21405,8 @@ then : printf "%s\n" "no" >&6; } LIBS="$BAKLIBS" -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } LIBS="$BAKLIBS" @@ -21962,21 +21415,15 @@ printf %s "checking for library containing dlopen... " >&6; } if test ${ac_cv_search_dlopen+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (void); + builtin and then its argument prototype would still apply. */ +char dlopen (); int main (void) { @@ -22007,13 +21454,11 @@ done if test ${ac_cv_search_dlopen+y} then : -else case e in #( - e) ac_cv_search_dlopen=no ;; -esac +else $as_nop + ac_cv_search_dlopen=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 printf "%s\n" "$ac_cv_search_dlopen" >&6; } @@ -22024,8 +21469,7 @@ then : fi - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -22060,14 +21504,13 @@ then : printf "%s\n" "no" >&6; } LIBS="$BAKLIBS" -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } LIBS="$BAKLIBS" LIBS="$LIBS -lcrypt32" - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -22087,8 +21530,8 @@ printf %s "checking for $CC options needed to detect all undeclared functions... if test ${ac_cv_c_undeclared_builtin_options+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_save_CFLAGS=$CFLAGS +else $as_nop + ac_save_CFLAGS=$CFLAGS ac_cv_c_undeclared_builtin_options='cannot detect' for ac_arg in '' -fno-builtin; do CFLAGS="$ac_save_CFLAGS $ac_arg" @@ -22107,8 +21550,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : -else case e in #( - e) # This test program should compile successfully. +else $as_nop + # This test program should compile successfully. # No library function is consistently available on # freestanding implementations, so test against a dummy # declaration. Include always-available headers on the @@ -22136,29 +21579,26 @@ then : if test x"$ac_arg" = x then : ac_cv_c_undeclared_builtin_options='none needed' -else case e in #( - e) ac_cv_c_undeclared_builtin_options=$ac_arg ;; -esac +else $as_nop + ac_cv_c_undeclared_builtin_options=$ac_arg fi break fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done CFLAGS=$ac_save_CFLAGS - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } case $ac_cv_c_undeclared_builtin_options in #( 'cannot detect') : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot make $CC report undeclared builtins -See 'config.log' for more details" "$LINENO" 5; } ;; #( +See \`config.log' for more details" "$LINENO" 5; } ;; #( 'none needed') : ac_c_undeclared_builtin_options='' ;; #( *) : @@ -22169,36 +21609,32 @@ ac_fn_check_decl "$LINENO" "strlcpy" "ac_cv_have_decl_strlcpy" "$ac_includes_def if test "x$ac_cv_have_decl_strlcpy" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_STRLCPY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "strlcat" "ac_cv_have_decl_strlcat" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_strlcat" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_STRLCAT $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "arc4random" "ac_cv_have_decl_arc4random" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_arc4random" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_ARC4RANDOM $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "arc4random_uniform" "ac_cv_have_decl_arc4random_uniform" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_arc4random_uniform" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_ARC4RANDOM_UNIFORM $ac_have_decl" >>confdefs.h @@ -22525,8 +21961,8 @@ cache=`echo X509_NAME_get_text_by_NID | sed 'y%.=/+-%___p_%'` if eval test \${cv_cc_deprecated_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include "openssl/x509.h" ' >conftest.c @@ -22538,8 +21974,7 @@ else eval "cv_cc_deprecated_$cache=yes" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_cc_deprecated_'$cache`\" = yes"; then @@ -22584,9 +22019,8 @@ $ac_includes_default if test "x$ac_cv_have_decl_SSL_COMP_get_compression_methods" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "sk_SSL_COMP_pop_free" "ac_cv_have_decl_sk_SSL_COMP_pop_free" " @@ -22613,9 +22047,8 @@ $ac_includes_default if test "x$ac_cv_have_decl_sk_SSL_COMP_pop_free" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_SK_SSL_COMP_POP_FREE $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "SSL_CTX_set_ecdh_auto" "ac_cv_have_decl_SSL_CTX_set_ecdh_auto" " @@ -22642,9 +22075,8 @@ $ac_includes_default if test "x$ac_cv_have_decl_SSL_CTX_set_ecdh_auto" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_SSL_CTX_SET_ECDH_AUTO $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "SSL_CTX_set_tmp_ecdh" "ac_cv_have_decl_SSL_CTX_set_tmp_ecdh" " @@ -22671,9 +22103,8 @@ $ac_includes_default if test "x$ac_cv_have_decl_SSL_CTX_set_tmp_ecdh" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_SSL_CTX_SET_TMP_ECDH $ac_have_decl" >>confdefs.h @@ -22723,15 +22154,14 @@ then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: int" >&5 printf "%s\n" "int" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: void" >&5 printf "%s\n" "void" >&6; } printf "%s\n" "#define HMAC_INIT_EX_RETURNS_VOID 1" >>confdefs.h - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi @@ -22762,27 +22192,21 @@ fi if test "x$ac_cv_header_bsd_string_h" = xyes -a "x$ac_cv_header_bsd_stdlib_h" = xyes; then for func in strlcpy strlcat arc4random arc4random_uniform reallocarray; do - as_ac_Search=`printf "%s\n" "ac_cv_search_$func" | sed "$as_sed_sh"` + as_ac_Search=`printf "%s\n" "ac_cv_search_$func" | $as_tr_sh` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing $func" >&5 printf %s "checking for library containing $func... " >&6; } if eval test \${$as_ac_Search+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char $func (void); + builtin and then its argument prototype would still apply. */ +char $func (); int main (void) { @@ -22813,13 +22237,11 @@ done if eval test \${$as_ac_Search+y} then : -else case e in #( - e) eval "$as_ac_Search=no" ;; -esac +else $as_nop + eval "$as_ac_Search=no" fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi eval ac_res=\$$as_ac_Search { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -22914,18 +22336,16 @@ case "$enable_gost" in if test "x$ac_cv_func_EVP_PKEY_set_type_str" = xyes then : : -else case e in #( - e) as_fn_error $? "OpenSSL 1.0.0 is needed for GOST support" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "OpenSSL 1.0.0 is needed for GOST support" "$LINENO" 5 fi ac_fn_c_check_func "$LINENO" "EC_KEY_new" "ac_cv_func_EC_KEY_new" if test "x$ac_cv_func_EC_KEY_new" = xyes then : -else case e in #( - e) as_fn_error $? "OpenSSL does not support ECC, needed for GOST support" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "OpenSSL does not support ECC, needed for GOST support" "$LINENO" 5 fi @@ -22939,8 +22359,8 @@ fi if test "$cross_compiling" = yes then : eval "ac_cv_c_gost_works=maybe" -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> @@ -23028,13 +22448,11 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : eval "ac_cv_c_gost_works=yes" -else case e in #( - e) eval "ac_cv_c_gost_works=no" ;; -esac +else $as_nop + eval "ac_cv_c_gost_works=no" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi CFLAGS="$BAKCFLAGS" @@ -23080,29 +22498,26 @@ then : fi -else case e in #( - e) +else $as_nop + # without EVP_PKEY_fromdata, older openssl, check for support ac_fn_c_check_func "$LINENO" "ECDSA_sign" "ac_cv_func_ECDSA_sign" if test "x$ac_cv_func_ECDSA_sign" = xyes then : -else case e in #( - e) as_fn_error $? "OpenSSL does not support ECDSA: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "OpenSSL does not support ECDSA: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 fi ac_fn_c_check_func "$LINENO" "SHA384_Init" "ac_cv_func_SHA384_Init" if test "x$ac_cv_func_SHA384_Init" = xyes then : -else case e in #( - e) as_fn_error $? "OpenSSL does not support SHA384: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "OpenSSL does not support SHA384: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 fi - ;; -esac + fi ac_fn_check_decl "$LINENO" "NID_X9_62_prime256v1" "ac_cv_have_decl_NID_X9_62_prime256v1" "$ac_includes_default @@ -23112,17 +22527,15 @@ fi if test "x$ac_cv_have_decl_NID_X9_62_prime256v1" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NID_X9_62_PRIME256V1 $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : -else case e in #( - e) as_fn_error $? "OpenSSL does not support the ECDSA curves: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "OpenSSL does not support the ECDSA curves: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 fi ac_fn_check_decl "$LINENO" "NID_secp384r1" "ac_cv_have_decl_NID_secp384r1" "$ac_includes_default #include <openssl/evp.h> @@ -23131,17 +22544,15 @@ ac_fn_check_decl "$LINENO" "NID_secp384r1" "ac_cv_have_decl_NID_secp384r1" "$ac_ if test "x$ac_cv_have_decl_NID_secp384r1" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NID_SECP384R1 $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : -else case e in #( - e) as_fn_error $? "OpenSSL does not support the ECDSA curves: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "OpenSSL does not support the ECDSA curves: please upgrade or rerun with --disable-ecdsa" "$LINENO" 5 fi # see if OPENSSL 1.0.0 or later (has EVP MD and Verify independency) @@ -23187,7 +22598,7 @@ case "$enable_dsa" in if test "x$ac_cv_func_DSA_SIG_new" = xyes then : - as_ac_Type=`printf "%s\n" "ac_cv_type_DSA_SIG*" | sed "$as_sed_sh"` + as_ac_Type=`printf "%s\n" "ac_cv_type_DSA_SIG*" | $as_tr_sh` ac_fn_c_check_type "$LINENO" "DSA_SIG*" "$as_ac_Type" " $ac_includes_default #ifdef HAVE_OPENSSL_ERR_H @@ -23214,17 +22625,15 @@ then : printf "%s\n" "#define USE_DSA 1" >>confdefs.h -else case e in #( - e) if test "x$enable_dsa" = "xyes"; then as_fn_error $? "OpenSSL does not support DSA and you used --enable-dsa." "$LINENO" 5 - fi ;; -esac +else $as_nop + if test "x$enable_dsa" = "xyes"; then as_fn_error $? "OpenSSL does not support DSA and you used --enable-dsa." "$LINENO" 5 + fi fi -else case e in #( - e) if test "x$enable_dsa" = "xyes"; then as_fn_error $? "OpenSSL does not support DSA and you used --enable-dsa." "$LINENO" 5 - fi ;; -esac +else $as_nop + if test "x$enable_dsa" = "xyes"; then as_fn_error $? "OpenSSL does not support DSA and you used --enable-dsa." "$LINENO" 5 + fi fi else @@ -23271,9 +22680,8 @@ case "$enable_ed25519" in if test "x$ac_cv_have_decl_NID_ED25519" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NID_ED25519 $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 @@ -23281,10 +22689,9 @@ then : use_ed25519="yes" -else case e in #( - e) if test "x$enable_ed25519" = "xyes"; then as_fn_error $? "OpenSSL does not support ED25519 and you used --enable-ed25519." "$LINENO" 5 - fi ;; -esac +else $as_nop + if test "x$enable_ed25519" = "xyes"; then as_fn_error $? "OpenSSL does not support ED25519 and you used --enable-ed25519." "$LINENO" 5 + fi fi fi @@ -23328,9 +22735,8 @@ case "$enable_ed448" in if test "x$ac_cv_have_decl_NID_ED448" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NID_ED448 $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 @@ -23338,10 +22744,9 @@ then : use_ed448="yes" -else case e in #( - e) if test "x$enable_ed448" = "xyes"; then as_fn_error $? "OpenSSL does not support ED448 and you used --enable-ed448." "$LINENO" 5 - fi ;; -esac +else $as_nop + if test "x$enable_ed448" = "xyes"; then as_fn_error $? "OpenSSL does not support ED448 and you used --enable-ed448." "$LINENO" 5 + fi fi fi @@ -23387,9 +22792,8 @@ if test "x$ac_cv_have_decl_MSG_FASTOPEN" = xyes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&5 printf "%s\n" "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&2;} -else case e in #( - e) as_fn_error $? "TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client" "$LINENO" 5 fi printf "%s\n" "#define USE_MSG_FASTOPEN 1" >>confdefs.h @@ -23403,9 +22807,8 @@ if test "x$ac_cv_have_decl_CONNECT_RESUME_ON_READ_WRITE" = xyes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&5 printf "%s\n" "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO" >&2;} -else case e in #( - e) as_fn_error $? "TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client" "$LINENO" 5 fi printf "%s\n" "#define USE_OSX_MSG_FASTOPEN 1" >>confdefs.h @@ -23433,9 +22836,8 @@ if test "x$ac_cv_have_decl_TCP_FASTOPEN" = xyes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support server mode TFO" >&5 printf "%s\n" "$as_me: WARNING: Check the platform specific TFO kernel parameters are correctly configured to support server mode TFO" >&2;} -else case e in #( - e) as_fn_error $? "TCP Fast Open is not available for server mode: please rerun without --enable-tfo-server" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "TCP Fast Open is not available for server mode: please rerun without --enable-tfo-server" "$LINENO" 5 fi printf "%s\n" "#define USE_TCP_FASTOPEN 1" >>confdefs.h @@ -23451,9 +22853,8 @@ esac if test ${with_libevent+y} then : withval=$with_libevent; -else case e in #( - e) with_libevent="no" ;; -esac +else $as_nop + with_libevent="no" fi if test "x_$with_libevent" != x_no; then @@ -23532,21 +22933,15 @@ printf %s "checking for library containing clock_gettime... " >&6; } if test ${ac_cv_search_clock_gettime+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char clock_gettime (void); + builtin and then its argument prototype would still apply. */ +char clock_gettime (); int main (void) { @@ -23577,13 +22972,11 @@ done if test ${ac_cv_search_clock_gettime+y} then : -else case e in #( - e) ac_cv_search_clock_gettime=no ;; -esac +else $as_nop + ac_cv_search_clock_gettime=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } @@ -23616,21 +23009,15 @@ printf %s "checking for library containing event_set... " >&6; } if test ${ac_cv_search_event_set+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char event_set (void); + builtin and then its argument prototype would still apply. */ +char event_set (); int main (void) { @@ -23661,13 +23048,11 @@ done if test ${ac_cv_search_event_set+y} then : -else case e in #( - e) ac_cv_search_event_set=no ;; -esac +else $as_nop + ac_cv_search_event_set=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_event_set" >&5 printf "%s\n" "$ac_cv_search_event_set" >&6; } @@ -23679,28 +23064,22 @@ then : fi -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing event_set" >&5 printf %s "checking for library containing event_set... " >&6; } if test ${ac_cv_search_event_set+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char event_set (void); + builtin and then its argument prototype would still apply. */ +char event_set (); int main (void) { @@ -23731,13 +23110,11 @@ done if test ${ac_cv_search_event_set+y} then : -else case e in #( - e) ac_cv_search_event_set=no ;; -esac +else $as_nop + ac_cv_search_event_set=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_event_set" >&5 printf "%s\n" "$ac_cv_search_event_set" >&6; } @@ -23748,8 +23125,7 @@ then : fi - ;; -esac + fi ac_fn_c_check_func "$LINENO" "event_base_free" "ac_cv_func_event_base_free" if test "x$ac_cv_func_event_base_free" = xyes @@ -23811,9 +23187,8 @@ fi if test "x$ac_cv_have_decl_evsignal_assign" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_EVSIGNAL_ASSIGN $ac_have_decl" >>confdefs.h @@ -23834,9 +23209,8 @@ fi if test ${with_libexpat+y} then : withval=$with_libexpat; -else case e in #( - e) withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr" ;; -esac +else $as_nop + withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libexpat" >&5 @@ -23872,9 +23246,8 @@ ac_fn_check_decl "$LINENO" "XML_StopParser" "ac_cv_have_decl_XML_StopParser" "$a if test "x$ac_cv_have_decl_XML_StopParser" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_XML_STOPPARSER $ac_have_decl" >>confdefs.h @@ -23885,9 +23258,8 @@ printf "%s\n" "#define HAVE_DECL_XML_STOPPARSER $ac_have_decl" >>confdefs.h if test ${with_libhiredis+y} then : withval=$with_libhiredis; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi found_libhiredis="no" @@ -23931,9 +23303,8 @@ fi if test "x$ac_cv_have_decl_redisConnect" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_REDISCONNECT $ac_have_decl" >>confdefs.h @@ -23945,9 +23316,8 @@ fi if test ${with_libnghttp2+y} then : withval=$with_libnghttp2; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi found_libnghttp2="no" @@ -23991,9 +23361,8 @@ fi if test "x$ac_cv_have_decl_nghttp2_session_server_new" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NGHTTP2_SESSION_SERVER_NEW $ac_have_decl" >>confdefs.h @@ -24005,9 +23374,8 @@ fi if test ${with_libngtcp2+y} then : withval=$with_libngtcp2; -else case e in #( - e) withval="no" ;; -esac +else $as_nop + withval="no" fi found_libngtcp2="no" @@ -24072,9 +23440,8 @@ fi if test "x$ac_cv_have_decl_ngtcp2_conn_server_new" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NGTCP2_CONN_SERVER_NEW $ac_have_decl" >>confdefs.h @@ -24085,9 +23452,8 @@ printf "%s\n" "#define HAVE_DECL_NGTCP2_CONN_SERVER_NEW $ac_have_decl" >>confdef if test "x$ac_cv_have_decl_ngtcp2_crypto_encrypt_cb" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NGTCP2_CRYPTO_ENCRYPT_CB $ac_have_decl" >>confdefs.h @@ -24096,22 +23462,16 @@ printf %s "checking for ngtcp2_crypto_encrypt_cb in -lngtcp2_crypto_ossl... " >& if test ${ac_cv_lib_ngtcp2_crypto_ossl_ngtcp2_crypto_encrypt_cb+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-lngtcp2_crypto_ossl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char ngtcp2_crypto_encrypt_cb (void); + builtin and then its argument prototype would still apply. */ +char ngtcp2_crypto_encrypt_cb (); int main (void) { @@ -24123,14 +23483,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_ngtcp2_crypto_ossl_ngtcp2_crypto_encrypt_cb=yes -else case e in #( - e) ac_cv_lib_ngtcp2_crypto_ossl_ngtcp2_crypto_encrypt_cb=no ;; -esac +else $as_nop + ac_cv_lib_ngtcp2_crypto_ossl_ngtcp2_crypto_encrypt_cb=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ngtcp2_crypto_ossl_ngtcp2_crypto_encrypt_cb" >&5 printf "%s\n" "$ac_cv_lib_ngtcp2_crypto_ossl_ngtcp2_crypto_encrypt_cb" >&6; } @@ -24148,43 +23506,35 @@ printf "%s\n" "#define USE_NGTCP2_CRYPTO_OSSL 1" >>confdefs.h if test "x$ac_cv_have_decl_ngtcp2_crypto_ossl_ctx_new" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_NGTCP2_CRYPTO_OSSL_CTX_NEW $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : -else case e in #( - e) as_fn_error $? "No declaration of ngtcp2_crypto_ossl_ctx_new in the ngtcp2_crypto_ossl header file. Perhaps the ngtcp2_crypto_ossl devel header files need to be installed." "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "No declaration of ngtcp2_crypto_ossl_ctx_new in the ngtcp2_crypto_ossl header file. Perhaps the ngtcp2_crypto_ossl devel header files need to be installed." "$LINENO" 5 fi -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ngtcp2_crypto_encrypt_cb in -lngtcp2_crypto_openssl" >&5 printf %s "checking for ngtcp2_crypto_encrypt_cb in -lngtcp2_crypto_openssl... " >&6; } if test ${ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-lngtcp2_crypto_openssl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char ngtcp2_crypto_encrypt_cb (void); + builtin and then its argument prototype would still apply. */ +char ngtcp2_crypto_encrypt_cb (); int main (void) { @@ -24196,43 +23546,35 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb=yes -else case e in #( - e) ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb=no ;; -esac +else $as_nop + ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb" >&5 printf "%s\n" "$ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb" >&6; } if test "x$ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_encrypt_cb" = xyes then : LIBS="$LIBS -lngtcp2_crypto_openssl" -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ngtcp2_crypto_encrypt_cb in -lngtcp2_crypto_quictls" >&5 printf %s "checking for ngtcp2_crypto_encrypt_cb in -lngtcp2_crypto_quictls... " >&6; } if test ${ac_cv_lib_ngtcp2_crypto_quictls_ngtcp2_crypto_encrypt_cb+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-lngtcp2_crypto_quictls $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char ngtcp2_crypto_encrypt_cb (void); + builtin and then its argument prototype would still apply. */ +char ngtcp2_crypto_encrypt_cb (); int main (void) { @@ -24244,14 +23586,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_ngtcp2_crypto_quictls_ngtcp2_crypto_encrypt_cb=yes -else case e in #( - e) ac_cv_lib_ngtcp2_crypto_quictls_ngtcp2_crypto_encrypt_cb=no ;; -esac +else $as_nop + ac_cv_lib_ngtcp2_crypto_quictls_ngtcp2_crypto_encrypt_cb=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ngtcp2_crypto_quictls_ngtcp2_crypto_encrypt_cb" >&5 printf "%s\n" "$ac_cv_lib_ngtcp2_crypto_quictls_ngtcp2_crypto_encrypt_cb" >&6; } @@ -24260,12 +23600,10 @@ then : LIBS="$LIBS -lngtcp2_crypto_quictls" fi - ;; -esac + fi - ;; -esac + fi ac_fn_c_check_func "$LINENO" "ngtcp2_crypto_encrypt_cb" "ac_cv_func_ngtcp2_crypto_encrypt_cb" @@ -24353,9 +23691,8 @@ if test "x$ac_cv_func_SSL_is_quic" = xyes then : printf "%s\n" "#define HAVE_SSL_IS_QUIC 1" >>confdefs.h -else case e in #( - e) as_fn_error $? "No QUIC support detected in OpenSSL. Need OpenSSL version with QUIC support to enable DNS over QUIC with libngtcp2." "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "No QUIC support detected in OpenSSL. Need OpenSSL version with QUIC support to enable DNS over QUIC with libngtcp2." "$LINENO" 5 fi done @@ -24463,12 +23800,11 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_NGTCP2_CONN_SHUTDOWN_STREAM4 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -24490,10 +23826,9 @@ if test "x$ac_cv_have_decl_CLOCK_MONOTONIC_________" = xyes then : -else case e in #( - e) as_fn_error $? "ngtcp2 for QUIC needs at least CLOCK_MONOTONIC on the system" "$LINENO" 5 - ;; -esac +else $as_nop + as_fn_error $? "ngtcp2 for QUIC needs at least CLOCK_MONOTONIC on the system" "$LINENO" 5 + fi fi @@ -24522,22 +23857,16 @@ printf %s "checking for compress in -lz... " >&6; } if test ${ac_cv_lib_z_compress+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char compress (void); + builtin and then its argument prototype would still apply. */ +char compress (); int main (void) { @@ -24549,14 +23878,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_z_compress=yes -else case e in #( - e) ac_cv_lib_z_compress=no ;; -esac +else $as_nop + ac_cv_lib_z_compress=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5 printf "%s\n" "$ac_cv_lib_z_compress" >&6; } @@ -24596,22 +23923,16 @@ printf %s "checking for compress in -lz... " >&6; } if test ${ac_cv_lib_z_compress+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_check_lib_save_LIBS=$LIBS +else $as_nop + ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char compress (void); + builtin and then its argument prototype would still apply. */ +char compress (); int main (void) { @@ -24623,14 +23944,12 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_z_compress=yes -else case e in #( - e) ac_cv_lib_z_compress=no ;; -esac +else $as_nop + ac_cv_lib_z_compress=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS ;; -esac +LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5 printf "%s\n" "$ac_cv_lib_z_compress" >&6; } @@ -24701,8 +24020,8 @@ printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h fi fi -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WS2TCPIP_H @@ -24729,8 +24048,8 @@ printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h USE_WINSOCK="1" -else case e in #( - e) ORIGLIBS="$LIBS" +else $as_nop + ORIGLIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -24759,22 +24078,19 @@ printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h USE_WINSOCK="1" -else case e in #( - e) +else $as_nop + ac_cv_func_getaddrinfo="no" LIBS="$ORIGLIBS" - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -24809,8 +24125,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_WINDRES+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$WINDRES"; then +else $as_nop + if test -n "$WINDRES"; then ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24832,8 +24148,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi WINDRES=$ac_cv_prog_WINDRES if test -n "$WINDRES"; then @@ -24855,8 +24170,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_WINDRES+y} then : printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_WINDRES"; then +else $as_nop + if test -n "$ac_ct_WINDRES"; then ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -24878,8 +24193,7 @@ done done IFS=$as_save_IFS -fi ;; -esac +fi fi ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES if test -n "$ac_ct_WINDRES"; then @@ -24969,10 +24283,9 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_IOCTLSOCKET 1" >>confdefs.h -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } ;; -esac +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -24995,8 +24308,8 @@ cache=`echo daemon | sed 'y%.=/+-%___p_%'` if eval test \${cv_cc_deprecated_$cache+y} then : printf %s "(cached) " >&6 -else case e in #( - e) +else $as_nop + echo ' #include <stdlib.h> #include <unistd.h> @@ -25008,8 +24321,7 @@ else eval "cv_cc_deprecated_$cache=yes" fi rm -f conftest conftest.o conftest.c - ;; -esac + fi if eval "test \"`echo '$cv_cc_deprecated_'$cache`\" = yes"; then @@ -25133,10 +24445,9 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_HTOBE64 1" >>confdefs.h -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } ;; -esac +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -25169,10 +24480,9 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_BE64TOH 1" >>confdefs.h -else case e in #( - e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } ;; -esac +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -25182,21 +24492,15 @@ printf %s "checking for library containing setusercontext... " >&6; } if test ${ac_cv_search_setusercontext+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char setusercontext (void); + builtin and then its argument prototype would still apply. */ +char setusercontext (); int main (void) { @@ -25227,13 +24531,11 @@ done if test ${ac_cv_search_setusercontext+y} then : -else case e in #( - e) ac_cv_search_setusercontext=no ;; -esac +else $as_nop + ac_cv_search_setusercontext=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setusercontext" >&5 printf "%s\n" "$ac_cv_search_setusercontext" >&6; } @@ -25463,15 +24765,14 @@ if test "x$ac_cv_func_setresuid" = xyes then : printf "%s\n" "#define HAVE_SETRESUID 1" >>confdefs.h -else case e in #( - e) ac_fn_c_check_func "$LINENO" "setreuid" "ac_cv_func_setreuid" +else $as_nop + ac_fn_c_check_func "$LINENO" "setreuid" "ac_cv_func_setreuid" if test "x$ac_cv_func_setreuid" = xyes then : printf "%s\n" "#define HAVE_SETREUID 1" >>confdefs.h fi - ;; -esac + fi done @@ -25483,15 +24784,14 @@ if test "x$ac_cv_func_setresgid" = xyes then : printf "%s\n" "#define HAVE_SETRESGID 1" >>confdefs.h -else case e in #( - e) ac_fn_c_check_func "$LINENO" "setregid" "ac_cv_func_setregid" +else $as_nop + ac_fn_c_check_func "$LINENO" "setregid" "ac_cv_func_setregid" if test "x$ac_cv_func_setregid" = xyes then : printf "%s\n" "#define HAVE_SETREGID 1" >>confdefs.h fi - ;; -esac + fi done @@ -25535,12 +24835,11 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_LINK_ATOMIC_STORE 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -25571,9 +24870,8 @@ $ac_includes_default if test "x$ac_cv_have_decl_inet_pton" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" " @@ -25602,9 +24900,8 @@ $ac_includes_default if test "x$ac_cv_have_decl_inet_ntop" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_INET_NTOP $ac_have_decl" >>confdefs.h @@ -25613,14 +24910,13 @@ if test "x$ac_cv_func_inet_aton" = xyes then : printf "%s\n" "#define HAVE_INET_ATON 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" inet_aton.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS inet_aton.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" @@ -25628,14 +24924,13 @@ if test "x$ac_cv_func_inet_pton" = xyes then : printf "%s\n" "#define HAVE_INET_PTON 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" inet_pton.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS inet_pton.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" @@ -25643,14 +24938,13 @@ if test "x$ac_cv_func_inet_ntop" = xyes then : printf "%s\n" "#define HAVE_INET_NTOP 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" inet_ntop.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS inet_ntop.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" @@ -25658,14 +24952,13 @@ if test "x$ac_cv_func_snprintf" = xyes then : printf "%s\n" "#define HAVE_SNPRINTF 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" snprintf.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" ;; esac - ;; -esac + fi # test if snprintf return the proper length @@ -25677,8 +24970,8 @@ printf %s "checking for correct snprintf return value... " >&6; } then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: maybe" >&5 printf "%s\n" "maybe" >&6; } -else case e in #( - e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default @@ -25689,8 +24982,8 @@ if ac_fn_c_try_run "$LINENO" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } @@ -25702,12 +24995,10 @@ printf "%s\n" "#define SNPRINTF_RET_BROKEN /**/" >>confdefs.h ;; esac - ;; -esac + fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext ;; -esac + conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi @@ -25717,14 +25008,13 @@ if test "x$ac_cv_func_strlcat" = xyes then : printf "%s\n" "#define HAVE_STRLCAT 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" strlcat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strlcat.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" @@ -25732,14 +25022,13 @@ if test "x$ac_cv_func_strlcpy" = xyes then : printf "%s\n" "#define HAVE_STRLCPY 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" strlcpy.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strlcpy.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove" @@ -25747,14 +25036,13 @@ if test "x$ac_cv_func_memmove" = xyes then : printf "%s\n" "#define HAVE_MEMMOVE 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" memmove.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS memmove.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "gmtime_r" "ac_cv_func_gmtime_r" @@ -25762,14 +25050,13 @@ if test "x$ac_cv_func_gmtime_r" = xyes then : printf "%s\n" "#define HAVE_GMTIME_R 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" gmtime_r.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS gmtime_r.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "isblank" "ac_cv_func_isblank" @@ -25777,14 +25064,13 @@ if test "x$ac_cv_func_isblank" = xyes then : printf "%s\n" "#define HAVE_ISBLANK 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" isblank.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS isblank.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero" @@ -25792,14 +25078,13 @@ if test "x$ac_cv_func_explicit_bzero" = xyes then : printf "%s\n" "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" explicit_bzero.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS explicit_bzero.$ac_objext" ;; esac - ;; -esac + fi LIBOBJ_WITHOUT_CTIMEARC4="$LIBOBJS" @@ -25829,8 +25114,8 @@ printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_REALLOCARRAY 1" >>confdefs.h -else case e in #( - e) +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } case " $LIBOBJS " in @@ -25839,8 +25124,7 @@ printf "%s\n" "no" >&6; } ;; esac - ;; -esac + fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -25848,9 +25132,8 @@ ac_fn_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" "$ac_in if test "x$ac_cv_have_decl_reallocarray" = xyes then : ac_have_decl=1 -else case e in #( - e) ac_have_decl=0 ;; -esac +else $as_nop + ac_have_decl=0 fi printf "%s\n" "#define HAVE_DECL_REALLOCARRAY $ac_have_decl" >>confdefs.h @@ -25860,14 +25143,13 @@ if test "x$ac_cv_func_arc4random" = xyes then : printf "%s\n" "#define HAVE_ARC4RANDOM 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" arc4random.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS arc4random.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "arc4random_uniform" "ac_cv_func_arc4random_uniform" @@ -25875,14 +25157,13 @@ if test "x$ac_cv_func_arc4random_uniform" = xyes then : printf "%s\n" "#define HAVE_ARC4RANDOM_UNIFORM 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" arc4random_uniform.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS arc4random_uniform.$ac_objext" ;; esac - ;; -esac + fi if test "$ac_cv_func_arc4random" = "no"; then @@ -25900,8 +25181,8 @@ if test "x$ac_cv_func_getentropy" = xyes then : printf "%s\n" "#define HAVE_GETENTROPY 1" >>confdefs.h -else case e in #( - e) +else $as_nop + if test "$USE_WINSOCK" = 1; then case " $LIBOBJS " in *" getentropy_win.$ac_objext "* ) ;; @@ -25934,8 +25215,8 @@ if test "x$ac_cv_header_sys_sha2_h" = xyes then : printf "%s\n" "#define HAVE_SYS_SHA2_H 1" >>confdefs.h -else case e in #( - e) +else $as_nop + for ac_func in SHA512_Update do : @@ -25944,21 +25225,19 @@ if test "x$ac_cv_func_SHA512_Update" = xyes then : printf "%s\n" "#define HAVE_SHA512_UPDATE 1" >>confdefs.h -else case e in #( - e) +else $as_nop + case " $LIBOBJS " in *" sha512.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS sha512.$ac_objext" ;; esac - ;; -esac + fi done - ;; -esac + fi done @@ -25971,21 +25250,15 @@ printf %s "checking for library containing clock_gettime... " >&6; } if test ${ac_cv_search_clock_gettime+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char clock_gettime (void); + builtin and then its argument prototype would still apply. */ +char clock_gettime (); int main (void) { @@ -26016,13 +25289,11 @@ done if test ${ac_cv_search_clock_gettime+y} then : -else case e in #( - e) ac_cv_search_clock_gettime=no ;; -esac +else $as_nop + ac_cv_search_clock_gettime=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } @@ -26057,8 +25328,8 @@ if test "x$ac_cv_func_SHA512_Update" = xyes then : printf "%s\n" "#define HAVE_SHA512_UPDATE 1" >>confdefs.h -else case e in #( - e) +else $as_nop + printf "%s\n" "#define COMPAT_SHA512 1" >>confdefs.h @@ -26068,8 +25339,7 @@ printf "%s\n" "#define COMPAT_SHA512 1" >>confdefs.h ;; esac - ;; -esac + fi done @@ -26093,21 +25363,15 @@ printf %s "checking for library containing clock_gettime... " >&6; } if test ${ac_cv_search_clock_gettime+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char clock_gettime (void); + builtin and then its argument prototype would still apply. */ +char clock_gettime (); int main (void) { @@ -26138,13 +25402,11 @@ done if test ${ac_cv_search_clock_gettime+y} then : -else case e in #( - e) ac_cv_search_clock_gettime=no ;; -esac +else $as_nop + ac_cv_search_clock_gettime=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } @@ -26158,8 +25420,7 @@ fi ;; esac fi - ;; -esac + fi done @@ -26172,14 +25433,13 @@ if test "x$ac_cv_func_ctime_r" = xyes then : printf "%s\n" "#define HAVE_CTIME_R 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" ctime_r.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS ctime_r.$ac_objext" ;; esac - ;; -esac + fi ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep" @@ -26187,14 +25447,13 @@ if test "x$ac_cv_func_strsep" = xyes then : printf "%s\n" "#define HAVE_STRSEP 1" >>confdefs.h -else case e in #( - e) case " $LIBOBJS " in +else $as_nop + case " $LIBOBJS " in *" strsep.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strsep.$ac_objext" ;; esac - ;; -esac + fi @@ -26245,9 +25504,8 @@ fi if test ${enable_dnstap+y} then : enableval=$enable_dnstap; opt_dnstap=$enableval -else case e in #( - e) opt_dnstap=no ;; -esac +else $as_nop + opt_dnstap=no fi @@ -26256,9 +25514,8 @@ fi if test ${with_dnstap_socket_path+y} then : withval=$with_dnstap_socket_path; opt_dnstap_socket_path=$withval -else case e in #( - e) opt_dnstap_socket_path="$UNBOUND_RUN_DIR/dnstap.sock" ;; -esac +else $as_nop + opt_dnstap_socket_path="$UNBOUND_RUN_DIR/dnstap.sock" fi @@ -26270,8 +25527,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PROTOC+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $PROTOC in +else $as_nop + case $PROTOC in [\\/]* | ?:[\\/]*) ac_cv_path_PROTOC="$PROTOC" # Let the user override the test with a path. ;; @@ -26296,7 +25553,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi PROTOC=$ac_cv_path_PROTOC @@ -26319,8 +25575,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PROTOC_C+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $PROTOC_C in +else $as_nop + case $PROTOC_C in [\\/]* | ?:[\\/]*) ac_cv_path_PROTOC_C="$PROTOC_C" # Let the user override the test with a path. ;; @@ -26345,7 +25601,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi PROTOC_C=$ac_cv_path_PROTOC_C @@ -26373,8 +25628,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PROTOC_GEN_C+y} then : printf %s "(cached) " >&6 -else case e in #( - e) case $PROTOC_GEN_C in +else $as_nop + case $PROTOC_GEN_C in [\\/]* | ?:[\\/]*) ac_cv_path_PROTOC_GEN_C="$PROTOC_GEN_C" # Let the user override the test with a path. ;; @@ -26399,7 +25654,6 @@ done IFS=$as_save_IFS ;; -esac ;; esac fi PROTOC_GEN_C=$ac_cv_path_PROTOC_GEN_C @@ -26449,8 +25703,8 @@ then : fi LDFLAGS="$LDFLAGS -L$withval/lib" -else case e in #( - e) +else $as_nop + if test -n "$PKG_CONFIG"; then pkg_failed=no @@ -26566,8 +25820,7 @@ fi fi fi - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing protobuf_c_message_pack" >&5 @@ -26575,21 +25828,15 @@ printf %s "checking for library containing protobuf_c_message_pack... " >&6; } if test ${ac_cv_search_protobuf_c_message_pack+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char protobuf_c_message_pack (void); + builtin and then its argument prototype would still apply. */ +char protobuf_c_message_pack (); int main (void) { @@ -26620,13 +25867,11 @@ done if test ${ac_cv_search_protobuf_c_message_pack+y} then : -else case e in #( - e) ac_cv_search_protobuf_c_message_pack=no ;; -esac +else $as_nop + ac_cv_search_protobuf_c_message_pack=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_protobuf_c_message_pack" >&5 printf "%s\n" "$ac_cv_search_protobuf_c_message_pack" >&6; } @@ -26635,9 +25880,8 @@ if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -else case e in #( - e) as_fn_error $? "The protobuf-c library was not found. Please install the development libraries for protobuf-c!" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "The protobuf-c library was not found. Please install the development libraries for protobuf-c!" "$LINENO" 5 fi @@ -26677,9 +25921,8 @@ printf "%s\n" "#define DNSTAP_SOCKET_PATH \"$hdr_dnstap_socket_path\"" >>confdef if test ${enable_dnscrypt+y} then : enableval=$enable_dnscrypt; opt_dnscrypt=$enableval -else case e in #( - e) opt_dnscrypt=no ;; -esac +else $as_nop + opt_dnscrypt=no fi @@ -26699,21 +25942,15 @@ printf %s "checking for library containing sodium_init... " >&6; } if test ${ac_cv_search_sodium_init+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char sodium_init (void); + builtin and then its argument prototype would still apply. */ +char sodium_init (); int main (void) { @@ -26744,13 +25981,11 @@ done if test ${ac_cv_search_sodium_init+y} then : -else case e in #( - e) ac_cv_search_sodium_init=no ;; -esac +else $as_nop + ac_cv_search_sodium_init=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sodium_init" >&5 printf "%s\n" "$ac_cv_search_sodium_init" >&6; } @@ -26759,9 +25994,8 @@ if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -else case e in #( - e) as_fn_error $? "The sodium library was not found. Please install sodium!" "$LINENO" 5 ;; -esac +else $as_nop + as_fn_error $? "The sodium library was not found. Please install sodium!" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing crypto_box_curve25519xchacha20poly1305_beforenm" >&5 @@ -26769,21 +26003,15 @@ printf %s "checking for library containing crypto_box_curve25519xchacha20poly130 if test ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char crypto_box_curve25519xchacha20poly1305_beforenm (void); + builtin and then its argument prototype would still apply. */ +char crypto_box_curve25519xchacha20poly1305_beforenm (); int main (void) { @@ -26814,13 +26042,11 @@ done if test ${ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm+y} then : -else case e in #( - e) ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm=no ;; -esac +else $as_nop + ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm" >&5 printf "%s\n" "$ac_cv_search_crypto_box_curve25519xchacha20poly1305_beforenm" >&6; } @@ -26835,12 +26061,11 @@ then : printf "%s\n" "#define USE_DNSCRYPT_XCHACHA20 1" >>confdefs.h -else case e in #( - e) +else $as_nop + ENABLE_DNSCRYPT_XCHACHA20=0 - ;; -esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sodium_set_misuse_handler" >&5 @@ -26848,21 +26073,15 @@ printf %s "checking for library containing sodium_set_misuse_handler... " >&6; } if test ${ac_cv_search_sodium_set_misuse_handler+y} then : printf %s "(cached) " >&6 -else case e in #( - e) ac_func_search_save_LIBS=$LIBS +else $as_nop + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. - The 'extern "C"' is for builds by C++ compilers; - although this is not generally supported in C code supporting it here - has little cost and some practical benefit (sr 110532). */ -#ifdef __cplusplus -extern "C" -#endif -char sodium_set_misuse_handler (void); + builtin and then its argument prototype would still apply. */ +char sodium_set_misuse_handler (); int main (void) { @@ -26893,13 +26112,11 @@ done if test ${ac_cv_search_sodium_set_misuse_handler+y} then : -else case e in #( - e) ac_cv_search_sodium_set_misuse_handler=no ;; -esac +else $as_nop + ac_cv_search_sodium_set_misuse_handler=no fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS ;; -esac +LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sodium_set_misuse_handler" >&5 printf "%s\n" "$ac_cv_search_sodium_set_misuse_handler" >&6; } @@ -27012,17 +26229,16 @@ if test "x$ac_cv_header_net_pfvar_h" = xyes then : printf "%s\n" "#define HAVE_NET_PFVAR_H 1" >>confdefs.h -else case e in #( - e) +else $as_nop + # mnl # Check whether --with-libmnl was given. if test ${with_libmnl+y} then : withval=$with_libmnl; -else case e in #( - e) withval="yes" ;; -esac +else $as_nop + withval="yes" fi found_libmnl="no" @@ -27053,8 +26269,7 @@ printf "%s\n" "found in $dir" >&6; } if test x_$found_libmnl != x_yes; then as_fn_error $? "Could not find libmnl, libmnl.h" "$LINENO" 5 fi - ;; -esac + fi done @@ -27252,7 +26467,7 @@ printf "%s\n" "#define MAXSYSLOGMSGLEN 10240" >>confdefs.h -version=1.26.0 +version=1.26.1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for build time" >&5 printf %s "checking for build time... " >&6; } @@ -27260,17 +26475,15 @@ ax_date_fmt="%b %e, %Y" if test x"$SOURCE_DATE_EPOCH" = x then : date=`date "+$ax_date_fmt"` -else case e in #( - e) ax_build_date=`date -u -d "@$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null \ +else $as_nop + ax_build_date=`date -u -d "@$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null \ || date -u -r "$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null` if test x"$ax_build_date" = x then : as_fn_error $? "malformed SOURCE_DATE_EPOCH" "$LINENO" 5 -else case e in #( - e) date=$ax_build_date ;; -esac -fi ;; -esac +else $as_nop + date=$ax_build_date +fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $date" >&5 printf "%s\n" "$date" >&6; } @@ -27291,8 +26504,8 @@ cat >confcache <<\_ACEOF # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# 'ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* 'ac_cv_foo' will be assigned the +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF @@ -27322,14 +26535,14 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # 'set' does not quote correctly, so add quotes: double-quote + # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) - # 'set' quotes correctly as required by POSIX, so do not add quotes. + # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | @@ -27390,12 +26603,6 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -# Check whether --enable-year2038 was given. -if test ${enable_year2038+y} -then : - enableval=$enable_year2038; -fi - if test -z "${USE_SYSTEMD_TRUE}" && test -z "${USE_SYSTEMD_FALSE}"; then as_fn_error $? "conditional \"USE_SYSTEMD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -27429,6 +26636,7 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -27437,13 +26645,12 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else case e in #( - e) case `(set -o) 2>/dev/null` in #( +else $as_nop + case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; -esac ;; esac fi @@ -27515,7 +26722,7 @@ IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as 'sh COMMAND' +# We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -27544,6 +26751,7 @@ as_fn_error () } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -27583,12 +26791,11 @@ then : { eval $1+=\$2 }' -else case e in #( - e) as_fn_append () +else $as_nop + as_fn_append () { eval $1=\$$1\$2 - } ;; -esac + } fi # as_fn_append # as_fn_arith ARG... @@ -27602,12 +26809,11 @@ then : { as_val=$(( $* )) }' -else case e in #( - e) as_fn_arith () +else $as_nop + as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } ;; -esac + } fi # as_fn_arith @@ -27690,9 +26896,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. - # In both cases, we have to default to 'cp -pR'. + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -27773,12 +26979,10 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -as_tr_sh="eval sed '$as_sed_sh'" # deprecated +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 @@ -27793,8 +26997,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by unbound $as_me 1.26.0, which was -generated by GNU Autoconf 2.72. Invocation command line was +This file was extended by unbound $as_me 1.26.1, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -27826,7 +27030,7 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -'$as_me' instantiates files and other configuration actions +\`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. @@ -27861,11 +27065,11 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -unbound config.status 1.26.0 -configured by $0, generated by GNU Autoconf 2.72, +unbound config.status 1.26.1 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -27925,8 +27129,8 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error $? "ambiguous option: '$1' -Try '$0 --help' for more information.";; + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -27934,8 +27138,8 @@ Try '$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: '$1' -Try '$0 --help' for more information." ;; + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; @@ -28292,7 +27496,7 @@ do "contrib/unbound_portable.service") CONFIG_FILES="$CONFIG_FILES contrib/unbound_portable.service" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -28312,7 +27516,7 @@ fi # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to '$tmp'. +# after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= @@ -28336,7 +27540,7 @@ ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. -# This happens for instance with './config.status config.h'. +# This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then @@ -28494,13 +27698,13 @@ fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with './config.status Makefile'. +# This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF -# Transform confdefs.h into an awk script 'defines.awk', embedded as +# Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. @@ -28610,7 +27814,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -28632,19 +27836,19 @@ do -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain ':'. + # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done - # Let's still pretend it is 'configure' which instantiates (i.e., don't + # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` @@ -28768,7 +27972,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 esac _ACEOF -# Neutralize VPATH when '$srcdir' = '.'. +# Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -28797,9 +28001,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" diff --git a/configure.ac b/configure.ac index 254a6c63095a..afedb889e89d 100644 --- a/configure.ac +++ b/configure.ac @@ -12,14 +12,14 @@ sinclude(dnscrypt/dnscrypt.m4) # must be numbers. ac_defun because of later processing m4_define([VERSION_MAJOR],[1]) m4_define([VERSION_MINOR],[26]) -m4_define([VERSION_MICRO],[0]) +m4_define([VERSION_MICRO],[1]) AC_INIT([unbound],m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]),[unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues],[unbound]) AC_SUBST(UNBOUND_VERSION_MAJOR, [VERSION_MAJOR]) AC_SUBST(UNBOUND_VERSION_MINOR, [VERSION_MINOR]) AC_SUBST(UNBOUND_VERSION_MICRO, [VERSION_MICRO]) LIBUNBOUND_CURRENT=9 -LIBUNBOUND_REVISION=39 +LIBUNBOUND_REVISION=40 LIBUNBOUND_AGE=1 # 1.0.0 had 0:12:0 # 1.0.1 had 0:13:0 @@ -126,6 +126,7 @@ LIBUNBOUND_AGE=1 # 1.25.1 had 9:37:1 # 1.25.2 had 9:38:1 # 1.26.0 had 9:39:1 +# 1.26.1 had 9:40:1 # Current -- the number of the binary API that we're implementing # Revision -- which iteration of the implementation of the binary diff --git a/daemon/remote.c b/daemon/remote.c index 8e6ba19b1b85..23e62d2ec88a 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -6590,6 +6590,8 @@ fr_atomic_copy_cfg(struct config_file* oldcfg, struct config_file* cfg, COPY_VAR_ptr(ipset_name_v6); #endif COPY_VAR_int(ede); + COPY_VAR_int(val_validation_attempts); + COPY_VAR_int(val_hash_attempts); COPY_VAR_int(iter_scrub_ns); COPY_VAR_int(iter_scrub_cname); COPY_VAR_int(iter_scrub_rrsig); diff --git a/daemon/worker.c b/daemon/worker.c index 5cc586442570..8cfc776c6a54 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -863,7 +863,7 @@ answer_from_cache(struct worker* worker, struct query_info* qinfo, "validation"); goto bail_out; /* need to validate cache entry first */ } else if(rep->security == sec_status_secure) { - if(reply_all_rrsets_secure(rep)) { + if(reply_an_ns_rrsets_secure(rep)) { *is_secure_answer = 1; } else { if(must_validate) { diff --git a/doc/README b/doc/README index 2f5c5a574824..e1183bc0d5e3 100644 --- a/doc/README +++ b/doc/README @@ -1,4 +1,4 @@ -README for Unbound 1.26.0 +README for Unbound 1.26.1 Copyright 2007 NLnet Labs http://unbound.net diff --git a/doc/example.conf.in b/doc/example.conf.in index de37e557e53a..209bbb62d4f5 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -1,7 +1,7 @@ # # Example configuration file. # -# See unbound.conf(5) man page, version 1.26.0. +# See unbound.conf(5) man page, version 1.26.1. # # this is a comment. @@ -203,6 +203,12 @@ server: # protects against poison attempts. # iter-scrub-promiscuous: yes + # Limit on number of DNSSEC validation attempts for a query. + # val-validation-attempts: 32 + + # Limit on number of DNSSEC hash attempts for a query. + # val-hash-attempts: 32 + # msec for waiting for an unknown server to reply. Increase if you # are behind a slow satellite link, to eg. 1128. # unknown-server-time-limit: 376 @@ -728,7 +734,7 @@ server: # non-secure data. Useful to shield the users of this validator from # potential bogus data in the additional section. All unsigned data # in the additional section is removed from secure messages. - # val-clean-additional: yes + # val-clean-additional: no # Turn permissive mode on to permit bogus messages. Thus, messages # for which security checks failed will be returned to clients, diff --git a/doc/libunbound.3.in b/doc/libunbound.3.in index 7fc31b3b0fbe..cf13e380a1d2 100644 --- a/doc/libunbound.3.in +++ b/doc/libunbound.3.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "LIBUNBOUND" "3" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "LIBUNBOUND" "3" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -libunbound \- Unbound DNS validating resolver 1.26.0 functions. +libunbound \- Unbound DNS validating resolver 1.26.1 functions. .SH SYNOPSIS .sp \fB#include <unbound.h>\fP diff --git a/doc/unbound-anchor.8.in b/doc/unbound-anchor.8.in index c4ca01dc1152..452302c6b175 100644 --- a/doc/unbound-anchor.8.in +++ b/doc/unbound-anchor.8.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "UNBOUND-ANCHOR" "8" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "UNBOUND-ANCHOR" "8" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -unbound-anchor \- Unbound 1.26.0 anchor utility. +unbound-anchor \- Unbound 1.26.1 anchor utility. .SH SYNOPSIS .sp \fBunbound\-anchor\fP [\fBopts\fP] diff --git a/doc/unbound-checkconf.8.in b/doc/unbound-checkconf.8.in index dfb26eb7d518..5418ff240ddf 100644 --- a/doc/unbound-checkconf.8.in +++ b/doc/unbound-checkconf.8.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "UNBOUND-CHECKCONF" "8" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "UNBOUND-CHECKCONF" "8" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -unbound-checkconf \- Check Unbound 1.26.0 configuration file for errors. +unbound-checkconf \- Check Unbound 1.26.1 configuration file for errors. .SH SYNOPSIS .sp \fBunbound\-checkconf\fP [\fB\-hf\fP] [\fB\-o option\fP] [cfgfile] diff --git a/doc/unbound-control.8.in b/doc/unbound-control.8.in index 7f29ec7335c3..64696951be6c 100644 --- a/doc/unbound-control.8.in +++ b/doc/unbound-control.8.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "UNBOUND-CONTROL" "8" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "UNBOUND-CONTROL" "8" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -unbound-control \- Unbound 1.26.0 remote server control utility. +unbound-control \- Unbound 1.26.1 remote server control utility. .SH SYNOPSIS .sp \fBunbound\-control\fP [\fB\-hq\fP] [\fB\-c cfgfile\fP] [\fB\-s server\fP] command diff --git a/doc/unbound-host.1.in b/doc/unbound-host.1.in index a7955c93dd04..ab345d4d5e4e 100644 --- a/doc/unbound-host.1.in +++ b/doc/unbound-host.1.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "UNBOUND-HOST" "1" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "UNBOUND-HOST" "1" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -unbound-host \- Unbound 1.26.0 DNS lookup utility. +unbound-host \- Unbound 1.26.1 DNS lookup utility. .SH SYNOPSIS .sp \fBunbound\-host\fP [\fB\-C configfile\fP] [\fB\-vdhr46D\fP] [\fB\-c class\fP] diff --git a/doc/unbound.8.in b/doc/unbound.8.in index 91a4f96a697a..925b2e9735e9 100644 --- a/doc/unbound.8.in +++ b/doc/unbound.8.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "UNBOUND" "8" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "UNBOUND" "8" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -unbound \- Unbound DNS validating resolver 1.26.0. +unbound \- Unbound DNS validating resolver 1.26.1. .SH SYNOPSIS .sp \fBunbound\fP [\fB\-hdpVv\fP] [\fB\-c <cfgfile>\fP] diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 67b59b090db5..d32643a6580b 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -27,9 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "UNBOUND.CONF" "5" "Aug 4, 2026" "1.26.0" "Unbound" +.TH "UNBOUND.CONF" "5" "Sep 16, 2026" "1.26.1" "Unbound" .SH NAME -unbound.conf \- Unbound 1.26.0 configuration file. +unbound.conf \- Unbound 1.26.1 configuration file. .SH SYNOPSIS .sp \fBunbound.conf\fP diff --git a/doc/unbound.conf.rst b/doc/unbound.conf.rst index e341c516ff84..838840d1304a 100644 --- a/doc/unbound.conf.rst +++ b/doc/unbound.conf.rst @@ -2320,7 +2320,7 @@ These options are part of the ``server:`` section. Use this setting to protect the users that rely on this validator for authentication from potentially bad data in the additional section. - Default: yes + Default: no @@UAHL@unbound.conf@val-log-level@@: *<number>* @@ -3358,6 +3358,26 @@ These options are part of the ``server:`` section. Default: yes +@@UAHL@unbound.conf@val-validation-attempts@@: *<number>* + Limit on the number of DNSSEC validation attempts for a query. + This protects against too large numbers of cryptographic operations, + like for a deep delegation chain. + This counts attempts to validate RRSIGs. + When it is exceeded, the query fails. + + Default: 32 + + +@@UAHL@unbound.conf@val-hash-attempts@@: *<number>* + Limit on the number of DNSSEC hash attempts for a query. + This protects against too large numbers of cryptographic operations, + like for a deep delegation chain. + This counts DS hash attempts to match DNSKEYs. + When it is exceeded, the query fails. + + Default: 32 + + @@UAHL@unbound.conf@fast-server-permil@@: *<number>* Specify how many times out of 1000 to pick from the set of fastest servers. 0 turns the feature off. diff --git a/iterator/iter_scrub.c b/iterator/iter_scrub.c index f2f20a5c1ad3..d1f3896bf218 100644 --- a/iterator/iter_scrub.c +++ b/iterator/iter_scrub.c @@ -294,7 +294,14 @@ synth_cname_rrset(uint8_t** sname, size_t* snamelen, uint8_t* alias, if(ttl_t > MAX_TTL) ttl_t = MAX_TTL; ttl = (uint32_t)ttl_t; sldns_write_uint32(cn->rr_first->ttl_data, ttl); - sldns_write_uint32(rrset->rr_first->ttl_data, ttl); + /* Do NOT write the clamp back into the packet buffer: + * parse_packet already sized every name from the original + * bytes and rdata_copy re-walks them trusting those sizes; + * mutating packet bytes between the walks breaks that + * invariant (compression pointers can target these TTL + * bytes). The DNAME rrset receives the same clamp at store + * time in rdata_copy, so the DNAME and the synthesized + * CNAME still carry equal TTLs in the cache. */ } sldns_write_uint16(cn->rr_first->ttl_data+4, aliaslen); memmove(cn->rr_first->ttl_data+6, alias, aliaslen); @@ -648,6 +655,9 @@ scrub_normalize(sldns_buffer* pkt, struct msg_parse* msg, if(rrset->type == LDNS_RR_TYPE_NS && rrset->rr_count > env->cfg->iter_scrub_ns) { shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns); + } else if(rrset->type == LDNS_RR_TYPE_DS && + rrset->rr_count > env->cfg->iter_scrub_ns) { + shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns); } prev = rrset; rrset = rrset->rrset_all_next; @@ -667,6 +677,9 @@ scrub_normalize(sldns_buffer* pkt, struct msg_parse* msg, if(rrset->type == LDNS_RR_TYPE_NS && rrset->rr_count > env->cfg->iter_scrub_ns) { shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns); + } else if(rrset->type == LDNS_RR_TYPE_DS && + rrset->rr_count > env->cfg->iter_scrub_ns) { + shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns); } /* Mark the additional names from relevant rrset as OK. */ @@ -791,6 +804,11 @@ scrub_normalize(sldns_buffer* pkt, struct msg_parse* msg, shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns); } } + } else if(rrset->type==LDNS_RR_TYPE_DS) { + if(rrset->rr_count > env->cfg->iter_scrub_ns) { + shorten_rrset(pkt, rrset, + env->cfg->iter_scrub_ns); + } } /* if this is type DS and we query for type DS we just got * a referral answer for our type DS query, fix packet */ diff --git a/services/authzone.c b/services/authzone.c index 72b37fef9e79..3fe2cec53da7 100644 --- a/services/authzone.c +++ b/services/authzone.c @@ -392,6 +392,20 @@ auth_data_del(rbnode_type* n, void* ATTR_UNUSED(arg)) auth_data_delete(z); } +/** delete chunklist */ +static void +auth_chunk_list_delete(struct auth_chunk* first) +{ + struct auth_chunk* c, *cn; + c = first; + while(c) { + cn = c->next; + free(c->data); + free(c); + c = cn; + } +} + /** delete an auth zone structure (tree remove must be done elsewhere) */ static void auth_zone_delete(struct auth_zone* z, struct auth_zones* az) @@ -413,6 +427,7 @@ auth_zone_delete(struct auth_zone* z, struct auth_zones* az) } if(z->rpz) rpz_delete(z->rpz); + auth_chunk_list_delete(z->perform_write_chunk_list); free(z->name); free(z->zonefile); free(z); @@ -2369,14 +2384,7 @@ static void auth_chunks_delete(struct auth_transfer* at) { if(at->chunks_first) { - struct auth_chunk* c, *cn; - c = at->chunks_first; - while(c) { - cn = c->next; - free(c->data); - free(c); - c = cn; - } + auth_chunk_list_delete(at->chunks_first); } at->chunks_first = NULL; at->chunks_last = NULL; @@ -3593,7 +3601,13 @@ int auth_zones_lookup(struct auth_zones* az, struct query_info* qinfo, *fallback = 1; return 0; } - if(z->zone_expired) { + if(z->zone_expired || (z->zonemd_check && z->zonemd_callback_env)) { + /* Do not serve from a zonemd-check zone while its ZONEMD + * verification is still pending: the content is not yet known + * to pass the configured check. The pending marker + * (zonemd_callback_env) is set under z->lock when the async + * lookup is spawned and cleared by the callback under z->lock, + * so this test is race-free. */ *fallback = z->fallback_enabled; lock_rw_unlock(&z->lock); return 0; @@ -3695,7 +3709,10 @@ int auth_zones_downstream_answer(struct auth_zones* az, struct module_env* env, lock_rw_unlock(&z->lock); return 0; } - if(z->zone_expired) { + if(z->zone_expired || (z->zonemd_check && z->zonemd_callback_env)) { + /* see auth_zones_lookup: a pending ZONEMD verification is + * treated like expiry - the zone content is not yet known + * to pass the configured check. */ if(z->fallback_enabled) { lock_rw_unlock(&z->lock); return 0; @@ -5299,7 +5316,7 @@ apply_http(struct auth_xfer* xfr, struct auth_zone* z, /** write http chunks to zonefile to create downloaded file */ static int -auth_zone_write_chunks(struct auth_xfer* xfr, const char* fname) +auth_zone_write_chunks(struct auth_chunk* chunk_list, const char* fname) { FILE* out; struct auth_chunk* p; @@ -5308,7 +5325,7 @@ auth_zone_write_chunks(struct auth_xfer* xfr, const char* fname) log_err("could not open %s: %s", fname, strerror(errno)); return 0; } - for(p = xfr->task_transfer->chunks_first; p ; p = p->next) { + for(p = chunk_list; p ; p = p->next) { if(!write_out(out, (char*)p->data, p->len)) { log_err("could not write http download to %s", fname); fclose(out); @@ -5319,34 +5336,18 @@ auth_zone_write_chunks(struct auth_xfer* xfr, const char* fname) return 1; } -/** write to zonefile after zone has been updated */ +/** write to zonefile after zone has been updated, z has rdlock by caller. */ static void -xfr_write_after_update(struct auth_xfer* xfr, struct module_env* env) +zone_write_after_update(struct auth_zone* z, struct module_env* env, + struct auth_chunk* chunk_list) { struct config_file* cfg = env->cfg; - struct auth_zone* z; char tmpfile[1024]; char* zfilename; - lock_basic_unlock(&xfr->lock); - - /* get lock again, so it is a readlock and concurrently queries - * can be answered */ - lock_rw_rdlock(&env->auth_zones->lock); - z = auth_zone_find(env->auth_zones, xfr->name, xfr->namelen, - xfr->dclass); - if(!z) { - lock_rw_unlock(&env->auth_zones->lock); - /* the zone is gone, ignore xfr results */ - lock_basic_lock(&xfr->lock); - return; - } - lock_rw_rdlock(&z->lock); - lock_basic_lock(&xfr->lock); - lock_rw_unlock(&env->auth_zones->lock); if(z->zonefile == NULL || z->zonefile[0] == 0) { - lock_rw_unlock(&z->lock); /* no write needed, no zonefile set */ + auth_chunk_list_delete(chunk_list); return; } zfilename = z->zonefile; @@ -5363,21 +5364,21 @@ xfr_write_after_update(struct auth_xfer* xfr, struct module_env* env) if((size_t)strlen(zfilename) + 16 > sizeof(tmpfile)) { verbose(VERB_ALGO, "tmpfilename too long, cannot update " " zonefile %s", zfilename); - lock_rw_unlock(&z->lock); + auth_chunk_list_delete(chunk_list); return; } snprintf(tmpfile, sizeof(tmpfile), "%s.tmp%u", zfilename, (unsigned)getpid()); - if(xfr->task_transfer->master->http) { + if(chunk_list) { /* use the stored chunk list to write them */ - if(!auth_zone_write_chunks(xfr, tmpfile)) { + if(!auth_zone_write_chunks(chunk_list, tmpfile)) { unlink(tmpfile); - lock_rw_unlock(&z->lock); + auth_chunk_list_delete(chunk_list); return; } + auth_chunk_list_delete(chunk_list); } else if(!auth_zone_write_file(z, tmpfile)) { unlink(tmpfile); - lock_rw_unlock(&z->lock); return; } #ifdef UB_ON_WINDOWS @@ -5387,9 +5388,57 @@ xfr_write_after_update(struct auth_xfer* xfr, struct module_env* env) log_err("could not rename(%s, %s): %s", tmpfile, zfilename, strerror(errno)); unlink(tmpfile); - lock_rw_unlock(&z->lock); return; } +} + +/** write to zonefile after zone has updated, reacquires z readlock. */ +static void +zone_write_after_update_reacq(uint8_t* bakname, size_t baknamelen, + uint16_t bakdclass, struct module_env* env, + struct auth_chunk* chunk_list) +{ + struct auth_zone* z; + /* get lock again, so it is a readlock and concurrently queries + * can be answered */ + lock_rw_rdlock(&env->auth_zones->lock); + z = auth_zone_find(env->auth_zones, bakname, baknamelen, bakdclass); + if(!z) { + lock_rw_unlock(&env->auth_zones->lock); + /* the zone is gone, ignore xfr results */ + return; + } + lock_rw_rdlock(&z->lock); + lock_rw_unlock(&env->auth_zones->lock); + + zone_write_after_update(z, env, chunk_list); + lock_rw_unlock(&z->lock); +} + +/** write to zonefile after zone has been updated */ +static void +xfr_write_after_update(struct auth_xfer* xfr, struct module_env* env, + struct auth_chunk* chunk_list) +{ + struct auth_zone* z; + lock_basic_unlock(&xfr->lock); + + /* get lock again, so it is a readlock and concurrently queries + * can be answered */ + lock_rw_rdlock(&env->auth_zones->lock); + z = auth_zone_find(env->auth_zones, xfr->name, xfr->namelen, + xfr->dclass); + if(!z) { + lock_rw_unlock(&env->auth_zones->lock); + /* the zone is gone, ignore xfr results */ + lock_basic_lock(&xfr->lock); + return; + } + lock_rw_rdlock(&z->lock); + lock_basic_lock(&xfr->lock); + lock_rw_unlock(&env->auth_zones->lock); + + zone_write_after_update(z, env, chunk_list); lock_rw_unlock(&z->lock); } @@ -5422,6 +5471,8 @@ xfr_process_chunk_list(struct auth_xfer* xfr, struct module_env* env, int* ixfr_fail) { struct auth_zone* z; + int zonemd_in_progress; + struct auth_chunk* current_chunk_list = NULL; /* obtain locks and structures */ lock_basic_unlock(&xfr->lock); @@ -5505,6 +5556,25 @@ xfr_process_chunk_list(struct auth_xfer* xfr, struct module_env* env, if(z->rpz) rpz_finish_config(z->rpz); + if(z->zonemd_check && z->zonemd_callback_env) { + zonemd_in_progress = 1; + z->zonemd_callback_perform_write = 1; + auth_chunk_list_delete(z->perform_write_chunk_list); + z->perform_write_chunk_list = NULL; + if(xfr->task_transfer->master->http) { + z->perform_write_chunk_list = xfr->task_transfer->chunks_first; + xfr->task_transfer->chunks_first = NULL; + auth_chunks_delete(xfr->task_transfer); + } + } else { + zonemd_in_progress = 0; + z->zonemd_callback_perform_write = 0; + if(xfr->task_transfer->master->http) { + current_chunk_list = xfr->task_transfer->chunks_first; + xfr->task_transfer->chunks_first = NULL; + auth_chunks_delete(xfr->task_transfer); + } + } /* unlock */ lock_rw_unlock(&z->lock); @@ -5515,7 +5585,9 @@ xfr_process_chunk_list(struct auth_xfer* xfr, struct module_env* env, (unsigned)xfr->serial); } /* see if we need to write to a zonefile */ - xfr_write_after_update(xfr, env); + if(!zonemd_in_progress) { + xfr_write_after_update(xfr, env, current_chunk_list); + } return 1; } @@ -8162,7 +8234,8 @@ static int zonemd_dnssec_verify_rrset(struct auth_zone* z, "zonemd: verify %s RRset with DNSKEY", typestr); } sec = dnskeyset_verify_rrset(env, ve, &pk, dnskey, sigalg, why_bogus, NULL, - LDNS_SECTION_ANSWER, NULL, &verified, reasonbuf, reasonlen); + LDNS_SECTION_ANSWER, NULL, NULL, &verified, reasonbuf, + reasonlen); if(sec == sec_status_secure) { return 1; } @@ -8511,8 +8584,8 @@ zonemd_get_dnskey_from_anchor(struct auth_zone* z, struct module_env* env, auth_zone_log(z->name, VERB_QUERY, "zonemd: verify DNSKEY RRset with trust anchor"); sec = val_verify_DNSKEY_with_TA(env, ve, keystorage, anchor->ds_rrset, - anchor->dnskey_rrset, NULL, why_bogus, NULL, NULL, reasonbuf, - reasonlen); + anchor->dnskey_rrset, NULL, why_bogus, NULL, NULL, NULL, + reasonbuf, reasonlen); regional_free_all(env->scratch); if(sec == sec_status_secure) { /* success */ @@ -8572,7 +8645,7 @@ auth_zone_verify_zonemd_key_with_ds(struct auth_zone* z, keystorage->rk.rrset_class = htons(z->dclass); auth_zone_log(z->name, VERB_QUERY, "zonemd: verify zone DNSKEY with DS"); sec = val_verify_DNSKEY_with_DS(env, ve, keystorage, ds, sigalg, - why_bogus, NULL, NULL, reasonbuf, reasonlen); + why_bogus, NULL, NULL, NULL, reasonbuf, reasonlen); regional_free_all(env->scratch); if(sec == sec_status_secure) { /* success */ @@ -8601,9 +8674,13 @@ void auth_zonemd_dnskey_lookup_callback(void* arg, int rcode, sldns_buffer* buf, char reasonbuf[256]; char* reason = NULL, *ds_bogus = NULL, *typestr="DNSKEY"; struct ub_packed_rrset_key* dnskey = NULL, *ds = NULL; - int is_insecure = 0, downprot; + int is_insecure = 0, downprot, perform_write = 0; struct ub_packed_rrset_key keystorage; uint8_t sigalg[ALGO_NEEDS_MAX+1]; + uint8_t bakname[LDNS_MAX_DOMAINLEN]; + size_t baknamelen; + uint16_t bakdclass; + struct auth_chunk* chunk_list = NULL; lock_rw_wrlock(&z->lock); env = z->zonemd_callback_env; @@ -8726,7 +8803,37 @@ void auth_zonemd_dnskey_lookup_callback(void* arg, int rcode, sldns_buffer* buf, auth_zone_verify_zonemd_with_key(z, env, &env->mesh->mods, dnskey, is_insecure, NULL, downprot?sigalg:NULL); regional_free_all(env->scratch); + + if(z->zonemd_callback_perform_write) { + if(!z->zone_expired) { + /* Write to zonefile if the ZONEMD is okay. */ + perform_write = 1; + /* copy the key to lookup the z structure. + * The new lookup is readonly so concurrent + * queries can continue. */ + if(z->namelen > sizeof(bakname)) { + perform_write = 0; + auth_chunk_list_delete(z->perform_write_chunk_list); + z->perform_write_chunk_list = NULL; + } else { + memcpy(bakname, z->name, z->namelen); + baknamelen = z->namelen; + bakdclass = z->dclass; + chunk_list = z->perform_write_chunk_list; + z->perform_write_chunk_list = NULL; + } + } else { + auth_chunk_list_delete(z->perform_write_chunk_list); + z->perform_write_chunk_list = NULL; + } + z->zonemd_callback_perform_write = 0; + } lock_rw_unlock(&z->lock); + + if(perform_write) { + zone_write_after_update_reacq(bakname, baknamelen, bakdclass, + env, chunk_list); + } } /** lookup DNSKEY for ZONEMD verification */ @@ -8794,6 +8901,9 @@ zonemd_lookup_dnskey(struct auth_zone* z, struct module_env* env) &auth_zonemd_dnskey_lookup_callback, z, 0, &z->zonemd_callback_unique_info)) { lock_rw_wrlock(&z->lock); + /* no callback will run; do not leave the pending + * marker set */ + z->zonemd_callback_env = NULL; log_err("out of memory lookup of %s for zonemd", (fetch_ds?"DS":"DNSKEY")); return 0; diff --git a/services/authzone.h b/services/authzone.h index 97ab01fcbc1d..24c8c80b57ca 100644 --- a/services/authzone.h +++ b/services/authzone.h @@ -146,6 +146,10 @@ struct auth_zone { uint16_t zonemd_callback_qtype; /** for the zonemd callback, the unique info */ void* zonemd_callback_unique_info; + /** if the zonemd callback should write to file */ + int zonemd_callback_perform_write; + /** chunklist to write for chunked transfer. */ + struct auth_chunk* perform_write_chunk_list; /** zone has been deleted */ int zone_deleted; /** deletelist pointer, unused normally except during delete */ diff --git a/services/cache/dns.c b/services/cache/dns.c index 04d5ae2d6302..e83b57c1118d 100644 --- a/services/cache/dns.c +++ b/services/cache/dns.c @@ -677,7 +677,7 @@ tomsg(struct module_env* env, struct query_info* q, struct reply_info* r, rrset_array_unlock(r->ref, r->rrset_count); return NULL; } - if(r->security == sec_status_secure && !reply_all_rrsets_secure(r)) { + if(r->security == sec_status_secure && !reply_an_ns_rrsets_secure(r)) { /* message rrsets have changed status, revalidate */ rrset_array_unlock(r->ref, r->rrset_count); return NULL; diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index 8ef084e5e299..f545a2aafb74 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -2133,7 +2133,7 @@ void listen_start_accept(struct listen_dnsport* listen) } struct tcp_req_info* -tcp_req_info_create(struct sldns_buffer* spoolbuf) +tcp_req_info_create(struct comm_base* base, struct sldns_buffer* spoolbuf) { struct tcp_req_info* req = (struct tcp_req_info*)malloc(sizeof(*req)); if(!req) { @@ -2141,6 +2141,12 @@ tcp_req_info_create(struct sldns_buffer* spoolbuf) return NULL; } memset(req, 0, sizeof(*req)); + req->read_again_timer = comm_timer_create(base, tcp_read_again_cb, req); + if(!req->read_again_timer) { + log_err("malloc failure"); + free(req); + return NULL; + } req->spool_buffer = spoolbuf; return req; } @@ -2150,6 +2156,7 @@ tcp_req_info_delete(struct tcp_req_info* req) { if(!req) return; tcp_req_info_clear(req); + comm_timer_delete(req->read_again_timer); /* cp is pointer back to commpoint that owns this struct and * called delete on us */ /* spool_buffer is shared udp buffer, not deleted here */ @@ -2189,6 +2196,9 @@ void tcp_req_info_clear(struct tcp_req_info* req) req->done_req_list = NULL; req->num_done_req = 0; req->read_is_closed = 0; + + if(comm_timer_is_set(req->read_again_timer)) + comm_timer_disable(req->read_again_timer); } void @@ -4504,7 +4514,7 @@ doq_stream_reset_cb(ngtcp2_conn* ATTR_UNUSED(conn), int64_t stream_id, "unknown stream %d", (int)stream_id); return 0; } - if(!doq_stream_close(doq_conn, stream, 0)) + if(!doq_stream_close(doq_conn, stream, 1)) return NGTCP2_ERR_CALLBACK_FAILURE; return 0; } diff --git a/services/listen_dnsport.h b/services/listen_dnsport.h index ae0463468520..4aeb6aa7051e 100644 --- a/services/listen_dnsport.h +++ b/services/listen_dnsport.h @@ -347,6 +347,10 @@ struct tcp_req_info { int num_done_req; /** list of pending writable result packets, malloced one at a time */ struct tcp_req_done_item* done_req_list; + /** the read again timer, when the number of pipelined TCP queries + * is large, it waits, zero time, for a new event loop to service + * the remainder of the TCP traffic on the fd. */ + struct comm_timer* read_again_timer; }; /** @@ -377,10 +381,12 @@ struct tcp_req_done_item { * Create tcp request info structure that keeps track of open * requests on the TCP channel that are resolved at the same time, * and the pending results that have to get written back to that client. + * @param base: comm base for read again timer. * @param spoolbuf: shared buffer * @return new structure or NULL on alloc failure. */ -struct tcp_req_info* tcp_req_info_create(struct sldns_buffer* spoolbuf); +struct tcp_req_info* tcp_req_info_create(struct comm_base* base, + struct sldns_buffer* spoolbuf); /** * Delete tcp request structure. Called by owning commpoint. diff --git a/services/mesh.c b/services/mesh.c index add773b88c5a..04dedd3296fa 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -373,7 +373,7 @@ mesh_serve_expired_lookup(struct module_qstate* qstate, "validation"); goto bail_out; /* need to validate cache entry first */ } else if(msg->rep->security == sec_status_secure && - !reply_all_rrsets_secure(msg->rep) && must_validate) { + !reply_an_ns_rrsets_secure(msg->rep) && must_validate) { verbose(VERB_ALGO, "Serve expired: secure entry" " changed status"); goto bail_out; /* rrset changed, re-verify */ @@ -1097,6 +1097,18 @@ mesh_state_make_unique(struct mesh_state* mstate) mstate->unique = mstate; } +/** pop a reply from the reply list, if there are any. */ +static struct mesh_reply* +mesh_reply_list_pop_first(struct mesh_state* mstate) +{ + if(mstate->reply_list) { + struct mesh_reply* r = mstate->reply_list; + mstate->reply_list = r->next; + return r; + } + return NULL; +} + void mesh_state_cleanup(struct mesh_state* mstate) { @@ -1112,15 +1124,30 @@ mesh_state_cleanup(struct mesh_state* mstate) } /* drop unsent replies */ if(!mstate->replies_sent) { - struct mesh_reply* rep = mstate->reply_list; + struct mesh_reply* rep; struct mesh_cb* cb; - /* in tcp_req_info, the mstates linked are removed, but - * the reply_list is now NULL, so the remove-from-empty-list - * takes no time and also it does not do the mesh accounting */ - mstate->reply_list = NULL; - for(; rep; rep=rep->next) { + /* Pop items from the list, that means there is no iterator. + * And then items can be removed from the reply list, from + * like comm_point_drop_reply and comm_point_close calls. + * As the tcp_req_info and http2 code drops the entire + * connection. That could delete mesh_reply items previous and + * after the current state. The previous items are already + * popped. And the next items can be altered, like to when a + * connection has more replies on the reply list. + * The current item is also popped so the code needs to + * remove its references. */ + while((rep = mesh_reply_list_pop_first(mstate)) != NULL) { infra_wait_limit_dec(mesh->env->infra_cache, &rep->query_reply, mesh->env->cfg); + if(rep->query_reply.c->tcp_req_info) + tcp_req_info_remove_mesh_state( + rep->query_reply.c->tcp_req_info, + mstate); + else if(rep->query_reply.c->use_h2) + http2_stream_remove_mesh_state(rep->h2_stream); + else if(rep->query_reply.doq_stream) + doq_stream_remove_mesh_state( + rep->query_reply.doq_stream); comm_point_drop_reply(&rep->query_reply); log_assert(mesh->num_reply_addrs > 0); mesh->num_reply_addrs--; @@ -1484,12 +1511,6 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep, struct timeval end_time; struct timeval duration; int secure; - /* briefly set the replylist to null in case the - * meshsendreply calls tcpreqinfo sendreply that - * comm_point_drops because of size, and then the - * null stops the mesh state remove and thus - * reply_list modification and accounting */ - struct mesh_reply* rlist = m->reply_list; /* rpz: apply actions */ rcode = mesh_is_udp(r) && mesh_is_rpz_respip_tcponly_action(m) @@ -1546,9 +1567,7 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep, sldns_buffer_write_at(r_buffer, 0, &r->qid, sizeof(uint16_t)); sldns_buffer_write_at(r_buffer, 12, r->qname, m->s.qinfo.qname_len); - m->reply_list = NULL; comm_point_send_reply(&r->query_reply); - m->reply_list = rlist; } else if(rcode) { m->s.qinfo.qname = r->qname; m->s.qinfo.local_alias = r->local_alias; @@ -1570,9 +1589,7 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep, } error_encode(r_buffer, rcode, &m->s.qinfo, r->qid, r->qflags, &r->edns); - m->reply_list = NULL; comm_point_send_reply(&r->query_reply); - m->reply_list = rlist; } else { size_t udp_size = r->edns.udp_size; r->edns.edns_version = EDNS_ADVERTISED_VERSION; @@ -1608,9 +1625,7 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep, error_encode(r_buffer, LDNS_RCODE_SERVFAIL, &m->s.qinfo, r->qid, r->qflags, &r->edns); } - m->reply_list = NULL; comm_point_send_reply(&r->query_reply); - m->reply_list = rlist; } infra_wait_limit_dec(m->s.env->infra_cache, &r->query_reply, m->s.env->cfg); @@ -1762,6 +1777,7 @@ void mesh_query_done(struct mesh_state* mstate) struct reply_info* rep = (mstate->s.return_msg? mstate->s.return_msg->rep:NULL); struct timeval tv = {0, 0}; + struct mesh_area* mesh = mstate->s.env->mesh; int i = 0; /* No need for the serve expired timer anymore; we are going to reply. */ if(mstate->s.serve_expired_data) { @@ -1786,7 +1802,18 @@ void mesh_query_done(struct mesh_state* mstate) && (!rep || rep->security != sec_status_secure)) dns_error_reporting(&mstate->s, rep); - for(r = mstate->reply_list; r; r = r->next) { + while((r = mesh_reply_list_pop_first(mstate)) != NULL) { + + /* it was not detached (because it had a reply list), could be now */ + if(!mstate->reply_list && !mstate->cb_list + && mstate->super_set.count == 0) { + mesh->num_detached_states++; + } + /* if not replies any more in mstate, it is no longer a reply_state */ + if(!mstate->reply_list && !mstate->cb_list) { + log_assert(mesh->num_reply_states > 0); + mesh->num_reply_states--; + } if(mesh_is_udp(r)) { /* For UDP queries, the old replies are discarded. * This stops a large volume of old replies from @@ -1801,22 +1828,18 @@ void mesh_query_done(struct mesh_state* mstate) ((int)old.tv_sec)*1000+((int)old.tv_usec)/1000 > mstate->s.env->cfg->discard_timeout) { /* Drop the reply, it is too old */ - /* briefly set the reply_list to NULL, so that the - * tcp req info cleanup routine that calls the mesh - * to deregister the meshstate for it is not done - * because the list is NULL and also accounting is not - * done there, but instead we do that here. */ - struct mesh_reply* reply_list = mstate->reply_list; verbose(VERB_ALGO, "drop reply, it is older than discard-timeout"); infra_wait_limit_dec(mstate->s.env->infra_cache, &r->query_reply, mstate->s.env->cfg); - mstate->reply_list = NULL; - if(r->query_reply.c->use_h2) + if(r->query_reply.c->tcp_req_info) + tcp_req_info_remove_mesh_state( + r->query_reply.c->tcp_req_info, + mstate); + else if(r->query_reply.c->use_h2) http2_stream_remove_mesh_state(r->h2_stream); else if(r->query_reply.doq_stream) doq_stream_remove_mesh_state(r->query_reply.doq_stream); comm_point_drop_reply(&r->query_reply); - mstate->reply_list = reply_list; log_assert(mstate->s.env->mesh->num_reply_addrs > 0); mstate->s.env->mesh->num_reply_addrs--; mstate->s.env->mesh->num_queries_discard_timeout++; @@ -1841,22 +1864,17 @@ void mesh_query_done(struct mesh_state* mstate) /* if this query is determined to be dropped during the * mesh processing, this is the point to take that action. */ if(mstate->s.is_drop) { - /* briefly set the reply_list to NULL, so that the - * tcp req info cleanup routine that calls the mesh - * to deregister the meshstate for it is not done - * because the list is NULL and also accounting is not - * done there, but instead we do that here. */ - struct mesh_reply* reply_list = mstate->reply_list; infra_wait_limit_dec(mstate->s.env->infra_cache, &r->query_reply, mstate->s.env->cfg); - mstate->reply_list = NULL; - if(r->query_reply.c->use_h2) { + if(r->query_reply.c->tcp_req_info) { + tcp_req_info_remove_mesh_state( + r->query_reply.c->tcp_req_info, mstate); + } else if(r->query_reply.c->use_h2) { http2_stream_remove_mesh_state(r->h2_stream); } else if(r->query_reply.doq_stream) { doq_stream_remove_mesh_state(r->query_reply.doq_stream); } comm_point_drop_reply(&r->query_reply); - mstate->reply_list = reply_list; log_assert(mstate->s.env->mesh->num_reply_addrs > 0); mstate->s.env->mesh->num_reply_addrs--; } else { @@ -1897,18 +1915,6 @@ void mesh_query_done(struct mesh_state* mstate) } } - /* Mesh area accounting */ - if(mstate->reply_list) { - mstate->reply_list = NULL; - if(!mstate->reply_list && !mstate->cb_list) { - /* was a reply state, not anymore */ - log_assert(mstate->s.env->mesh->num_reply_states > 0); - mstate->s.env->mesh->num_reply_states--; - } - if(!mstate->reply_list && !mstate->cb_list && - mstate->super_set.count == 0) - mstate->s.env->mesh->num_detached_states++; - } mstate->replies_sent = 1; while((c = mstate->cb_list) != NULL) { @@ -2498,7 +2504,6 @@ void mesh_state_remove_reply(struct mesh_area* mesh, struct mesh_state* m, } } - static int apply_respip_action(struct module_qstate* qstate, const struct query_info* qinfo, struct respip_client_info* cinfo, @@ -2631,7 +2636,18 @@ mesh_serve_expired_callback(void* arg) if(verbosity >= VERB_ALGO) log_dns_msg("Serve expired lookup", &qstate->qinfo, msg->rep); - for(r = mstate->reply_list; r; r = r->next) { + while((r = mesh_reply_list_pop_first(mstate)) != NULL) { + + /* it was not detached (because it had a reply list), could be now */ + if(!mstate->reply_list && !mstate->cb_list + && mstate->super_set.count == 0) { + mesh->num_detached_states++; + } + /* if not replies any more in mstate, it is no longer a reply_state */ + if(!mstate->reply_list && !mstate->cb_list) { + log_assert(mesh->num_reply_states > 0); + mesh->num_reply_states--; + } if(mesh_is_udp(r)) { struct timeval old; timeval_subtract(&old, mstate->s.env->now_tv, &r->start_time); @@ -2639,22 +2655,17 @@ mesh_serve_expired_callback(void* arg) ((int)old.tv_sec)*1000+((int)old.tv_usec)/1000 > mstate->s.env->cfg->discard_timeout) { /* Drop the reply, it is too old */ - /* briefly set the reply_list to NULL, so that the - * tcp req info cleanup routine that calls the mesh - * to deregister the meshstate for it is not done - * because the list is NULL and also accounting is not - * done there, but instead we do that here. */ - struct mesh_reply* reply_list = mstate->reply_list; verbose(VERB_ALGO, "drop reply, it is older than discard-timeout"); infra_wait_limit_dec(mstate->s.env->infra_cache, &r->query_reply, mstate->s.env->cfg); - mstate->reply_list = NULL; - if(r->query_reply.c->use_h2) + if(r->query_reply.c->tcp_req_info) + tcp_req_info_remove_mesh_state( + r->query_reply.c->tcp_req_info, mstate); + else if(r->query_reply.c->use_h2) http2_stream_remove_mesh_state(r->h2_stream); else if(r->query_reply.doq_stream) doq_stream_remove_mesh_state(r->query_reply.doq_stream); comm_point_drop_reply(&r->query_reply); - mstate->reply_list = reply_list; log_assert(mstate->s.env->mesh->num_reply_addrs > 0); mstate->s.env->mesh->num_reply_addrs--; mstate->s.env->mesh->num_queries_discard_timeout++; @@ -2692,8 +2703,7 @@ mesh_serve_expired_callback(void* arg) if(r->query_reply.c->tcp_req_info) tcp_req_info_remove_mesh_state(r->query_reply.c->tcp_req_info, mstate); /* mesh_send_reply removed mesh state from http2_stream. */ - infra_wait_limit_dec(mstate->s.env->infra_cache, - &r->query_reply, mstate->s.env->cfg); + /* mesh_send_reply decremented wait_limit. */ prev = r; prev_buffer = r_buffer; } @@ -2712,18 +2722,6 @@ mesh_serve_expired_callback(void* arg) } } - /* Mesh area accounting */ - if(mstate->reply_list) { - mstate->reply_list = NULL; - if(!mstate->reply_list && !mstate->cb_list) { - log_assert(mesh->num_reply_states > 0); - mesh->num_reply_states--; - if(mstate->super_set.count == 0) { - mesh->num_detached_states++; - } - } - } - while((c = mstate->cb_list) != NULL) { /* take this cb off the list; so that the list can be * changed, eg. by adds from the callback routine */ diff --git a/testcode/testbound.c b/testcode/testbound.c index 063037df4e80..3a3bcaef6cf4 100644 --- a/testcode/testbound.c +++ b/testcode/testbound.c @@ -786,3 +786,13 @@ size_t doq_table_quic_size_get(struct doq_table* ATTR_UNUSED(table)) return 0; } #endif + +void tcp_read_again_cb(void* ATTR_UNUSED(arg)) +{ + /* nothing */ +} + +void tcp_more_read_again_cb(void* ATTR_UNUSED(arg)) +{ + /* nothing */ +} diff --git a/testcode/unitverify.c b/testcode/unitverify.c index fcf2e2ffe3d1..ea991faac829 100644 --- a/testcode/unitverify.c +++ b/testcode/unitverify.c @@ -196,7 +196,7 @@ verifytest_rrset(struct module_env* env, struct val_env* ve, setup_sigalg(dnskey, sigalg); /* check all algorithms in the dnskey */ /* ok to give null as qstate here, won't be used for answer section. */ sec = dnskeyset_verify_rrset(env, ve, rrset, dnskey, sigalg, &reason, - NULL, LDNS_SECTION_ANSWER, NULL, &verified, reasonbuf, + NULL, LDNS_SECTION_ANSWER, NULL, NULL, &verified, reasonbuf, sizeof(reasonbuf)); if(vsig) { printf("verify outcome is: %s %s\n", sec_status_to_string(sec), @@ -510,6 +510,146 @@ nsec3_hash_test(const char* fname) sldns_buffer_free(buf); } +/** Test the rrset_canonicalize_to_buffer function to see if the + * size of canon_owner name is properly checked for. */ +static void +canon_owner_buf_test(void) +{ + struct regional* region; + sldns_buffer* buf; + struct ub_packed_rrset_key k; + struct packed_rrset_data d; + size_t rr_len[2]; + time_t rr_ttl[2]; + uint8_t* rr_data[2]; + int ret; + unit_show_func("validator/val_sigcrypt.c", + "rrset_canonicalize_to_buffer"); + region = regional_create(); + if(!region) + fatal_exit("out of memory"); + /* Purposefully a very small buffer, to overflow it */ + buf = sldns_buffer_new(28); + if(!buf) + fatal_exit("out of memory"); + + /* An RRset to canonicalize. The buffer is made smaller, so + * it can fail on bounds checks. */ + memset(&d, 0, sizeof(d)); + d.ttl = 3600; + d.count = 1; + d.rrsig_count = 1; + d.rr_len = rr_len; + d.rr_ttl = rr_ttl; + d.rr_data = rr_data; + rr_len[0] = 18; + rr_len[1] = 36; + rr_ttl[0] = 3600; + rr_ttl[1] = 3600; + rr_data[0] = (uint8_t*)"\x00\x10\x0Fzzaaaaaaaaaaaaa"; + rr_data[1] = (uint8_t*)"\x00\x24\x00\x06\x08\x3\x01\x02\x03\x04\x01\x02\x03\x04\x01\x02\x03\x04\x12\x34\x03zzz\x00zzaaaaaaaaaaa"; + + memset(&k, 0, sizeof(k)); + k.rk.dname = (uint8_t*) "\x0f" "aaaaaaaaaaaaaaa" "\x00"; + k.rk.dname_len = 17; + k.rk.type = htons(LDNS_RR_TYPE_TXT); + k.rk.rrset_class = htons(LDNS_RR_CLASS_IN); + k.entry.data = &d; + + /* There should be no buffer overflow, assertion failure, here */ + ret = rrset_canonicalize_to_buffer(region, buf, &k); + unit_assert(ret == 0); + + regional_destroy(region); + sldns_buffer_free(buf); +} + +/** Test if ds_digest_match_dnskey that calls ds_create_dnskey_digest, + * checks the buffer size. */ +static void +dnskey_ds_digest_test(void) +{ + struct regional* region; + sldns_buffer* buf; + struct module_env env; + struct ub_packed_rrset_key k1, k2; + struct packed_rrset_data d1, d2; + size_t rr_len1[1], rr_len2[1]; + time_t rr_ttl1[1], rr_ttl2[1]; + uint8_t* rr_rdata1[1], *rr_rdata2[1]; + int ret; + unit_show_func("validator/val_sigcrypt.c", "ds_digest_match_dnskey"); + region = regional_create(); + if(!region) + fatal_exit("out of memory"); + /* Purposefully a very small buffer, to overflow it */ + buf = sldns_buffer_new(28); + if(!buf) + fatal_exit("out of memory"); + memset(&env, 0, sizeof(env)); + env.scratch = region; + env.scratch_buffer = buf; + + /* A DNSKEY and DS RRset to match together. The buffer is made + * smaller, so it can fail on bounds checks. */ + memset(&d1, 0, sizeof(d1)); + d1.ttl = 3600; + d1.count = 1; + d1.rr_len = rr_len1; + d1.rr_ttl = rr_ttl1; + d1.rr_data = rr_rdata1; + rr_len1[0] = 38; + rr_ttl1[0] = 3600; + /* DS rdata has: keytag (2bytes), algorithm (1byte), + * digesttype (1byte), digest (remainder). */ + rr_rdata1[0] = (uint8_t*)"\x00\x24" + "\x12\x34" + "\x08" /* RSASHA256 */ + "\x02" /* SHA256 */ + "0123456789abcdef0123456789abcdef"; /* 32 bytes */ + ; + + memset(&k1, 0, sizeof(k1)); + k1.rk.dname = (uint8_t*) "\x03" "foo" "\x00"; + k1.rk.dname_len = 5; + k1.rk.type = htons(LDNS_RR_TYPE_DS); + k1.rk.rrset_class = htons(LDNS_RR_CLASS_IN); + k1.entry.data = &d1; + + memset(&d2, 0, sizeof(d2)); + d2.ttl = 3600; + d2.count = 1; + d2.rr_len = rr_len2; + d2.rr_ttl = rr_ttl2; + d2.rr_data = rr_rdata2; + rr_len2[0] = 38; + rr_ttl2[0] = 3600; + /* DNSKEY rdata has: flags (2bytes), protocol (1byte), + * algorithm (1byte), publickey (remainder). */ + rr_rdata2[0] = (uint8_t*)"\x00\x24" + "\x01\x01" /* KSK */ + "\x03" /* DNSSEC_KEYPROTO */ + "\x08" /* RSASHA256 */ + "0123456789abcdef0123456789abcdef"; /* 32 bytes of content */ + ; + + memset(&k2, 0, sizeof(k2)); + k2.rk.dname = (uint8_t*) "\x03" "foo" "\x00"; + k2.rk.dname_len = 5; + k2.rk.type = htons(LDNS_RR_TYPE_DNSKEY); + k2.rk.rrset_class = htons(LDNS_RR_CLASS_IN); + k2.entry.data = &d2; + /* 36 byte rdata length for DNSKEY (38-2), and dname length of 5, + * exceeds the (small) buffer size. */ + + /* There should be no buffer overflow, assertion failure, here */ + ret = ds_digest_match_dnskey(&env, &k2, 0, &k1, 0); + unit_assert(ret == 0); + + regional_destroy(region); + sldns_buffer_free(buf); +} + #define xstr(s) str(s) #define str(s) #s @@ -724,4 +864,6 @@ verify_test(void) #endif nsectest(); nsec3_hash_test(SRCDIRSTR "/testdata/test_nsec3_hash.1"); + dnskey_ds_digest_test(); + canon_owner_buf_test(); } diff --git a/testdata/03-testbound.tdir/03-testbound.test b/testdata/03-testbound.tdir/03-testbound.test index b9fdf214df82..dd75b061d2f0 100644 --- a/testdata/03-testbound.tdir/03-testbound.test +++ b/testdata/03-testbound.tdir/03-testbound.test @@ -85,6 +85,15 @@ for input in $PRE/testdata/*.rpl $PRE/testdata/*.crpl; do fi fi + # detect if ECDSA is needed + if echo $cleaninput | grep ecdsa >/dev/null 2>&1; then + if $PRE/testbound -e >/dev/null 2>&1; then + : # ECDSA is supported + else + continue + fi + fi + # detect if CLIENT_SUBNET is needed if echo $cleaninput | grep subnet >/dev/null 2>&1; then if $PRE/testbound -c >/dev/null 2>&1; then diff --git a/testdata/auth_zonemd_xfr_chain_fail.rpl b/testdata/auth_zonemd_xfr_chain_fail.rpl index 3e09c9e8e40b..76a989f75096 100644 --- a/testdata/auth_zonemd_xfr_chain_fail.rpl +++ b/testdata/auth_zonemd_xfr_chain_fail.rpl @@ -283,39 +283,9 @@ www.example.com. IN A SECTION ANSWER ENTRY_END -; the zonefile was updated with new contents +; the zonefile was not updated with new contents, due to zonemd failure STEP 70 CHECK_TEMPFILE example.com FILE_BEGIN -example.com. 3600 IN SOA ns.example.com. hostmaster.example.com. 200154054 28800 7200 604800 3600 -example.com. 3600 IN RRSIG SOA 8 2 3600 20201116135527 20201019135527 55566 example.com. gcFHT/Q4iDZ78CK6fyY2HZr8sRtgH2Rna9fEs06RW0gqMnfDntweoIaBamOZ7NlAP84aY2bZeanmEccmkHexByUpodCoKQ4NzVXctLr0TO4PVoFyfUfj62fjhM56SF8ioDxsoDQcPtYXcjNQjwfntWofMqHCMxrb9LzbgePzhOM= -example.com. 3600 IN NS ns.example.com. -example.com. 3600 IN RRSIG NS 8 2 3600 20201116135527 20201019135527 55566 example.com. X+V3XsbJbBi9OsHpjMkGCox8RLY/uXp/XX/O/flTrIre9fMDWm9ZGnewtuQFpLgGc6hUTi0eLsuRWRA5fZXEKUBhmoR2Ph01KgE1gvlL7v6zPWQwXVcBRUr3mOSbYdNNkHkXEjiDBGEhNkfqR216zNgw563eEGXOkLUFNIx5Zpg= -example.com. 3600 IN NSEC bar.example.com. NS SOA RRSIG NSEC DNSKEY ZONEMD -example.com. 3600 IN RRSIG NSEC 8 2 3600 20201116135527 20201019135527 55566 example.com. ufLrlOQprAqjnH85Rt3T0Mxd3ZB0mBeeNIr84eFJ8Rk6WiWEPm0Y1R7GRufNI24Mj7iqLcL4nJM6KK6B7dJqjqu73jw1acuYNnbsoV2BNDRXRFP2FNWTpctVdi+955f3FzgsmEJXfGiSUG0YXAEcZmdCPCn5ii2jk8mk7r6KKYo= -example.com. 3600 IN DNSKEY 256 3 8 AwEAAdug/L739i0mgN2nuK/bhxu3wFn5Ud9nK2+XUmZQlPUEZUC5YZvm1rfMmEWTGBn87fFxEu/kjFZHJ55JLzqsbbpVHLbmKCTT2gYR2FV2WDKROGKuYbVkJIXdKAjJ0ONuK507NinYvlWXIoxHn22KAWOd9wKgSTNHBlmGkX+ts3hh ;{id = 55566} -example.com. 3600 IN RRSIG DNSKEY 8 2 3600 20201116135527 20201019135527 55566 example.com. fsdnVg38PKQTH2mDOwkXL6Jre7JP7Gf8WI3CvIbmeYQUJtAlpcSbZkS3wInm3kKMxOuT55BWzndQzpfmpo91OqJjG27W0k9301NMLUwFprA6b9HK+iPAT0JpYPDPzcm1bQdarLzLS+eD/GPwmyVSX7Gze+08VfE8m8sOW2r7UjA= -example.com. 3600 IN ZONEMD 200154054 1 2 58F7620F93204BBB31B44F795B3409CC4ABD9EF5601DECC15675BD7751213152984EDDCE0626E6062E744B03B3E47711202FBB79E4A2EB8BC5CF46741B5CAE6F -example.com. 3600 IN RRSIG ZONEMD 8 2 3600 20201116135527 20201019135527 55566 example.com. orn8ZF/yqj9u4WrhiO6gtEcTaVsnZSWWZLfXhcIOiWSB8kKCxtZl5cG17dD3Du1NllUwMRqkp0KleLhIoUS9xeQ/0x05u+CYLrfQ62oAiD7q54ZQzpXJIH52aQzKV70ZnO03CZowhQBnetmIoKX6xLogKo8pt+BdQbo3oVHxV8Y= -bar.example.com. 3600 IN A 1.2.3.55 -bar.example.com. 3600 IN RRSIG A 8 3 3600 20201116135527 20201019135527 55566 example.com. NYhmRicF4C9+YxpWeQrepy4ALM1CM0USoDuGi3W5Xtp4/+YpCJfSIdR9vlJaJ2WayYuZrz9Ai2ci7oWwE1Fn3oywGwCKvGo9m0c3mC2eEtphE19wrop6pWu6um4RiFhmzYS1voraA3PAdYzze9U4NHzlk0+sb5vNZW9dSZS30Ds= -bar.example.com. 3600 IN NSEC ding.example.com. A RRSIG NSEC -bar.example.com. 3600 IN RRSIG NSEC 8 3 3600 20201116135527 20201019135527 55566 example.com. VhsGuBx20DXQZNU8ITAMnasn6NVyEjN9xtB8msH5xJn80UCuaqvFBURzcPWN3aHnykEvGfdPF/9P3WvlON0cMikWkqSLy6Q9bpvgAq13HWYh+ZcDoqLtICaB7RkBQc+6aHAqZFyQbD8/m8Kxt5eVJtV6rEuf+yPX0+3aXHhsRg0= -ding.example.com. 3600 IN A 1.2.3.4 -ding.example.com. 3600 IN RRSIG A 8 3 3600 20201116135527 20201019135527 55566 example.com. OERsruISkpd1s68ute8Xm8YXisBCTkkiDMt34K+0dVqvySOJq63d3qN18BeUxZxLyHDB1eR3nZZKqEdkTqrv2r98skhWhjnOECpFbu5gKjtN/KPexbbJ+rxC0QqciuWOC7M6YE0cvI17/RB9KhVRy5rqY2X4Gt2wk2CNeD1dAko= -ding.example.com. 3600 IN NSEC foo.example.com. A RRSIG NSEC -ding.example.com. 3600 IN RRSIG NSEC 8 3 3600 20201116135527 20201019135527 55566 example.com. nb1W2aaKrU5iAQiY8gMsoMOejID19JMTEwY2rRoe+KsvzMs0rE0ifEkqit4blXaU0tfy0foJ70uqdJFqBoGz1NcSwZ6GNk/iNfGvG3XpxZ/zqEe7kkIucqqei794G7z9psqV94yZ3WaT+IswPpWrSaWv1w41RtcWufPhe4fOAmU= -foo.example.com. 3600 IN A 1.2.3.4 -foo.example.com. 3600 IN RRSIG A 8 3 3600 20201116135527 20201019135527 55566 example.com. ZcUngb2pUejwnsshbJN/Dfr+Bzu8fcZXyqLArQ+10Bw1IPHyfx7yyUJ43V5tTYVHPSEsJzTnaWj+olVrNhVZxq5e0pgzSYPfGln2FEItEvMIOn33j8yKTpPW2MLyuFF5ZkXhosG20EUwRMvMmRHRz9mIZfwWoMbSGPukmLh8zMA= -foo.example.com. 3600 IN NSEC ns.example.com. A RRSIG NSEC -foo.example.com. 3600 IN RRSIG NSEC 8 3 3600 20201116135527 20201019135527 55566 example.com. fUZEpkEULRWDntN5Z7Kr8M83Hjhf08ECMKRpo6IBoBc3ayenj+YMgWAvFXC825wjENPYYWNGag0d32U83zCZxqgv+8uXZd3B7QDpTbL41aWZdc++s5YWTkYjyOWwJ1XHOv4nL3qEnJBXVzo/E1gbSKhTFuG97i+7J1MFd9MsC5s= -ns.example.com. 3600 IN A 127.0.0.1 -ns.example.com. 3600 IN RRSIG A 8 3 3600 20201116135527 20201019135527 55566 example.com. SiuxuPtN/ITd+Z20j8UNUHJWbLHirE8zQOWMv5fAZ1rPKpAidrZgUL8J417GdrTwkueU2ywAJ7EzFJSwNTa7o/wUnq7svmOR6Ze6UQsKuZFZGEfqPNDRp4YuF86LU5jChuo+f/IRpydHrxVwGxDPCR9KarDM+ewfW+yI5bZeZcg= -ns.example.com. 3600 IN NSEC www.example.com. A RRSIG NSEC -ns.example.com. 3600 IN RRSIG NSEC 8 3 3600 20201116135527 20201019135527 55566 example.com. 0upKNYjiow4NDJm3I1RbUddE9GGuFYEVKswww5BAc/6WHuukupncL30lskvcSKGpByDssP2Hi2CufyEtYeGWh6q1TxtOFRqFBX1p6Q5b3tBlCtvv4h31dQR9uqLvq+GkGS5MR+0LO5kWagIpZmnI8YY5plVdXEtNbp2Ar8zvz/A= -www.example.com. 3600 IN A 127.0.0.1 -www.example.com. 3600 IN RRSIG A 8 3 3600 20201116135527 20201019135527 55566 example.com. AaIeICaPjV50TDrpbyOn94+hs8EYIMTmN4pYqj7e8GIGimqQIk5jgpwSx6SOoOF+uOqkf9GKHkQTn5YVGaeXwEQleg7mPTmMYKAOk06Y7MFUO1Vwt1Vt7Wo+Cpa3x2a1CmEkfFOi4WqP43VJnUtjjKmXoKRz3VUmqByyJYUAGbQ= -www.example.com. 3600 IN NSEC example.com. A RRSIG NSEC -www.example.com. 3600 IN RRSIG NSEC 8 3 3600 20201116135527 20201019135527 55566 example.com. meg/t6nIBqQZ0d5/dT7uu/3CuP4vE+HxqFQaj2fjUNceA/6C7QIQnqQ5Kyblg+XijDkQX0yvyFNHYdgF16UDgFT7tlNUCHk1SpF5BWzV4c4tBEhxASTz7UQo111O3Tyd6CldPzO/Se15Ud0/ZYltHEqWTfY5nJoXC/OJD9V2QOI= FILE_END SCENARIO_END diff --git a/testdata/val_refer_unsignadd.rpl b/testdata/val_refer_unsignadd.rpl index 22f15d21a8c0..6e3418ceb425 100644 --- a/testdata/val_refer_unsignadd.rpl +++ b/testdata/val_refer_unsignadd.rpl @@ -11,6 +11,7 @@ server: trust-anchor-signaling: no iter-scrub-promiscuous: no rrset-roundrobin: no + val-clean-additional: yes stub-zone: name: "." diff --git a/testdata/val_referglue.rpl b/testdata/val_referglue.rpl index 3ca0c0e80d7d..c14bad17fa3f 100644 --- a/testdata/val_referglue.rpl +++ b/testdata/val_referglue.rpl @@ -12,6 +12,7 @@ server: minimal-responses: no iter-scrub-promiscuous: no rrset-roundrobin: no + val-clean-additional: yes stub-zone: name: "." diff --git a/util/config_file.c b/util/config_file.c index ab209a818e31..623f02ad3d88 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -278,7 +278,7 @@ config_create(void) cfg->val_sig_skew_min = 3600; /* at least daylight savings trouble */ cfg->val_sig_skew_max = 86400; /* at most timezone settings trouble */ cfg->val_max_restart = 5; - cfg->val_clean_additional = 1; + cfg->val_clean_additional = 0; /* off to protect against much data. */ cfg->val_log_level = 0; cfg->val_log_squelch = 0; cfg->val_permissive_mode = 0; @@ -429,6 +429,8 @@ config_create(void) cfg->iter_scrub_rrsig = 8; cfg->iter_scrub_promiscuous = 1; cfg->max_global_quota = 200; + cfg->val_validation_attempts = 32; + cfg->val_hash_attempts = 32; return cfg; error_exit: config_delete(cfg); @@ -785,6 +787,8 @@ int config_set_option(struct config_file* cfg, const char* opt, else S_NUMBER_OR_ZERO("iter-scrub-rrsig:", iter_scrub_rrsig) else S_YNO("iter-scrub-promiscuous:", iter_scrub_promiscuous) else S_NUMBER_OR_ZERO("max-global-quota:", max_global_quota) + else S_NUMBER_OR_ZERO("val-validation-attempts:", val_validation_attempts) + else S_NUMBER_OR_ZERO("val-hash-attempts:", val_hash_attempts) else S_YNO("serve-original-ttl:", serve_original_ttl) else S_STR("val-nsec3-keysize-iterations:", val_nsec3_key_iterations) else S_YNO("zonemd-permissive-mode:", zonemd_permissive_mode) @@ -1265,6 +1269,8 @@ config_get_option(struct config_file* cfg, const char* opt, else O_DEC(opt, "iter-scrub-rrsig", iter_scrub_rrsig) else O_YNO(opt, "iter-scrub-promiscuous", iter_scrub_promiscuous) else O_DEC(opt, "max-global-quota", max_global_quota) + else O_DEC(opt, "val-validation-attempts", val_validation_attempts) + else O_DEC(opt, "val-hash-attempts", val_hash_attempts) else O_YNO(opt, "serve-original-ttl", serve_original_ttl) else O_STR(opt, "val-nsec3-keysize-iterations",val_nsec3_key_iterations) else O_YNO(opt, "zonemd-permissive-mode", zonemd_permissive_mode) diff --git a/util/config_file.h b/util/config_file.h index c2b45759f8e5..ae7eb6436f1f 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -798,6 +798,10 @@ struct config_file { int iter_scrub_rrsig; /** limit on upstream queries for an incoming query and subqueries. */ int max_global_quota; + /** limit on validator validation attempts. */ + int val_validation_attempts; + /** limit on validator hash attempts. */ + int val_hash_attempts; /** Should the iterator scrub promiscuous NS rrsets, from positive * answers. */ int iter_scrub_promiscuous; diff --git a/util/configlexer.c b/util/configlexer.c index 6e9f8ab62525..7c3ff9d7cacc 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -354,8 +354,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 418 -#define YY_END_OF_BUFFER 419 +#define YY_NUM_RULES 420 +#define YY_END_OF_BUFFER 421 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -363,467 +363,471 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[4173] = +static const flex_int16_t yy_accept[4207] = { 0, - 1, 1, 392, 392, 396, 396, 400, 400, 404, 404, - 1, 1, 408, 408, 412, 412, 419, 416, 1, 390, - 390, 417, 2, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 417, 392, 393, 393, - 394, 417, 396, 397, 397, 398, 417, 403, 400, 401, - 401, 402, 417, 404, 405, 405, 406, 417, 415, 391, - 2, 395, 415, 417, 411, 408, 409, 409, 410, 417, - 412, 413, 413, 414, 417, 416, 0, 1, 2, 2, - 2, 2, 416, 416, 416, 416, 416, 416, 416, 416, + 1, 1, 394, 394, 398, 398, 402, 402, 406, 406, + 1, 1, 410, 410, 414, 414, 421, 418, 1, 392, + 392, 419, 2, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 419, 394, 395, 395, + 396, 419, 398, 399, 399, 400, 419, 405, 402, 403, + 403, 404, 419, 406, 407, 407, 408, 419, 417, 393, + 2, 397, 417, 419, 413, 410, 411, 411, 412, 419, + 414, 415, 415, 416, 419, 418, 0, 1, 2, 2, + 2, 2, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 392, 0, 396, 0, 403, 0, - 400, 404, 0, 415, 0, 2, 2, 415, 411, 0, - 408, 412, 0, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 394, 0, 398, 0, 405, 0, + 402, 406, 0, 417, 0, 2, 2, 417, 413, 0, + 410, 414, 0, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 415, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 417, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 380, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 141, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 380, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 141, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 151, 416, 416, 416, 416, - 416, 416, 416, 416, 415, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 151, 418, 418, 418, 418, + 418, 418, 418, 418, 417, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 123, 416, 416, 379, - 416, 416, 416, 416, 416, 416, 416, 416, 8, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 142, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 156, 416, 416, 416, - 415, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 123, 418, 418, 379, + 418, 418, 418, 418, 418, 418, 418, 418, 8, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 142, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 156, 418, + 418, 418, 417, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 369, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 369, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 415, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 417, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 74, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 279, 416, 14, 15, 416, - 416, 20, 19, 416, 416, 253, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 149, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 74, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 279, + 418, 14, 15, 418, 418, 20, 19, 418, 418, 253, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 149, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 251, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 3, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 251, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 3, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 415, 416, 416, 416, 416, - 416, 416, 416, 416, 348, 416, 416, 416, 347, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 399, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 417, 418, 418, 418, 418, 418, 418, 418, 418, + 348, 418, 418, 418, 347, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 73, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 77, 416, 317, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 370, - 371, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 78, 416, 416, 150, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 145, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 240, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 401, 418, 418, 418, 418, 418, 418, 418, 418, 73, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 77, + 418, 317, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 370, 371, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 78, 418, 418, 150, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 145, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 240, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 22, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 177, 416, 416, 416, 416, 416, 416, - 415, 399, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 121, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 325, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 22, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 177, 418, 418, 418, 418, 418, 418, 417, 401, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 121, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 325, 418, 418, 418, - 16, 416, 416, 416, 416, 416, 416, 416, 416, 205, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 176, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 120, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 16, 418, + 418, 418, 418, 418, 418, 418, 418, 205, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 176, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 37, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 38, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 75, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 148, 416, - 416, 416, 415, 416, 416, 416, 416, 416, 416, 140, + 418, 418, 418, 418, 418, 120, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 37, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 38, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 75, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 148, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 76, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 283, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 206, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 63, 416, 416, 416, 416, 416, 416, + 418, 418, 417, 418, 418, 418, 418, 418, 418, 140, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 76, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 283, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 206, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 59, 60, 416, - 303, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 68, 416, 69, 416, 416, - 416, 416, 416, 416, 124, 416, 125, 416, 416, 416, + 418, 418, 418, 63, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 59, 60, 418, + 303, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 68, 418, 69, 418, 418, - 416, 416, 122, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 7, 416, 416, - 416, 416, 416, 415, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 268, 416, 416, - 416, 416, 416, 416, 180, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 284, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 124, 418, 125, 418, 418, 418, + 418, 418, 122, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 7, + 418, 418, 418, 418, 418, 417, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 268, + 418, 418, 418, 418, 418, 418, 180, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 52, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 64, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 231, 416, 230, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 284, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 52, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 64, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 231, 418, 230, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 17, 18, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 79, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 239, - 416, 416, 416, 416, 416, 416, 416, 127, 416, 126, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 219, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 157, 416, 259, - 416, 416, 416, 415, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 17, 18, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 79, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 239, 418, 418, 418, 418, 418, 418, 418, 127, + 418, 126, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 219, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 115, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 101, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 252, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 106, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 72, + 418, 157, 418, 259, 418, 418, 418, 417, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 115, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 101, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 252, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 106, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 223, 224, 416, 416, 416, 416, 416, - 319, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 6, - 416, 416, 416, 416, 416, 416, 416, 338, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 323, 416, 416, 416, 416, 416, 416, 416, 349, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 72, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 223, 224, 418, + 418, 418, 418, 418, 319, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 6, 418, 418, 418, 418, 418, 418, + 418, 338, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 323, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 48, 416, 416, 416, 416, - 416, 416, 50, 416, 416, 416, 102, 416, 416, 416, - 416, 416, 61, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 415, 416, 215, 416, - 416, 416, 152, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 244, 416, 416, - 216, 416, 416, 416, 416, 416, 416, 264, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 62, + 418, 418, 418, 349, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 48, + 418, 418, 418, 418, 418, 418, 50, 418, 418, 418, + 102, 418, 418, 418, 418, 418, 61, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 417, 418, 215, 418, 418, 418, 152, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 244, 418, 418, 216, 418, 418, 418, + 418, 418, 418, 264, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 154, 133, 416, 134, 416, 416, 416, 416, 132, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 173, 416, 416, 57, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 301, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 217, - 416, 416, 416, 416, 416, 228, 220, 416, 227, 416, - 416, 416, 222, 416, 416, 416, 416, 416, 416, 416, - 416, 263, 416, 416, 416, 416, 416, 416, 267, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 62, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 154, 133, 418, + 134, 418, 418, 418, 418, 132, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 173, 418, 418, + 57, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 301, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 217, 418, 418, 418, 418, + 418, 228, 220, 418, 227, 418, 418, 418, 222, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 119, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 146, 416, 416, 416, 416, - 416, 416, 416, 416, 70, 416, 416, 416, 416, 31, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 21, 416, 416, 416, 416, 416, 416, 416, - 416, 32, 41, 416, 185, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 213, 416, 416, 415, 416, 416, 416, 416, 374, + 418, 418, 418, 418, 418, 418, 418, 263, 418, 418, + 418, 418, 418, 418, 267, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 119, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 146, 418, 418, 418, 418, 418, 418, 418, 418, + 70, 418, 418, 418, 418, 31, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 21, 418, + 418, 418, 418, 418, 418, 418, 418, 32, 41, 418, + 185, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 87, 416, 90, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 375, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 327, 416, 416, 416, 416, - 280, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 135, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 172, - 416, 53, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 274, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 213, + 418, 418, 417, 418, 418, 418, 418, 374, 418, 418, + 87, 418, 90, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 375, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 327, 418, 418, 418, 418, 280, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 135, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 172, 418, 53, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 342, 416, 416, 416, 416, 416, 383, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 229, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 179, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 336, 416, 416, 416, 416, - 250, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 360, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 198, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 128, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 274, 418, 418, 418, 418, 418, 418, 418, 418, 342, + 418, 418, 418, 418, 418, 383, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 229, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 179, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 336, 418, 418, 418, 418, 250, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 360, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 198, 418, 418, 418, - 416, 416, 51, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 192, 416, 207, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 415, 416, 160, - 416, 416, 416, 416, 416, 416, 416, 416, 114, 416, - 416, 416, 416, 242, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 265, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 292, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 153, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 128, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 51, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 192, 418, 418, 207, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 417, 418, 160, + 418, 418, 418, 418, 418, 418, 418, 418, 114, 418, + 418, 418, 418, 242, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 265, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 292, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 196, 416, 416, 416, 416, 416, - 416, 416, 91, 416, 92, 416, 416, 416, 416, 416, - 277, 416, 416, 416, 416, 416, 71, 345, 416, 416, - 416, 416, 416, 416, 416, 416, 100, 208, 416, 232, - 416, 269, 416, 416, 221, 320, 416, 416, 416, 416, - 416, 315, 416, 416, 416, 416, 416, 83, 416, 210, - 416, 416, 416, 416, 416, 416, 9, 416, 416, 416, - 416, 416, 118, 416, 416, 416, 416, 416, 416, 307, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 241, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 153, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 196, 418, 418, 418, 418, 418, + 418, 418, 91, 418, 92, 418, 418, 418, 418, 418, + 277, 418, 418, 418, 418, 418, 71, 345, 418, 418, + 418, 418, 418, 418, 418, 418, 100, 208, 418, 232, + 418, 269, 418, 418, 221, 320, 418, 418, 418, 418, + 418, 315, 418, 418, 418, 418, 418, 83, 418, 210, + 418, 418, 418, 418, 418, 418, 9, 418, 418, 418, + 418, 418, 118, 418, 418, 418, 418, 418, 418, 307, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 415, 416, 416, 416, 416, 195, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 197, 258, 181, 416, 416, 326, 416, 416, 416, - 416, 416, 291, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 254, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 241, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 417, 418, 418, 418, 418, 195, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 197, 258, 181, 418, 418, 326, 418, - 416, 416, 318, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 178, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 346, 416, 416, 416, 416, 209, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 82, 84, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 117, 416, 416, 416, 416, 416, - 416, 305, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 322, 416, 416, 416, 416, + 418, 418, 418, 418, 291, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 254, 418, 418, + 418, 418, 418, 418, 318, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 178, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 346, 418, 418, 418, + 418, 209, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 82, 84, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 117, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 246, - 416, 39, 33, 35, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 40, 416, 34, - 36, 416, 42, 416, 416, 416, 416, 416, 416, 416, - 113, 416, 191, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 415, 416, 416, 416, 416, 416, 416, 416, - 416, 350, 416, 416, 416, 416, 416, 248, 245, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 81, 416, 416, 416, 155, 416, 136, 416, 416, + 418, 418, 418, 305, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 322, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 246, 418, 39, 33, 35, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 40, + 418, 34, 36, 418, 42, 418, 418, 418, 418, 418, + 418, 418, 113, 418, 418, 191, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 417, 418, 418, 418, + 418, 418, 418, 418, 418, 350, 418, 418, 418, 418, + 418, 248, 245, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 174, 54, 416, 416, 416, 407, 13, 416, 416, 416, - 416, 416, 416, 416, 161, 416, 416, 416, 416, 416, - 416, 416, 416, 340, 416, 343, 416, 384, 416, 385, - 416, 416, 416, 416, 416, 386, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 12, 416, 416, 23, 416, - 416, 416, 416, 416, 416, 416, 311, 416, 416, 416, - 416, 367, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 324, 416, 416, 416, 416, 85, 416, 256, 416, - 416, 416, 416, 416, 247, 416, 416, 416, 416, 80, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 81, 418, 418, 418, 155, + 418, 136, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 174, 54, 418, 418, 418, 409, + 13, 418, 418, 418, 418, 418, 418, 418, 161, 418, + 418, 418, 418, 418, 418, 418, 418, 340, 418, 343, + 418, 384, 418, 385, 418, 418, 418, 418, 418, 386, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 12, + 418, 418, 23, 418, 418, 418, 418, 418, 418, 418, + 311, 418, 418, 418, 418, 367, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 24, 416, 416, 49, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 190, 189, 416, 416, 416, 416, 407, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 249, 243, 416, 416, 416, 266, 416, 416, 328, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 203, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 93, 416, - 416, 416, 416, 416, 416, 416, 416, 306, 416, 416, + 418, 418, 418, 418, 418, 324, 418, 418, 418, 418, + 85, 418, 256, 418, 418, 418, 418, 418, 247, 418, + 418, 418, 418, 80, 418, 418, 418, 418, 418, 418, + 24, 418, 418, 49, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 190, 189, 418, + 418, 418, 418, 418, 409, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 249, 243, 418, 418, + 418, 266, 418, 418, 328, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 203, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 226, 416, 416, 416, 416, 416, 387, - 388, 416, 255, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 313, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 352, 416, 356, 354, 187, 416, - 416, 416, 86, 416, 416, 416, 416, 199, 416, 416, - 416, 416, 416, 129, 131, 130, 416, 416, 416, 26, - 416, 416, 182, 416, 184, 416, 233, 416, 416, 416, - 416, 188, 416, 416, 260, 416, 416, 416, 416, 270, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 163, - 376, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 93, 418, 418, 418, 418, 418, + 418, 418, 418, 306, 418, 418, 418, 418, 418, 226, + 418, 418, 418, 418, 418, 389, 390, 418, 255, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 313, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 352, 418, 356, 354, 187, 418, 418, 418, 86, 418, + 418, 418, 418, 199, 418, 418, 418, 418, 418, 129, + 131, 130, 418, 418, 418, 26, 418, 418, 182, 418, + 184, 418, 233, 418, 418, 418, 388, 418, 188, 418, - 416, 416, 299, 416, 416, 282, 416, 416, 416, 416, - 416, 416, 416, 377, 416, 28, 416, 321, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 98, 234, 416, - 416, 276, 416, 416, 416, 304, 416, 344, 416, 416, - 225, 416, 416, 316, 416, 416, 416, 314, 65, 416, - 416, 416, 416, 416, 416, 416, 4, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 144, - 416, 162, 416, 416, 416, 204, 30, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 260, 418, 418, 418, 418, 270, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 163, 376, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 299, 418, 418, 282, 418, 418, 418, 418, 418, 418, + 418, 377, 418, 28, 418, 321, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 98, 234, 418, 418, 276, + 418, 418, 418, 304, 418, 344, 418, 418, 225, 418, + 418, 316, 418, 418, 418, 314, 65, 418, 418, 418, + 418, 418, 418, 418, 4, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 416, 416, 416, 416, 273, 43, - 44, 416, 416, 416, 416, 416, 416, 416, 381, 416, - 416, 329, 416, 416, 416, 416, 416, 416, 416, 290, - 416, 416, 416, 416, 416, 416, 416, 416, 237, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 97, 96, 416, 416, 66, - 416, 416, 302, 310, 416, 416, 278, 416, 416, 416, - 416, 416, 11, 416, 416, 416, 416, 382, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 143, 416, 416, 416, 416, 416, 416, 235, 103, 416, + 418, 418, 418, 418, 418, 418, 418, 144, 418, 162, + 418, 418, 418, 204, 30, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 273, 43, 44, + 418, 418, 418, 418, 418, 418, 418, 381, 418, 418, + 329, 418, 418, 418, 418, 418, 418, 418, 290, 418, + 418, 418, 418, 418, 418, 418, 418, 237, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 97, 96, 418, 418, 66, 418, + 418, 302, 310, 418, 418, 278, 418, 418, 418, 418, - 416, 46, 416, 416, 416, 416, 416, 416, 416, 416, - 194, 416, 261, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 165, 416, 416, 416, 416, 281, 416, 416, - 416, 416, 416, 289, 416, 416, 416, 416, 158, 416, - 416, 416, 137, 139, 138, 416, 416, 416, 105, 110, - 104, 416, 416, 175, 416, 416, 416, 416, 94, 416, - 275, 312, 416, 416, 416, 416, 416, 416, 416, 10, - 416, 416, 416, 416, 416, 308, 416, 416, 366, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 373, 45, 416, 416, 416, 416, 416, 193, + 418, 11, 418, 418, 418, 418, 382, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 143, + 418, 418, 418, 418, 418, 418, 235, 103, 418, 418, + 46, 418, 418, 418, 418, 418, 418, 418, 418, 194, + 418, 418, 261, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 165, 418, 418, 418, 418, 281, 418, 418, + 418, 418, 418, 289, 418, 418, 418, 418, 158, 418, + 418, 418, 137, 139, 138, 418, 418, 418, 105, 110, + 104, 418, 418, 175, 418, 418, 418, 418, 94, 418, + 275, 312, 418, 418, 418, 418, 418, 418, 418, 10, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 111, 109, - 416, 416, 416, 58, 416, 416, 95, 416, 341, 416, - 416, 416, 416, 416, 25, 416, 416, 416, 416, 416, - 218, 416, 416, 362, 364, 416, 416, 416, 416, 416, - 361, 358, 416, 416, 416, 416, 236, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 214, 416, 416, - 183, 88, 89, 416, 416, 416, 416, 416, 416, 330, - 416, 416, 416, 416, 416, 416, 416, 286, 416, 416, + 418, 418, 418, 418, 418, 308, 418, 418, 366, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 373, 45, 418, 418, 418, 418, 418, 193, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 111, + 109, 418, 418, 418, 58, 418, 418, 95, 418, 341, + 418, 418, 418, 418, 418, 25, 418, 418, 418, 418, + 418, 218, 418, 418, 362, 364, 418, 418, 418, 418, + 418, 361, 358, 418, 418, 418, 418, 236, 418, 418, - 285, 159, 416, 416, 108, 416, 107, 55, 416, 416, - 389, 166, 167, 170, 171, 168, 169, 99, 339, 416, - 416, 309, 416, 416, 416, 416, 416, 416, 147, 416, - 416, 416, 416, 27, 416, 186, 416, 416, 416, 416, - 416, 212, 416, 272, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 201, 200, 238, 47, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 214, + 418, 418, 183, 88, 89, 418, 418, 418, 418, 418, + 418, 330, 418, 418, 418, 418, 418, 418, 418, 286, + 418, 418, 285, 159, 418, 418, 108, 418, 107, 55, + 418, 418, 391, 166, 167, 170, 171, 168, 169, 99, + 339, 418, 418, 309, 418, 418, 418, 418, 418, 418, + 147, 418, 418, 418, 418, 27, 418, 186, 418, 418, + 418, 418, 418, 418, 212, 418, 272, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 416, 416, 416, 416, 337, 416, 416, 416, 368, 416, - 416, 416, 416, 416, 416, 416, 116, 416, 416, 271, - 416, 416, 300, 334, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 378, 416, 112, 56, 67, - 5, 416, 416, 353, 416, 357, 355, 416, 416, 257, - 416, 416, 416, 416, 335, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 287, 29, 416, 416, 416, 416, - 416, 416, 262, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 288, 416, 416, 416, 416, 416, 416, - 416, 164, 416, 416, 416, 416, 416, 416, 416, 416, + 418, 418, 418, 418, 418, 418, 418, 201, 200, 238, + 47, 418, 418, 418, 418, 387, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 337, 418, + 418, 418, 368, 418, 418, 418, 418, 418, 418, 418, + 116, 418, 418, 271, 418, 418, 300, 334, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 378, + 418, 112, 56, 67, 5, 418, 418, 353, 418, 357, + 355, 418, 418, 257, 418, 418, 418, 418, 335, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 287, 29, - 416, 416, 416, 202, 416, 211, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 363, 365, 359, 416, 416, - 331, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 372, - 351, 416, 416, 295, 416, 416, 416, 416, 416, 332, - 416, 416, 416, 416, 416, 416, 333, 416, 416, 416, - 293, 416, 296, 297, 416, 416, 416, 416, 416, 294, - 298, 0 + 418, 418, 418, 418, 418, 418, 262, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 288, 418, 418, + 418, 418, 418, 418, 418, 164, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 202, 418, 211, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 363, + 365, 359, 418, 418, 331, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 372, 351, 418, 418, 295, 418, 418, + 418, 418, 418, 332, 418, 418, 418, 418, 418, 418, + 333, 418, 418, 418, 293, 418, 296, 297, 418, 418, + + 418, 418, 418, 294, 298, 0 } ; static const YY_CHAR yy_ec[256] = @@ -869,17 +873,17 @@ static const YY_CHAR yy_meta[67] = 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[4191] = +static const flex_int16_t yy_base[4225] = { 0, 0, 0, 64, 67, 70, 72, 78, 84, 89, 92, - 131, 137, 112, 118, 123, 142, 573, 532, 96,11868, - 11868,11868, 160, 185, 116, 183, 229, 132, 175, 173, + 131, 137, 112, 118, 123, 142, 573, 532, 96,12017, + 12017,12017, 160, 185, 116, 183, 229, 132, 175, 173, 278, 50, 66, 120, 230, 268, 159, 325, 226, 377, - 418, 290, 318, 279, 177, 126, 380, 531,11868,11868, - 11868, 95, 469,11868,11868,11868, 181, 464, 493,11868, - 11868,11868, 238, 424,11868,11868,11868, 104, 422,11868, - 394,11868, 167, 350, 380, 402,11868,11868,11868, 405, - 329,11868,11868,11868, 146, 306, 424, 168, 0, 436, + 418, 290, 318, 279, 177, 126, 380, 531,12017,12017, + 12017, 95, 469,12017,12017,12017, 181, 464, 493,12017, + 12017,12017, 238, 424,12017,12017,12017, 104, 422,12017, + 394,12017, 167, 350, 380, 402,12017,12017,12017, 405, + 329,12017,12017,12017, 146, 306, 424, 168, 0, 436, 0, 0, 225, 219, 252, 209, 319, 215, 248, 357, 283, 339, 417, 428, 429, 354, 371, 444, 263, 463, @@ -906,898 +910,908 @@ static const flex_int16_t yy_base[4191] = 1056, 1059, 1066, 1064, 1069, 1072, 1078, 1093, 1096, 1076, 150, 1077, 1105, 1108, 1098, 1111, 1107, 1113, 1118, 1119, - 1123,11868, 1103, 1129, 1120, 1146, 1124, 1145, 1130, 1147, + 1123,12017, 1103, 1129, 1120, 1146, 1124, 1145, 1130, 1147, 1134, 1164, 1140, 1144, 1157, 1150, 1167, 1177, 1170, 1181, 1173, 1184, 1195, 1191, 1200, 1186, 1187, 1206, 1213, 1205, 1244, 1215, 1207, 1223, 1289, 1238, 1218, 1227, 1257, 1272, 488, 1243, 1249, 1278, 1270, 1286, 1297, 1284, 1291, 1277, 1312, 1302, 1325, 1313, 1316, 1327, 1211, 1333, 1328, 1329, - 1335, 1242, 1363,11868, 1341, 1346, 1353, 1352, 1376, 1380, + 1335, 1242, 1363,12017, 1341, 1346, 1353, 1352, 1376, 1380, 1372, 1368, 1401, 1362, 1369, 1374, 1367, 1400, 1449, 1497, - 1391, 1403, 1414, 1419, 1412,11868, 1418, 1428, 1546, 1439, + 1391, 1403, 1414, 1419, 1412,12017, 1418, 1428, 1546, 1439, 1448, 1465, 1441, 1474, 1451, 1373, 1444, 1479, 1463, 1468, - 1398, 1476, 1484, 1469, 1524, 1503, 1485, 1517, 1527, 1536, - 1545, 1551, 1496, 1555, 1547, 1568, 1552, 1557, 1563, 1596, - 1574, 1584, 1597, 1605, 1586, 1589, 1594, 1598, 1601, 1616, - 1607, 1628, 1613, 1634, 1619, 1632, 1635, 1633, 1636, 1642, - 1662, 1707, 1640, 1659, 1647, 1660, 1663, 1678, 1667, 1686, - 1696, 1699, 1703, 1690, 1705, 1691, 1666, 1695, 1711, 1723, - 1739, 1747, 1741, 1745, 1729, 1732, 1752, 1755, 1761, 1763, - 1734, 1759, 1766, 1780, 1773, 1771, 1786, 1789, 1781, 1797, + 1398, 1476, 1484, 1469, 1524, 1503, 1485, 1517, 1542, 1545, + 1547, 1551, 1496, 1555, 1543, 1579, 1553, 1580, 1578, 1572, + 1575, 1581, 1598, 1611, 1584, 1592, 1599, 1601, 1602, 1618, + 1608, 1630, 1610, 1642, 1621, 1635, 1636, 1637, 1638, 1641, + 1667, 1712, 1639, 1643, 1666, 1668, 1665, 1663, 1664, 1678, + 1682, 1693, 1692, 1680, 1707, 1691, 1710, 1709, 1716, 1719, + 1714, 1711, 1735, 1718, 1736, 1737, 1742, 1745, 1767, 1753, + 1734, 1752, 1759, 1763, 1761, 1762, 1777, 1779, 1769, 1795, + + 1789, 1790, 1800, 1786, 1811, 1793,12017, 1813, 1818,12017, + 1802, 1816, 1804, 1821, 1814, 1828, 1817, 1841,12017, 1829, + 1836, 1838, 1864, 1852, 1872, 1859, 1860, 1876, 1856, 1863, + 1862, 1879, 1880, 1883, 1886, 1889, 1881, 1908, 1897, 1900, + 1907, 1896, 1899, 1913, 1902, 1925, 1916, 1927, 1921, 1934, + 1923, 1980,12017, 1929, 1939, 1940, 1947, 1943, 1963, 1975, + 1989, 1992, 2007, 1978, 2013, 2008, 2009, 1950, 2015, 1982, + 1948, 2018, 2036, 2021, 2042, 2024, 2035, 2049, 2040, 2052, + 2041, 2056, 2066, 2045, 2074, 2065, 2070, 2080,12017, 2076, + 2081, 2087, 2092, 1984, 2077, 2079, 2101, 2095, 2100, 2110, - 1802, 1805, 1790, 1782, 1810, 1793,11868, 1828, 1824,11868, - 1813, 1819, 1818, 1822, 1823, 1830, 1816, 1841,11868, 1847, - 1842, 1850, 1852, 1845, 1861, 1857, 1855, 1880, 1878, 1871, - 1882, 1886, 1881, 1884, 1887, 1906, 1898, 1901, 1911, 1905, - 1910, 1908, 1900, 1920, 1917, 1931, 1925, 1938, 1923, 1922, - 1942, 1982,11868, 1933, 1951, 1944, 1950, 1957, 1968, 1948, - 1958, 2007, 1979, 2006, 2003, 1978, 2032, 2005, 2024, 2015, - 2021, 2030, 2025, 2029, 2035, 2045, 2043, 2046, 2064, 2047, - 2053, 2063, 2067, 2059, 2069, 2073,11868, 2071, 2080, 2081, - 2093, 2074, 2087, 2094, 2096, 2090, 2118, 2107, 2101, 2121, + 2106, 2122, 2116, 2128, 2107, 2127, 2132, 2115, 2133, 2143, + 2144, 2134, 2137, 2136, 2151, 2160, 2164, 2171, 2157, 2167, + 2153, 2190, 2184, 2179, 2181, 782, 2187, 2188, 2189, 2204, + 2205, 2191, 2198, 2195, 2217, 2216, 2208, 2215, 2225, 2224, + 2203, 2214, 2234, 2242, 2237, 2235, 2222, 2253, 2245, 2262, + 2255, 2247, 2266, 2254, 2260, 2272, 2250, 2274, 2261, 2301, + 2278, 2290, 2289, 2267, 2303, 2306, 2300, 2305,12017, 2318, + 2327, 2315, 2322, 2333, 2331, 2338, 2326, 2339, 2330, 2345, + 2348, 2349, 2356, 2357, 2341, 2374, 2370, 2366, 2365, 2373, + 2360, 2377, 2394, 2382, 2390, 2401, 2407, 2397, 2408, 2416, - 2114, 2128, 2105, 2131, 2133, 2123, 2126, 2140, 2142, 2132, - 2148, 2147, 2149, 2157, 2159, 2165, 2152, 2184, 2156, 2182, - 2167, 2181, 2185, 782, 2178, 2187, 2196, 2206, 2215, 2186, - 2195, 2190, 2218, 2214, 2179, 2220, 2223, 2227, 2211, 2217, - 2231, 2229, 2237, 2245, 2233, 2247, 2253, 2238, 2254, 2250, - 2263, 2256, 2266, 2265, 2278, 2281, 2273, 2307, 2279, 2298, - 2293, 2300, 2296, 2312, 2308, 2306,11868, 2326, 2309, 2323, - 2327, 2336, 2328, 2346, 2338, 2353, 2344, 2334, 2357, 2348, - 2356, 2365, 2361, 2372, 2367, 2363, 2371, 2390, 2379, 2387, - 2403, 2389, 2393, 2398, 2412, 2409, 2408, 2420, 2407, 2418, + 2404, 2424, 2405, 2415, 2409, 2425, 2414, 2426, 2421, 2444, + 2434, 2452, 2431, 2454, 2441, 2467, 2450, 2458, 2460, 2451, + 2498, 2470, 2461, 2466, 2487, 2479, 2494, 2497, 2502, 2505, + 2520, 2500, 2533, 2546, 2539, 2524, 2532, 2535, 2550, 2536, + 2537, 2551, 2553, 2564, 2565, 2547, 2566, 2559, 2572, 2573, + 2576, 2582, 2599, 2589, 2563, 2586, 2591, 2595, 2598, 2603, + 2600, 2616, 2618, 2621, 2622, 2608, 2634, 2635, 2638, 2650, + 2642, 2658, 2662, 2646, 2649, 2661, 2664, 2665, 2674, 2675, + 2683, 2691, 2695, 2684, 2697, 2682, 2702, 2708, 2701, 2705, + 2714, 2711, 2722, 2728, 2733, 2731, 2644, 2739, 2745, 2746, - 2419, 2422, 2427, 2429, 2428, 2425, 2431, 2448, 2462, 2456, - 2436, 2460, 2450, 2469, 2463, 2457, 2464, 2468, 2506, 2467, - 2455, 2470, 2480, 2490, 2477, 2495, 2507, 2512, 2521, 2501, - 2539, 2532, 2519, 2531, 2533, 2504, 2541, 2528, 2545, 2546, - 2547, 2542, 2555, 2572, 2573, 2569, 2570, 2571, 2562, 2560, - 2581, 2588, 2599, 2589, 2587, 2583, 2598, 2597, 2600, 2625, - 2605, 2615, 2616, 2606, 2620, 2622, 2632, 2630, 2626, 2636, - 2650, 2646, 2652, 2658, 2656, 2667, 2659, 2655, 2663, 2673, - 2679, 2681, 2665, 2686, 2690, 2687, 2697, 2700, 2696, 2703, - 2711, 2707, 2698, 2716, 2723, 2724, 2715, 2731, 2718, 2732, + 2738, 2747, 2753, 2751, 2762, 2740, 2757, 2781, 2791, 2780, + 2778,12017, 2773, 2647, 2774, 2777, 2794, 2784, 2788, 2804, + 2767, 2807, 2802, 2801, 2799, 2809, 2805, 2815, 2861,12017, + 2823,12017,12017, 777, 2824,12017,12017, 2849, 2842,12017, + 2825, 2865, 2850, 2829, 2851, 2878, 2886, 2884, 2876, 2875, + 2892, 2869, 2939, 2897, 2896, 2888, 2900, 2921, 2902, 2934, + 2915, 2936, 2932, 2935, 2944, 2953, 2904, 2965, 2948, 2959, + 2983, 2978, 2984, 2987, 2986, 2993, 2992, 2985, 2976, 2996, + 2980, 2982, 3007, 3020, 3003, 3017, 3013, 3021, 3036, 3023, + 3027, 3016, 3047, 3040, 3044, 3046, 3056,12017, 3052, 3063, - 2727, 2736, 2744, 2760, 2770, 2747, 2755,11868, 2753, 2754, - 2756, 2746, 2773, 2774, 2751, 2767, 2794, 2795, 2784, 2783, - 2799, 2787, 2782, 2788, 2834,11868, 2802,11868,11868, 777, - 2801,11868,11868, 2811, 2824,11868, 2815, 2825, 2814, 2832, - 2845, 2859, 2861, 2844, 2847, 2863, 2858, 2800, 2905, 2864, - 2888, 2873, 2883, 2891, 2889, 2910, 2920, 2900, 2933, 2916, - 2929, 2932, 2902, 2941, 2944, 2934, 2937, 2962, 2950, 2964, - 2961, 2840, 2968, 2971, 2959, 2969, 2974, 2960, 2984, 2977, - 2998, 2987, 2986, 2994, 3014, 2991, 3004, 2995, 3025, 3018, - 3019, 2869, 3032,11868, 3029, 3033, 3035, 3020, 3021, 3043, + 3059, 3051, 3058, 3055, 3066, 3086, 3065, 3092, 3088, 3083, + 3087, 3094, 3098, 3081, 3093, 3082, 3106, 3108, 3096, 3113, + 3116, 3110, 3117, 3115, 3126, 3136, 3146, 3127, 3128,12017, + 3139, 3142, 3123, 3143, 3150, 3140, 3153, 3157, 3166, 3169, + 3179, 3176, 3172, 3158, 3185, 3175, 3216, 3187, 3196, 3192, + 3198, 3191, 3202, 3204, 3227,12017, 3218, 3232, 3212, 3231, + 3214, 3237, 3228, 3241, 3224, 3247, 3243, 3249, 3262, 3253, + 3258, 3255, 3269, 3274, 3265, 3264, 3270, 3289, 3279, 3276, + 3297, 3300, 3288, 3292, 3309, 3301, 3315, 3305, 3306, 3308, + 3319, 3317, 3320, 3314, 3336, 3329, 3354, 3341, 3331, 3359, - 3039, 3044, 3049, 3060, 3055, 3051, 3061, 3068, 3072, 3056, - 3065, 3059, 3070, 3085, 3084, 3076, 3082, 3086, 3079, 3099, - 3102, 3093, 3112, 3096, 3100,11868, 3106, 3104, 3117, 3121, - 3109, 3123, 3113, 3129, 3133, 3136, 3149, 3148, 3140, 3137, - 3150, 3155, 3171, 3164, 3157, 3172, 3169, 3174, 3166, 3176, - 3189,11868, 3195, 3202, 3185, 3199, 3186, 3203, 3191, 3205, - 3201, 3216, 3228, 3217, 3235, 3224, 3222, 3250, 3238, 3234, - 3232, 3251, 3244, 3254, 3245, 3262, 3252, 3256, 3263, 3266, - 3279, 3271, 3284, 3274, 3275, 3277, 3281, 3285, 3287, 3301, - 3315, 3302, 3322, 3306, 3303, 3329, 3330, 3327, 3317, 3325, + 3364, 3356, 3342, 3365, 3357, 3345, 3370, 3367, 3378, 3379, + 3373, 3372, 3382, 3384, 3387, 3381, 3380, 3392, 3400, 3411, + 3415, 3420, 3409, 3417, 3425, 3407, 3412, 3434, 3430, 3427, + 12017, 3439, 3441, 3461,12017, 3452, 3447, 3450, 3500, 3480, + 3468, 3466, 3457, 3481, 3462, 3513, 3486, 3495, 3497, 3512, + 3496, 3520, 3525, 3522, 3527, 3546, 3536, 3554, 3544, 3552, + 3553, 3519, 3539, 3558, 3561, 3571, 3568, 3585, 3580, 3596, + 3565, 414, 3598, 3578, 3583, 3586, 3631, 3594, 3603, 3595, + 3599, 3613, 3615, 3626, 3629, 3628, 3635, 3627, 3633, 3647, + 3621, 3660, 3655, 3662, 3659, 3670, 3673, 3668, 3677, 3676, - 3333, 3314, 3339, 3344, 3351, 3350, 3341, 3342, 3356, 3354, - 3348, 3343, 3360, 3371, 3381, 3390, 3364, 3385, 3391, 3380, - 3393, 3394, 3400, 3377,11868, 3398, 3401, 3427,11868, 3418, - 3417, 3412, 3466, 3429, 3445, 3439, 3420, 3438, 3426, 3476, - 3432, 3459, 3449, 3470, 3458, 3478, 3488, 3486, 3485, 3502, - 3501, 3519, 3498, 3512, 3509, 3500, 3511, 3521, 3522, 3525, - 3536, 3548, 3494, 3545, 3541, 414, 3559, 3533, 3537, 3547, - 3592, 3558, 3562, 3563, 3564, 3580, 3582, 3588, 3599, 3589, - 3603, 3583, 3609, 3608, 3604, 3616, 3610, 3623, 3626, 3629, - 3634, 3646, 3650, 3637,11868, 3639, 3655, 3640, 3660, 3649, + 12017, 3674, 3682, 3679, 3678, 3686, 3716, 3709, 3700,12017, + 3708, 3711, 3705, 3727, 3703, 3722, 3710, 3723, 3713, 3725, + 3741, 3737, 3747, 3736, 3744, 3755, 3748, 3766, 3775,12017, + 3746,12017, 3763, 3756, 3778, 3760, 3786, 3783, 3780, 3781, + 3782, 3793, 3801, 3790, 3792,12017,12017, 3809, 3810, 3812, + 3824, 3803, 3806, 3820, 3817, 3818,12017, 3819, 3854,12017, + 3849, 3840, 3857, 3847, 3843, 3859, 3845, 3880, 3852, 3862, + 3881, 3882, 3858, 3884, 3839, 3883, 3878, 3886, 3907, 3888, + 12017, 3905, 3911, 3895, 3913, 3920, 3915, 3908, 3932, 3941, + 3924,12017, 3942, 3933, 3944, 3934, 3958, 3954, 3947, 3939, - 3668, 3666, 3651,11868, 3663, 3674, 3664, 3693, 3673, 3687, - 3684, 3697, 3685, 3690, 3707, 3686, 3710, 3700, 3716, 3712, - 3711, 3714, 3721,11868, 3724,11868, 3730, 3699, 3746, 3729, - 3745, 3758, 3741, 3742, 3748, 3752, 3749, 3773, 3775,11868, - 11868, 3777, 3779, 3756, 3785, 3763, 3768, 3787, 3783, 3781, - 11868, 3799, 3822,11868, 3823, 3801, 3817, 3804, 3809, 3814, - 3810, 3821, 3836, 3826, 3839, 3840, 3846, 3849, 3843, 3845, - 3844, 3853, 3869, 3861,11868, 3876, 3878, 3862, 3879, 3882, - 3891, 3885, 3888, 3892, 3886,11868, 3910, 3901, 3920, 3902, - 3895, 3766, 3918, 3912, 3928, 3932, 3922, 3919, 3915, 3945, + 3959, 3964, 3952, 3953, 3967, 3975, 3977, 3993, 3998, 4000, + 3991, 4001, 4003, 4002, 4005,12017, 4004, 3992, 3988, 4016, + 4017, 4012, 4011, 4015, 4031, 4036, 4027, 4028, 4043, 4049, + 4037, 4051, 4032, 4053, 4042, 4062, 4067, 4066, 4055, 4071, + 4072, 4070, 4090, 4074, 4077, 158, 4078, 4093, 4087, 4099, + 4082,12017, 4097, 4101, 4100, 4104, 4114, 4120, 4115, 115, + 4118, 4121, 4126, 4139, 4131, 4134, 4150, 4137, 4156, 4159, + 4147, 4145, 4152, 4164, 4171, 4165, 4161, 4166, 4176, 4163, + 4182, 4186, 4187, 4184, 4185,12017, 4206, 4196, 4211, 4208, + 4200, 4224, 4205, 4216, 4209, 4234,12017, 4236, 4245, 4225, - 3939, 3905, 3941, 3946, 3951, 3958, 3966, 3959, 3974,11868, - 3965, 3953, 3957, 3979, 3976, 3982, 3972, 3980, 3985, 3983, - 3978, 3992, 3997, 3999, 4006, 4008, 4004, 4016, 4015, 4023, - 4025, 4021, 4027, 4030, 4018, 4033, 4029, 4035, 158, 4040, - 4042, 4046, 4045,11868, 4052, 4057, 4075, 4068, 4072, 4078, - 4061, 115, 4073, 4067, 4074, 4084, 4097, 4092, 4090, 4095, - 4096, 4101, 4104, 4103, 4105, 4120, 4124, 4122, 4123, 4129, - 4130, 4131, 4117, 4138, 4133, 4144, 4142,11868, 4155, 4152, - 4168, 4165, 4157, 4181, 4162, 4179, 4160, 4195,11868, 4186, - 4193, 4178, 4191, 4189, 4202, 4205, 4221, 4206, 4208, 4222, + 4241, 4247, 4242, 4244, 4256, 4243, 4260, 4267,12017, 4274, + 4265, 4281, 4269, 4283, 4277, 4286, 4271,12017, 4295, 4294, + 4302, 4289, 4314, 4296, 4303, 4310, 4313, 4316, 4330, 4317, + 4324, 4326, 4329, 4340, 4327, 4341, 4349, 4355, 4354, 4343, + 4351, 4370, 4358, 4365, 4368, 4367, 4362, 4381, 4388, 4382, + 12017, 4404, 4390, 4389, 4393, 4392, 4394, 4413, 4414, 4427, + 4406, 4420, 4411, 4435, 4463, 4440, 4430, 4439, 4451, 4457, + 4460, 4446, 4447, 4454, 4474, 4475, 4487, 4473, 4485, 4495, + 4505, 4491, 4499, 4507, 4498, 4502, 4521, 4514, 4518, 4513, + 4523, 4516, 4531, 4541, 4536, 4544, 4547, 4555, 4540, 4578, - 11868, 4223, 4218, 4227, 4203, 4229, 4230, 4232, 4241,11868, - 4240, 4242, 4257, 4245, 4258, 4269, 4266, 4261, 4264, 4259, - 4292, 4267, 4274, 4271, 4280, 4290, 4294, 4291, 4298, 4305, - 4319, 4303, 4308, 4306, 4314, 4317, 4322, 4318, 4326, 4332, - 4325, 4338,11868, 4353, 4342, 4346, 4354, 4348, 4350, 4365, - 4355, 4376, 4364, 4372, 4375, 4378, 4415, 4398, 4377, 4399, - 4403, 4413, 4404, 4417, 4410, 4406, 4427, 4440, 4448, 4391, - 4425, 4457, 4459, 4433, 4450, 4451, 4474, 4475, 4470, 4465, - 4472, 4467, 4477, 4469, 4461, 4508, 4499, 4512, 4506, 4509, - 4502, 4534, 4514, 4503, 4530, 4522, 4507,11868, 4520, 4538, + 4551, 4548, 4563, 4574, 4550,12017, 4566, 4580, 4579, 4582, + 4575, 4581, 4585, 4615, 4590, 4602, 4604, 4609, 4608, 4606, + 4619, 4623, 4625, 4622, 4629, 4630, 4643, 4631, 4627, 4645, + 4646, 4657, 4649, 4656, 4667, 4651, 4652, 4676, 4682, 4670, + 4686, 4683, 4689,12017, 4690, 4694, 4679, 4696, 4695, 4680, + 4702, 4710, 4709, 4703, 4707, 4712, 4719, 4715, 4723, 4741, + 4725, 4736, 4738, 4739, 4747, 4746,12017, 4750, 4751, 4742, + 4766, 4756, 4768, 4780, 4778, 4784, 4787, 4791, 4793, 4792, + 4781, 4795, 4803, 4802,12017, 4805, 4807, 4824, 4822, 4826, + 4808, 4829, 4814, 4828, 4835, 4840, 4823, 4837,12017, 4841, - 4535, 4541, 4547, 4537, 4560, 4571, 4563, 4558, 4564, 4569, - 4577, 4566, 4579, 4580, 4583, 4582, 4593, 4581, 4602, 4613, - 4605, 4610, 4609, 4619, 4611, 4621, 4620, 4608, 4606, 4629, - 4642, 4628, 4649, 4654, 4658,11868, 4661, 4657, 4644, 4656, - 4666, 4647, 4668, 4671, 4670, 4652, 4680, 4682, 4677, 4685, - 4679, 4707, 4688, 4687, 4706, 4704, 4714, 4699,11868, 4715, - 4719, 4709, 4712, 4742, 4734, 4745, 4746, 4751, 4752, 4753, - 4759, 4757, 4749, 4764, 4761, 4777,11868, 4726, 4732, 4766, - 4787, 4769, 4791, 4780, 4794, 4801, 4782, 4783,11868, 4806, - 4795, 4798, 4797, 4796, 4814, 4820, 4825, 4828, 4831,11868, + 4851, 4834, 4832, 4852, 4853, 4850, 4880, 4875, 4871,12017, + 4888, 4873, 4877, 4884, 4890, 4874, 4883, 4878, 4905, 4885, + 4906, 4900, 4910, 4924, 4912, 4931, 4911, 4935,12017, 4917, + 4927, 4932, 4947, 4942, 4946, 4939, 4957, 4956, 4961, 4962, + 4973, 4984, 4969, 4968,12017, 4990, 4963, 4995, 4975, 5015, + 4997, 4992, 4994, 4996, 5009, 5020, 5011, 5007, 5026, 5010, + 12017, 5019, 5017, 5022, 5047, 5028, 5043, 5044, 5055, 5039, + 5049, 5045, 5054, 5058, 5062, 5060, 5075, 5076, 5081, 5066, + 5082, 5089, 5078, 5088, 5100, 5102, 5103, 5098, 5113, 5124, + 5125, 5108, 5130, 5132, 5127, 5120, 5116, 5129, 5143, 5147, - 4836, 4830, 4839, 4840, 4841, 4829, 4848, 4851, 4852, 4861, - 4854, 4821, 4864, 4878, 4866, 4885, 4867, 4891,11868, 4876, - 4886, 4889, 4904, 4880, 4888, 4899, 4911, 4907, 4905, 4922, - 4931, 4915, 4926, 4916,11868, 4946, 4929, 4948, 4933, 4959, - 4942, 4950, 4947, 4957, 4963, 4973, 4964, 4960, 4988, 4974, - 11868, 4956, 4981, 4984, 4995, 5000, 4992, 4979, 4986, 5005, - 5008, 5009, 5016, 5018, 5019, 5020, 5035, 5031, 5036, 5032, - 5042, 5043, 5051, 5044, 5063, 5058, 5065, 5059, 5075, 5054, - 5057, 5068, 5086, 4985, 5083, 5077, 5067, 5091, 5102, 5103, - 5110, 5106, 5116,11868, 5108, 5115, 5112, 5104, 5113, 5114, + 5151, 5149, 5161,12017, 5148, 5163, 5144, 5155, 5157, 5152, + 5170, 5165, 5186, 5171, 5193, 5200, 5197, 5189, 5188, 5209, + 5211, 5213, 5199, 5204, 5206, 5216, 5212, 5218, 5227, 5222, + 5228, 5231, 5238, 5242, 5248, 5262, 5243, 5239, 5245, 5258, + 5250, 5269, 5252, 5267, 5272, 5265, 5282, 5274, 5278, 5283, + 5285, 5281, 5286, 5299, 5305, 5312, 5298, 5300, 5309, 5316, + 5323, 5325, 5324, 5322, 5332, 5329, 5327,12017,12017, 5358, + 12017, 5344, 5348, 5343, 5363, 5359, 5371, 5354, 5362, 5357, + 5378, 5374, 5388, 5384, 5381, 5397, 5402, 5406, 5408, 5393, + 5396, 5409, 5405, 5421, 5417,12017, 5401,12017, 5427, 5422, - 5130, 5120, 5123, 5133, 5148, 5131, 5154, 5147, 5143, 5169, - 5171, 5163, 5157, 5172, 5149, 5160, 5176, 5186, 5183, 5174, - 5178, 5182, 5189, 5187, 5203, 5216, 5199, 5195, 5204, 5218, - 5201, 5226, 5206, 5230, 5237, 5220, 5229, 5221, 5222, 5232, - 5242, 5244, 5249, 5245, 5254, 5259, 5256, 5265, 5267, 5273, - 5274, 5272, 5276, 5278, 5281, 5286, 5285,11868,11868, 5308, - 11868, 5289, 5288, 5301, 5306, 5312, 5324, 5311, 5320, 5315, - 5330, 5338, 5337, 5334, 5332, 5339, 5347, 5346, 5351, 5342, - 5353, 5354, 5348, 5365, 5383,11868, 5366,11868, 5390, 5367, - 5381, 5395, 5392, 5377,11868, 5391,11868, 5398, 5399, 5387, + 5426, 5429, 5432, 5435,12017, 5438,12017, 5439, 5447, 5434, + 5444, 5448,12017, 5465, 5446, 5452, 5454, 5456, 5477, 5469, + 5459, 5466, 5473, 5492, 5475, 5503, 5500, 5499, 5491, 5495, + 5496, 5486, 5513, 5511, 5502, 5512, 5516, 5532, 5530, 5522, + 5544, 5526, 5528, 5535, 5540, 5552, 5541, 5558, 5555,12017, + 5564, 5570, 5571, 5553, 5579, 5572, 5568, 5562, 5585, 5580, + 5583, 5587, 5591, 5595, 5589, 5612, 5606, 5621, 5601, 5625, + 5628, 5629, 5618, 5639, 5635, 5647, 5623, 5651, 5644,12017, + 5645, 5630, 5650, 5654, 5653, 5657,12017, 5655, 5670, 5664, + 5678, 5682, 5680, 5671, 5677, 5690, 5698, 5685, 5696, 5691, - 5389, 5393,11868, 5404, 5379, 5413, 5412, 5415, 5428, 5422, - 5417, 5424, 5426, 5440, 5432, 5452, 5449, 5448, 5436, 5451, - 5444, 5460, 5473, 5468, 5465, 5481, 5470, 5461, 5487, 5478, - 5488, 5472, 5484, 5479, 5500, 5501, 5497,11868, 5519, 5537, - 5523, 5509, 5528, 5518, 5517, 5524, 5521, 5525, 5529, 5548, - 5542, 5553, 5551, 5567, 5556, 5560, 5555, 5559, 5564, 5583, - 5569, 5575, 5587, 5584, 5585, 5598, 5590,11868, 5593, 5597, - 5594, 5599, 5601, 5602,11868, 5604, 5622, 5614, 5629, 5636, - 5625, 5624, 5628, 5620, 5645, 5626, 5647, 5640, 5672, 5649, - 5653, 5657, 5674,11868, 5670, 5676, 5658, 5665, 5682, 5667, + 5721, 5701, 5706, 5709, 5726,12017, 5722, 5732, 5717, 5740, + 5695, 5723, 5751, 5757, 5750, 5733, 5761, 5768, 5760, 5758, + 5763, 5756, 5753, 5776, 5791, 5796, 5798, 5789, 5801, 5774, + 5799, 5805, 5802, 5792, 5793, 5800, 5812, 5790, 5818, 5808, + 5819, 5827, 5825, 5823, 5840, 5845, 5832, 5846,12017, 5849, + 5850, 5842, 5863, 5836, 5865, 5859, 5870, 5882, 5886, 5889, + 12017, 5864, 5873, 5890, 5892, 5900, 5906, 5888, 5872, 5908, + 5909, 5936, 5917, 5930, 5929, 5924,12017, 5955,12017, 5916, + 5922, 5957, 5942, 5946, 5959, 5958, 5953, 5969, 5963, 5983, + 5979, 5974, 5986, 5977, 5990, 5985, 5987, 5982, 6002, 5997, - 5701, 5703, 5695, 5706, 5710, 5717, 5708, 5702, 5696, 5697, - 5699, 5718, 5730, 5736, 5737, 5734, 5741, 5724, 5744, 5750, - 5748, 5738, 5732, 5740, 5742, 5735, 5758, 5759, 5770, 5774, - 5771, 5765, 5768, 5791, 5775, 5796,11868, 5792, 5795, 5797, - 5801, 5786, 5798, 5809, 5812, 5824, 5831, 5833,11868, 5808, - 5820, 5838, 5834, 5847, 5835, 5830, 5825, 5837, 5854, 5875, - 5853, 5872, 5874, 5869,11868, 5877,11868, 5876, 5873, 5881, - 5887, 5888, 5895, 5899, 5900, 5920, 5913, 5929, 5918, 5911, - 5927, 5916, 5934, 5938, 5921, 5919, 5944, 5943, 5936, 5958, - 5953, 5965, 5951, 5964, 5956, 5981, 5979, 5968, 5969, 5966, + 6009, 6014, 6011, 6019, 6013, 6017, 6038, 6032, 6035, 6027, + 6036, 6021, 6046, 6029, 6075, 6056, 6055,12017,12017, 6052, + 6053, 6080, 6065, 6062, 6076, 6092, 6095, 6102, 6072, 6088, + 6101, 6089, 6118, 6082, 6104, 6108, 6139,12017, 6116, 6117, + 6120, 6131, 6135, 6145, 6128, 6150, 6156, 6155, 6140, 6161, + 6158,12017, 6148, 6151, 6165, 6166, 6157, 6177, 6194,12017, + 6182,12017, 6181, 6183, 6184, 6188, 6207, 6192, 6205, 6211, + 6209, 6210, 6217, 6214, 6213, 6199, 6221, 6230, 6229, 6243, + 6226, 6232, 6236, 6254, 6248, 6269, 6244, 6249, 6256,12017, + 6267, 6252, 6264, 6258, 6275, 6270, 6279, 6281, 6289, 6277, - 5976, 5971, 6010, 5992, 5995,11868,11868, 5991, 5994, 6019, - 6022, 6011, 6014, 6028, 6030, 6039, 6026, 6032, 6037, 6043, - 6058, 6047, 6052, 6050, 6081,11868, 6066, 6067, 6062, 6078, - 6072, 6092, 6079, 6036, 6095, 6091, 6087, 6103, 6098,11868, - 6100, 6106, 6088, 6108, 6119, 6131, 6117,11868, 6128,11868, - 6118, 6122, 6123, 6130, 6116, 6143, 6147, 6145, 6149, 6157, - 6159, 6156, 6139, 6180, 6185, 6179, 6175, 6190, 6172, 6176, - 6174, 6191, 6183, 6200, 6186, 6189, 6204,11868, 6197, 6206, - 6207, 6209, 6210, 6220, 6223, 6231, 6216,11868, 6242,11868, - 6233, 6237, 6248, 6247, 6250, 6254, 6243, 6249, 6260, 6263, + 6294,12017, 6306,12017, 6299, 6305, 6312, 6307, 6308, 6318, + 6321, 6316, 6325, 6322, 6324, 6339, 6331, 6342, 6350, 6347, + 6349, 6341,12017, 6343, 6352, 6336, 6363, 6346, 6376, 6378, + 6380, 6365, 6393,12017, 6389, 6400, 6381, 6388, 6390, 6403, + 6401, 6392, 6409, 6410, 6398, 6407, 6408, 6414, 6417, 6434, + 6433, 6431, 6435, 6441, 6447, 6445, 6428, 6459, 6458, 6461, + 6451, 6462, 6466,12017, 6468, 6473, 6477, 6481, 6479, 6478, + 6501, 6482, 6502, 6512, 6493, 6516, 6520, 6504, 6506, 6509, + 6518, 6528, 6539, 6519,12017, 6540, 6523, 6542, 6533, 6544, + 6546, 6536, 6535, 6558, 6550, 6559, 6572, 6560, 6555, 6569, - 6275, 6268, 6277, 6273, 6286, 6287, 6283, 6271,11868, 6278, - 6276, 6306, 6303, 6290, 6310, 6319, 6322, 6307, 6328,11868, - 6324, 6336, 6317, 6330, 6331, 6341, 6338, 6333, 6346, 6337, - 6342, 6349, 6343, 6359, 6373, 6374, 6372, 6368, 6367, 6385, - 6386, 6375, 6376, 6409, 6388, 6395, 6392, 6358, 6404,11868, - 6400, 6407, 6411, 6412, 6413, 6427, 6431, 6434, 6432, 6442, - 6424, 6446, 6448, 6443, 6456, 6457, 6463, 6461, 6455, 6476, - 11868, 6471, 6462, 6472, 6458, 6459, 6482, 6469, 6490, 6497, - 6491, 6495, 6501, 6498, 6489, 6507, 6514, 6522, 6521, 6520, - 6517, 6515, 6525, 6534, 6537, 6539, 6540, 6538, 6546,11868, + 6579, 6580, 6585, 6594, 6601, 6578, 6577, 6589, 6597, 6599, + 6603, 6611, 6605,12017, 6634, 6617, 6612, 6633, 6632, 6636, + 6638, 6639, 6629, 6641, 6645, 6653, 6656, 6646, 6652, 6658, + 6668, 6661, 6665, 6676, 6686, 6689, 6670,12017,12017, 6693, + 6675, 6695, 6696, 6706,12017, 6698, 6688, 6715, 6691, 6702, + 6703, 6710, 6733, 6731, 6714, 6723, 6736, 6740, 6718, 6746, + 6752, 6727, 6739,12017, 6745, 6751, 6762, 6741, 6757, 6774, + 6773,12017, 6758, 6786, 6759, 6782, 6781, 6778, 6772, 6776, + 6791, 6784, 6803, 6780, 6789, 6809, 6808, 6804, 6802, 6814, + 6827, 6832, 6818, 6819, 6836,12017, 6823, 6822, 6842, 6848, - 6574, 6541, 6556, 6573, 6565, 6562, 6584, 6579, 6570, 6566, - 6572, 6567, 6578, 6587, 6595, 6583, 6612, 6599, 6594, 6623, - 6620, 6625, 6607,11868,11868, 6628, 6604, 6626, 6632, 6633, - 11868, 6635, 6621, 6637, 6640, 6639, 6622, 6649, 6650, 6670, - 6651, 6659, 6666, 6671, 6655, 6678, 6675, 6657, 6676,11868, - 6694, 6682, 6696, 6684, 6688, 6699, 6710,11868, 6697, 6701, - 6713, 6715, 6708, 6703, 6705, 6714, 6724, 6722, 6726, 6728, - 6731, 6735, 6744, 6739, 6743, 6738, 6763, 6772, 6749, 6753, - 6774,11868, 6761, 6760, 6780, 6779, 6765, 6783, 6788,11868, - 6792, 6793, 6799, 6798, 6805, 6813, 6808, 6818, 6812, 6833, + 6833, 6839, 6837,12017, 6849, 6869, 6861, 6866, 6871, 6877, + 6878, 6882, 6881, 6890, 6885, 6888, 6884, 6889, 6898, 6900, + 6908, 6883, 6904, 6911, 6927, 6910, 6934, 6935, 6937,12017, + 6930, 6921, 6949, 6924, 6947, 6942,12017, 6943, 6977, 6951, + 12017, 6961, 6954, 6968, 6963, 6987,12017, 6971, 6981, 6979, + 6974, 6988, 6966, 6999, 6995, 7001, 6982, 7004, 6998, 7005, + 7002, 7000, 7018, 7022,12017, 7024, 7014, 7030,12017, 7037, + 7039, 7051, 7038, 7053, 7040, 7044, 7028, 7048, 7058, 7050, + 7067, 7070, 7064,12017, 7069, 7087,12017, 7081, 7082, 7071, + 7077, 7075, 7104,12017, 7094, 7095, 7083, 7093, 7103, 7113, - 6815, 6820, 6824, 6832, 6826, 6838, 6842, 6853, 6839, 6841, - 6847, 6854, 6871, 6874, 6868,11868, 6869, 6863, 6876, 6866, - 6883, 6877,11868, 6891, 6911, 6881,11868, 6902, 6890, 6895, - 6908, 6912,11868, 6909, 6919, 6913, 6927, 6899, 6917, 6910, - 6935, 6918, 6926, 6934, 6922, 6936, 6937, 6945,11868, 6953, - 6947, 6962,11868, 6970, 6968, 6972, 6975, 6976, 6978, 6981, - 6964, 6987, 6986, 6982, 6985, 6995, 7002,11868, 6991, 7021, - 11868, 7016, 7006, 6999, 7012, 7015, 7026,11868, 7013, 7023, - 7031, 7032, 7040, 7039, 7050, 7038, 7045, 7053, 7047, 7042, - 7051, 7066, 7071, 7059, 7084, 7063, 7076, 7074, 7080,11868, + 7119, 7120, 7125, 7108, 7117, 7109, 7110, 7143, 7137, 7144, + 7147, 7130, 7150, 7140, 7146,12017, 7168, 7145, 7152, 7156, + 7162, 7177, 7157, 7179, 7173, 7176, 7184,12017,12017, 7198, + 12017, 7196, 7185, 7186, 7200,12017, 7195, 7203, 7219, 7214, + 7232, 7213, 7220, 7229, 7218, 7238, 7240,12017, 7239, 7249, + 12017, 7228, 7246, 7237, 7243, 7247, 7258, 7262, 7267, 7287, + 7265, 7260, 7271, 7275, 7279, 7274, 7284, 7289, 7308, 7298, + 7326,12017, 7292, 7299, 7324, 7297, 7315, 7310, 7331, 7335, + 7337, 7341, 7339, 7325, 7323,12017, 7342, 7371, 7357, 7372, + 7369,12017,12017, 7370,12017, 7360, 7380, 7374,12017, 7381, - 7087, 7077, 7096, 7097, 7069, 7108, 7101, 7113, 7117, 7115, - 7114,11868,11868, 7118,11868, 7126, 7123, 7130, 7132,11868, - 7116, 7135, 7156, 7143, 7154, 7159, 7150, 7157, 7151, 7167, - 7166,11868, 7168, 7170,11868, 7162, 7173, 7177, 7178, 7195, - 7181, 7187, 7198, 7208, 7189, 7201, 7206, 7196, 7212, 7194, - 7222, 7200, 7246, 7225, 7251,11868, 7235, 7233, 7238, 7232, - 7245, 7241, 7264, 7266, 7268, 7274, 7272, 7273, 7259,11868, - 7280, 7300, 7286, 7284, 7296,11868,11868, 7299,11868, 7291, - 7305, 7301,11868, 7312, 7313, 7298, 7306, 7314, 7325, 7318, - 7327,11868, 7341, 7335, 7350, 7329, 7348, 7356,11868, 7352, + 7384, 7363, 7397, 7368, 7390, 7394, 7399,12017, 7420, 7402, + 7423, 7401, 7425, 7429,12017, 7428, 7432, 7417, 7424, 7441, + 7439, 7443, 7440, 7451, 7476, 7457,12017, 7454, 7458, 7462, + 7477, 7478, 7471, 7468, 7466, 7492, 7489, 7495, 7496, 7501, + 7484, 7512, 7513, 7509, 7514, 7503, 7519, 7526, 7522, 7528, + 7516,12017, 7541, 7523, 7536, 7530, 7569, 7544, 7539, 7555, + 12017, 7557, 7561, 7571, 7572,12017, 7566, 7581, 7578, 7580, + 7568, 7584, 7591, 7594, 7565, 7598, 7600, 7614,12017, 7608, + 7611, 7604, 7622, 7621, 7625, 7631, 7616,12017,12017, 7649, + 12017, 7627, 7636, 7629, 7646, 7645, 7653, 7665, 7657, 7656, - 7354, 7342, 7345, 7344, 7371, 7362, 7365, 7376, 7400, 7385, - 11868, 7377, 7383, 7387, 7401, 7405, 7391, 7392, 7389, 7413, - 7412, 7419, 7416, 7418, 7404, 7430, 7435, 7434, 7437, 7426, - 7440, 7446, 7443, 7449, 7433,11868, 7455, 7463, 7456, 7466, - 7471, 7468, 7479, 7477,11868, 7478, 7482, 7492, 7495,11868, - 7483, 7493, 7499, 7484, 7485, 7507, 7511, 7515, 7512, 7518, - 7521, 7528,11868, 7534, 7535, 7523, 7517, 7544, 7548, 7542, - 7539,11868,11868, 7562,11868, 7559, 7556, 7567, 7569, 7563, - 7576, 7572, 7584, 7577, 7573, 7578, 7594, 7596, 7589, 7592, - 7590,11868, 7603, 7618, 7604, 7632, 7638, 7640, 7633,11868, + 7674, 7660, 7658, 7671, 7676, 7686, 7680, 7673, 7689,12017, + 7687, 7684, 7690, 7723, 7695, 7715, 7716,12017, 7717, 7700, + 12017, 7704,12017, 7705, 7711, 7730, 7733, 7726, 7737, 7739, + 7742, 7731, 7757,12017, 7746, 7750, 7751, 7767, 7752, 7773, + 7768, 7775, 7787,12017, 7779, 7769, 7781, 7784,12017, 7766, + 7798, 7782, 7800, 7795, 7812, 7801, 7807, 7806, 7816, 7802, + 7820, 7831, 7822, 7833, 7818, 7828, 7834, 7829, 7840, 7861, + 7844, 7851, 7870,12017, 7864, 7855, 7856, 7858, 7853, 7863, + 7873, 7868, 7882, 7884, 7903, 7897, 7912,12017, 7893,12017, + 7900, 7896, 7909, 7916, 7902, 7917, 7920, 7923, 7921, 7904, - 7631, 7621,11868, 7623,11868, 7619, 7629, 7644, 7660, 7645, - 7651, 7656, 7650, 7637, 7646,11868, 7681, 7665, 7670, 7688, - 7667, 7694, 7691, 7696, 7703,11868, 7700, 7679, 7705, 7713, - 11868, 7689, 7719, 7702, 7720, 7692, 7729, 7721, 7722, 7723, - 7737, 7731, 7744, 7741, 7740, 7749, 7756, 7751, 7757, 7761, - 7760, 7758, 7776, 7768, 7791,11868, 7784, 7778, 7780, 7790, - 7771, 7769, 7795, 7802, 7798, 7806, 7813, 7803, 7820,11868, - 7816,11868, 7815, 7818, 7829, 7836, 7824, 7834, 7841, 7845, - 7839, 7833, 7850, 7840, 7868, 7849, 7872, 7870, 7863, 7866, - 7873, 7884,11868, 7882, 7891, 7879, 7897, 7895, 7883, 7887, + 7924, 7933, 7940, 7954, 7955, 7956, 7943, 7944, 7949, 7965, + 12017, 7963, 7971, 7960, 7973, 7968, 7964, 7978, 7983,12017, + 7989, 7986, 7991, 7985, 7990,12017, 7995, 8000, 8014, 8019, + 8001, 8023, 8007, 8026, 8016, 8024,12017, 8032, 8037, 8028, + 8030, 8034, 8043, 8045, 8040, 8051, 8056, 8049, 8055,12017, + 8068, 8048, 8058, 8079, 8066, 8075, 8082, 8083, 8096, 8091, + 8089, 8090, 8092,12017, 8099, 8101, 8098, 8104,12017, 8102, + 8115, 8110, 8119, 8123, 8136, 8121, 8118, 8124, 8147, 8139, + 8156, 8154, 8157,12017, 8153, 8135, 8166, 8150, 8160, 8170, + 8174, 8180, 8191, 8181, 8196, 8208,12017, 8209, 8182, 8205, - 7911,11868, 7912, 7900, 7903, 7914, 7915,11868, 7919, 7924, - 7902, 7935, 7918, 7936, 7922, 7948, 7939, 7947,11868, 7956, - 7957, 7944, 7959, 7945, 7960, 7953, 7969, 7964, 7967, 7963, - 7974,11868, 7984, 7978, 7979, 7982, 7981, 7997, 8001, 8009, - 8014, 8010, 7994, 8004, 8016,11868, 8008, 8025, 8022, 8032, - 11868, 8027, 8033, 8028, 8038, 8052, 8058, 8042, 8043, 8046, - 8057, 8060, 8083, 8067, 8091,11868, 8072, 8077, 8074, 8084, - 8078, 8089, 8085, 8088, 8116, 8111, 8119, 8132,11868, 8131, - 8124, 8134, 8137, 8140, 8128, 8141, 8144, 8147, 8155, 8149, - 11868, 8168, 8179, 8180, 8163, 8162, 8191, 8167, 8181, 8198, + 8207, 8215, 8197, 8200, 8223, 8221, 8224, 8219,12017, 8236, + 8238, 8247, 8239, 8263, 8264, 8240, 8258, 8265, 8257, 8270, + 12017, 8251, 8256, 8274, 8260, 8284, 8285, 8286, 8289, 8291, + 8287, 8304, 8302,12017, 8288, 8301,12017, 8299, 8300, 8322, + 8315, 8329, 8339, 8313, 8335, 8332, 8342, 8340, 8333,12017, + 8331, 8336, 8348, 8346, 8362, 8367, 8369, 8373,12017, 8372, + 8365, 8368, 8374,12017, 8382, 8388, 8370, 8397, 8375, 8391, + 8407, 8416, 8399, 8420,12017, 8422, 8424, 8418, 8430, 8433, + 8426, 8429, 8417, 8436, 8428, 8438, 8445, 8442, 8451, 8441, + 8456, 8466,12017, 8469, 8472, 8474, 8476, 8477, 8478, 8480, - 8192, 8194,11868, 8176, 8200, 8206, 8190, 8195, 8205, 8207, - 8211, 8215, 8203, 8240, 8235,11868, 8224,11868, 8225, 8237, - 8247, 8254, 8249, 8242, 8255, 8251, 8262, 8256, 8271,11868, - 8243, 8252, 8265, 8279, 8287, 8288, 8292, 8298,11868, 8289, - 8283, 8290, 8295,11868, 8306, 8308, 8284, 8320, 8325, 8312, - 8338, 8341, 8322, 8343,11868, 8345, 8347, 8346, 8348, 8353, - 8349, 8354, 8352, 8356, 8355, 8359, 8374, 8370, 8390, 8368, - 8378, 8393,11868, 8395, 8397, 8396, 8401, 8402, 8394, 8404, - 8412, 8410, 8408, 8423,11868, 8433, 8422, 8424, 8425, 8429, - 8449, 8427, 8441, 8460, 8451, 8461, 8459, 8465, 8440, 8456, + 8464, 8486, 8485, 8479,12017, 8505, 8495, 8498, 8500, 8507, + 8519, 8504, 8525, 8499, 8522, 8532, 8531, 8534, 8511, 8545, + 8546, 8539, 8547, 8540,12017, 8542, 8559, 8571, 8558, 8582, + 8562, 8577,12017, 8569,12017, 8566, 8573, 8583, 8585, 8589, + 12017, 8591, 8586, 8596, 8593, 8607,12017,12017, 8618, 8629, + 8613, 8627, 8621, 8626, 8623, 8634,12017,12017, 8633,12017, + 8620,12017, 8628, 8635,12017,12017, 8639, 8610, 8663, 8649, + 8652,12017, 8648, 8657, 8672, 8675, 8681,12017, 8682,12017, + 8688, 8665, 8686, 8679, 8671, 8684,12017, 8691, 8700, 8705, + 8707, 8696,12017, 8708, 8712, 8720, 8730, 8711, 8713,12017, - 8463, 8472, 8473, 8479,11868, 8469, 8485, 8490, 8502, 8503, - 8497, 8508,11868, 8498,11868, 8499, 8500, 8515, 8517, 8518, - 11868, 8528, 8496, 8530, 8522, 8535,11868,11868, 8546, 8544, - 8539, 8552, 8545, 8556, 8555, 8558,11868,11868, 8553,11868, - 8541,11868, 8560, 8568,11868,11868, 8562, 8543, 8575, 8572, - 8577,11868, 8579, 8580, 8592, 8595, 8608,11868, 8609,11868, - 8615, 8594, 8611, 8602, 8601, 8621,11868, 8624, 8610, 8619, - 8622, 8630,11868, 8617, 8638, 8646, 8659, 8637, 8641,11868, - 8662, 8654, 8657, 8664, 8669, 8660, 8661, 8672, 8683, 8678, - 8681, 8688,11868, 8684, 8680, 8690, 8691, 8704, 8703, 8715, + 8731, 8727, 8732, 8739, 8743, 8734, 8735, 8747, 8751, 8746, + 8761, 8757,12017, 8763, 8767, 8766, 8768, 8773, 8770, 8784, + 8794, 8785, 8787, 8791, 8800, 8795, 8797, 8814, 8804, 8810, + 8806, 8820, 8829, 8822, 8833, 8818, 8838, 8839, 8847, 8849, + 8841, 8831, 8842, 8837, 8852, 8855, 8859, 8864, 8872, 8885, + 8876, 8888, 8877, 8886, 8878, 8874, 8891, 8875, 8899, 8897, + 8898, 8908, 8906, 8903, 8911, 8914, 8912, 8918, 8939, 8933, + 8925, 8921, 8945, 8938, 8948, 8935, 8946, 8953,12017, 8960, + 8957, 8959, 8977, 8983, 8962, 8987, 8980, 8986, 8988, 8992, + 8996, 8989, 8997,12017,12017,12017, 9002, 8999,12017, 9021, - 8712, 8707, 8711, 8717, 8718, 8726, 8731, 8727, 8735, 8722, - 8755, 8757, 8760, 8749, 8763, 8748, 8762, 8768, 8770, 8773, - 8779, 8752, 8790, 8783, 8756, 8789, 8780, 8792, 8781, 8785, - 8798, 8786, 8808, 8807, 8810, 8801, 8818, 8804, 8806, 8815, - 8830, 8827, 8817, 8832, 8833, 8831, 8842, 8853, 8849, 8841, - 8838, 8859, 8873, 8866, 8857, 8870,11868, 8860, 8869, 8881, - 8887, 8877, 8883, 8904, 8895, 8889, 8908, 8911, 8915, 8905, - 8919,11868,11868,11868, 8914, 8924,11868, 8926, 8910, 8918, - 8930, 8933,11868, 8938, 8941, 8939, 8942, 8943, 8955, 8947, - 8969, 8952, 8960, 8965, 8976,11868, 8980, 8973, 8979, 8975, + 9012, 9020, 9013, 9018,12017, 9014, 9017, 9015, 9016, 9026, + 9041, 9045, 9049, 9047, 9048, 9052, 9053,12017, 9078, 9056, + 9057, 9063, 9060, 9086,12017, 9079, 9089, 9073, 9077, 9081, + 9094, 9087, 9092, 9093, 9107, 9098, 9120, 9126, 9125, 9127, + 9131, 9113, 9118, 9129,12017, 9139, 9141, 9147, 9128, 9143, + 9149, 9148, 9151, 9166, 9169, 9152, 9157, 9160, 9170, 9174, + 9162, 9178, 9184, 9190, 9193, 9200,12017, 9187, 9202, 9196, + 9203,12017, 9207, 9199, 9209, 9204, 9214, 9225, 9208, 9227, + 9233, 9234, 9217, 9230,12017,12017, 9220, 9235, 9247, 9256, + 9243, 9245, 9268, 9260, 9254, 9274,12017, 9264, 9267, 9280, - 8986, 8981,11868, 8992, 9009, 8994, 8996, 8998, 9008, 9002, - 9000, 9013, 9010, 9011, 9028, 9029, 9027, 9046, 9047, 9042, - 9045, 9043,11868, 9048, 9050, 9056, 9053, 9060, 9037, 9065, - 9054, 9061, 9067, 9076, 9077, 9079, 9074, 9075, 9080, 9103, - 9089, 9082, 9112, 9110,11868, 9098, 9115, 9101, 9119,11868, - 9113, 9102, 9124, 9111, 9127, 9133, 9123, 9129, 9140, 9147, - 9135, 9138,11868,11868, 9144, 9148, 9150, 9168, 9154, 9158, - 9173, 9167, 9171, 9179,11868, 9172, 9174, 9182, 9193, 9190, - 9191,11868, 9194, 9195, 9196, 9192, 9212, 9220, 9210, 9216, - 9213, 9217, 9222, 9221, 9232,11868, 9234, 9242, 9254, 9244, + 9284, 9273, 9262,12017, 9290, 9291, 9293, 9292, 9309, 9305, + 9298, 9297, 9294, 9307, 9319, 9313, 9328,12017, 9317, 9336, + 9334, 9341, 9347, 9332, 9348, 9352, 9349, 9346, 9354, 9344, + 9367,12017, 9356,12017,12017,12017, 9369, 9371, 9360, 9386, + 9375, 9379, 9387, 9381, 9394, 9396, 9395, 9391, 9397,12017, + 9399,12017,12017, 9415,12017, 9423, 9402, 9426, 9417, 9414, + 9427, 9429,12017, 9419, 9421,12017, 9430, 9444, 9450, 9445, + 9451, 9439, 9463, 9454, 9470, 9455, 9473, 9472, 9478, 9462, + 9466, 9490, 9482, 9486, 9489,12017, 9493, 9497, 9499, 9488, + 9498,12017,12017, 9514, 9495, 9509, 9527, 9525, 9534, 9532, - 9250, 9243, 9264, 9260, 9257, 9259, 9255, 9256, 9274,11868, - 9269,11868,11868,11868, 9278, 9271, 9273, 9288, 9284, 9286, - 9291, 9300, 9301, 9303, 9308, 9294, 9305,11868, 9316,11868, - 11868, 9318,11868, 9324, 9311, 9328, 9326, 9321, 9335, 9338, - 11868, 9327,11868, 9352, 9353, 9348, 9349, 9359, 9361, 9355, - 9367, 9362, 9364, 9371, 9369, 9350, 9365, 9392, 9395, 9397, - 9389,11868, 9405, 9394, 9399, 9407, 9411,11868,11868, 9408, - 9401, 9398, 9415, 9417, 9423, 9432, 9438, 9431, 9422, 9442, - 9447, 9448, 9451, 9439, 9449, 9434, 9456, 9461, 9458, 9450, - 9467,11868, 9464, 9481, 9465,11868, 9484,11868, 9488, 9492, + 9533, 9526, 9547, 9539, 9544, 9546, 9536, 9541, 9550, 9548, + 9552, 9553, 9557, 9570, 9581,12017, 9579, 9583, 9584,12017, + 9578,12017, 9589, 9593, 9595, 9574, 9591, 9603, 9614, 9601, + 9615, 9622, 9608, 9627,12017,12017, 9616, 9638, 9630,12017, + 12017, 9618, 9620, 9628, 9625, 9646, 9649, 9639,12017, 9651, + 9653, 9667, 9654, 9661, 9657, 9674, 9663,12017, 9664,12017, + 9666,12017, 9689,12017, 9673, 9698, 9678, 9707, 9712,12017, + 9691, 9690, 9711, 9714, 9717, 9715, 9713, 9695, 9718,12017, + 9719, 9716,12017, 9731, 9724, 9732, 9734, 9735, 9733, 9738, + 12017, 9756, 9759, 9761, 9750,12017, 9754, 9755, 9762, 9748, - 9494, 9482, 9489, 9495, 9498, 9505, 9501, 9508, 9519, 9513, - 11868,11868, 9520, 9522, 9524,11868,11868, 9517, 9521, 9523, - 9533, 9542, 9546, 9535,11868, 9547, 9549, 9560, 9540, 9550, - 9551, 9564, 9565,11868, 9574,11868, 9570,11868, 9568,11868, - 9592, 9572, 9575, 9580, 9599,11868, 9585, 9587, 9603, 9606, - 9613, 9609, 9602, 9593, 9616,11868, 9615, 9612,11868, 9620, - 9619, 9630, 9617, 9614, 9638, 9639,11868, 9649, 9648, 9651, - 9640,11868, 9646, 9655, 9661, 9641, 9666, 9660, 9668, 9672, - 9674,11868, 9679, 9680, 9687, 9685,11868, 9689,11868, 9682, - 9695, 9693, 9708, 9698,11868, 9697, 9703, 9706, 9712,11868, + 9773, 9772, 9779, 9774, 9785,12017, 9787, 9786, 9798, 9783, + 12017, 9804,12017, 9788, 9806, 9795, 9821, 9797,12017, 9800, + 9812, 9817, 9822,12017, 9818, 9826, 9828, 9838, 9827, 9829, + 12017, 9843, 9833,12017, 9846, 9852, 9856, 9858, 9847, 9861, + 9850, 9853, 9867, 9872, 9880, 9876, 9878,12017,12017, 9875, + 9891, 9884, 9897, 9896, 73, 9915, 9877, 9886, 9892, 9910, + 9902, 9922, 9925, 9905, 9917, 9926,12017,12017, 9931, 9929, + 9928,12017, 9932, 9933,12017, 9920, 9938, 9949, 9952, 9946, + 9948, 9954, 9944, 9960, 9980, 9968, 9981, 9971, 9967, 9975, + 12017,10004,10005, 9987, 9988, 9989,10002,10017,10019,10021, - 9704, 9715, 9728, 9731, 9725, 9730,11868, 9736, 9727,11868, - 9721, 9746, 9748, 9747, 9744, 9751, 9753, 9742, 9750, 9761, - 9762, 9763,11868,11868, 9784, 9778, 9787, 9780, 73, 9797, - 9772, 9776, 9782, 9777, 9803, 9805, 9806, 9788, 9812, 9817, - 11868,11868, 9818, 9814, 9820,11868, 9823, 9822,11868, 9801, - 9832, 9833, 9838, 9837, 9830, 9836, 9846, 9853, 9851, 9854, - 9873, 9858, 9852, 9862,11868, 9891, 9892, 9869, 9874, 9889, - 9901, 9903, 9905, 9907, 9893, 9916, 9917, 9886, 9913, 9918, - 9900, 9919, 9923, 9933, 9944, 9927, 9935, 9936,11868, 9957, - 9958, 9963, 9946, 9959, 9962, 9965, 9949,11868, 9972, 9971, + 10007,10030,10016, 9998,10028,10031,10012,10047,10040,10049, + 10033,10041,10046,10050,12017,10056,10071,10069,10060,10078, + 10074,10077,10067,12017,10084,10083,10089,10079,10086,12017, + 10092,10094,10099,10095,10105,12017,12017,10106,12017,10102, + 10123,10124,10121,10119,10112,10126,10129,10116,10145,12017, + 10141,10140,10142,10146,10155,10164,10169,10163,10170,10162, + 12017,10168,12017,12017,12017,10173,10160,10171,12017,10179, + 10180,10184,10181,12017,10203,10213,10205, 9994,10204,12017, + 12017,12017,10190,10217,10210,12017,10198,10143,12017,10208, + 12017,10202,12017,10228,10229,10226,12017,10230,12017,10243, - 9975, 9960, 9974,11868, 9977, 9982, 9987,10000, 9994,11868, - 11868, 9998,11868, 9992,10011,10012,10009,10006, 9997,10017, - 10005,10002,10031,11868,10032,10026,10033,10036,10037,10049, - 10047,10043,10056,10039,11868,10042,11868,11868,11868,10060, - 10067,10066,11868,10071,10068,10064,10072,11868,10085,10086, - 10087, 9811,10088,11868,11868,11868,10076,10092,10093,11868, - 10084,10110,11868,10094,11868,10105,11868,10103,10113,10121, - 10116,11868,10129,10124,11868,10128,10123,10127,10143,11868, - 10142,10146,10157,10149,10140,10152,10156,10159,10176,11868, - 11868,10164,10162,10177,10183,10180,10174,10184,10173,10185, + 10246,10238,12017,10247,10249,10245,10263,12017,10268,10269, + 10271,10272,10257,10260,10273,10274,10278,12017,12017,10287, + 10288,10297,10298,10306,10291,10299,10295,10307,10305,10318, + 12017,10310,10317,12017,10324,10322,10326,10320,10333,10341, + 10342,12017,10339,12017,10340,12017,10348,10350,10351,10366, + 10362,10349,10353,10373,10369,10367,10383,10382,10384,10394, + 10386,10379,10346,10407,10396,12017,12017,10424,10406,12017, + 10410,10417,10418,12017,10414,12017,10411,10425,12017,10412, + 10430,12017,10422,10432,10431,12017,12017,10440,10441,10447, + 10455,10437,10465,10450,12017,10470,10452,10451,10459,10457, - 10179,10198,11868,10189,10195,11868,10209,10215,10221,10217, - 10208,10216,10219,11868,10210,11868,10228,11868,10225,10236, - 10237,10229,10242,10243,10247,10254,10263,10252,10255,10253, - 10270,10274,10257,10261,10285,10291,10277,11868,11868,10308, - 10278,11868,10300,10307,10309,11868,10290,11868,10298,10315, - 11868,10304,10305,11868,10317,10310,10319,11868,11868,10316, - 10325,10330,10333,10327,10329,10336,11868,10340,10344,10338, - 10343,10342,10348,10370,10375,10356,10357,10363,10379,11868, - 10385,11868,10367,10397,10388,11868,11868,10377,10369,10398, - 10407,10394,10390,10411,10402,10414,10408,10421,10400,10406, + 10467,10482,10488,10473,10474,10484,10490,12017,10509,12017, + 10486,10510,10514,12017,12017,10498,10497,10521,10526,10512, + 10508,10530,10529,10525,10511,10515,10524,10532,10542,10545, + 10547,10558,10564,10550,10570,10572,10567,12017,12017,12017, + 10554,10559,10576,10577,10583,10580,10581,12017,10588,10587, + 12017,10593,10601,10607,10594,10621,10600,10619,12017,10610, + 10606,10604,10623,10626,10611,10625,10633,12017,10635,10643, + 10647,10649,10644,10650,10659,10661,10664,10656,10645,10667, + 10660,10652,10680,10679,12017,12017,10689,10674,12017,10695, + 10696,12017,12017,10683,10676,12017,10677,10686,10693,10687, - 10412,10431,10437,10443,10429,10446,10448,10452,11868,11868, - 11868,10435,10434,10440,10458,10457,10465,10469,11868,10471, - 10450,11868,10477,10483,10481,10470,10493,10484,10491,11868, - 10488,10476,10480,10499,10506,10495,10503,10508,11868,10523, - 10524,10525,10526,10520,10532,10536,10538,10540,10533,10522, - 10545,10535,10528,10561,10552,11868,11868,10566,10555,11868, - 10568,10573,11868,11868,10558,10553,11868,10556,10564,10570, - 10565,10575,11868,10590,10580,10591,10582,11868,10588,10585, - 10599,10600,10602,10611,10615,10604,10613,10633,10612,10626, - 11868,10616,10641,10628,10631,10639,10640,11868,11868,10635, + 10714,12017,10698,10692,10711,10707,12017,10713,10719,10727, + 10717,10723,10731,10745,10732,10735,10756,10741,10759,12017, + 10748,10758,10751,10746,10762,10764,12017,12017,10760,10777, + 12017,10780,10779,10768,10802,10787,10792,10801,10798,12017, + 10789,10790,12017,10808,10813,10795,10804,10816,10811,10822, + 10826,10814,12017,10825,10827,10835,10836,12017,10839,10842, + 10847,10849,10854,12017,10862,10848,10877,10873,12017,10860, + 10876,10875,12017,12017,12017,10890,10893,10892,12017,12017, + 12017,10883,10894,12017,10901,10903,10895,10909,12017,10897, + 12017,12017,10911,10910, 4760,10933,10913,10935,10923,12017, - 10654,11868,10663,10659,10651,10646,10657,10662,10674,10671, - 11868,10660,11868,10675,10677,10668,10673,10689,10687,10696, - 10692,10705,11868,10704,10698,10702,10707,11868,10706,10714, - 10725,10719,10723,11868,10731,10733,10718,10751,11868,10739, - 10744,10735,11868,11868,11868,10761,10764,10768,11868,11868, - 11868,10750,10771,11868,10773,10774,10762,10782,11868,10769, - 11868,11868,10785,10775, 8363,10806,10787,10817,10786,11868, - 10792,10798,10793,10800,10796,11868,10822,10826,11868,10833, - 10834,10835,10823,10832,10836,10837,10820,10821,10846,10842, - 10825,10852,11868,11868,10829,10848,10853,10862,10859,11868, + 10937,10934,10918,10926,10932,12017,10947,10948,12017,10954, + 10956,10957,10950,10955,10963,10964,10952,10960,10962,10968, + 10970,10976,12017,12017,10973,10979,10974,10993,10989,12017, + 10990,10991,11007,11005,11012,11013,11018,11014,11021,11024, + 11006,11015,11038,11035,11058,11032,11025,11039,11040,11051, + 11055,11045,11063,11073,11069,11076,11079,11065,11081,12017, + 12017,11084,11083,11089,12017,11093,11085,12017,11077,12017, + 11098,11099,11101,11105,11109,12017,11114,11115,11117,11118, + 11103,12017,11110,11123,12017,12017,11107,11111,11135,11125, + 11132,12017,12017,11143,11142,11136,11137,12017,11134,11153, - 10858,10875,10878,10887,10879,10889,10891,10892,10893,10873, - 10881,10902,10885,10930,10914,10886,10912,10905,10923,10931, - 10916,10933,10942,10934,10944,10945,10932,10941,11868,11868, - 10948,10937,10949,11868,10952,10956,11868,10959,11868,10966, - 10970,10980,10981,10982,11868,10984,10985,10987,10988,10963, - 11868,10986,10991,11868,11868,10974,10976,10998,10990,11009, - 11868,11868,10999,11011,11007,11008,11868,11012,11006,11021, - 11030,11016,11029,11032,11048,11033,11041,11868,11035,11052, - 11868,11868,11868,11056,11046,11060,11039,11069,11062,11868, - 11071,11058,11067,11073,11076,11066,11083,11868,11096,11077, + 11146,11155,11156,11159,11167,11176,11162,11173,11168,12017, + 11175,11187,12017,12017,12017,11183,11178,11194,11192,11200, + 11189,12017,11206,11198,11199,11215,11203,11211,11216,12017, + 11225,11226,12017,12017,11233,11224,12017,11240,12017,12017, + 11228,11230,12017,12017,12017,12017,12017,12017,12017,12017, + 12017,11243,11258,12017,11256,11260,11244,11253,11259,11264, + 12017,11263,11274,11284,11289,12017,11293,12017,11271,11286, + 11296,11277,11302,11292,12017,11298,12017,11313,11287,11304, + 11321,11316,11317,11327,11320,11311,11323,11319,11324,11337, + 11347,11346,11360,11340,11351,11364,11353,11366,11350,11362, - 11868,11868,11105,11091,11868,11111,11868,11868,11088,11097, - 11868,11868,11868,11868,11868,11868,11868,11868,11868,11115, - 11113,11868,11110,11118,11123,11129,11138,11133,11868,11122, - 11128,11134,11153,11868,11159,11868,11140,11155,11162,11149, - 11156,11868,11154,11868,11175,11150,11161,11174,11185,11177, - 11193,11184,11186,11189,11199,11183,11202,11200,11191,11218, - 11201,11213,11226,11214,11237,11219,11230,11234,11238,11228, - 11232,11246,11236,11257,11868,11868,11868,11868,11253,11249, - 11268,11263,11274,11271,11280,11278,11282,11286,11273,11283, - 11284,11288,11297,11291,11306,11296,11308,11305,11320,11326, + 11368,11371,11374,11384,11378,11380,11377,12017,12017,12017, + 12017,11392,11390,11412,11405,12017,11413,11415,11417,11419, + 11418,11423,11407,11404,11425,11430,11431,11429,11433,11434, + 11445,11452,11460,11466,11447,11468,11469,11470,12017,11471, + 11472,11473,12017,11476,11457,11482,11483,11474,11487,11485, + 12017,11475,11497,12017,11491,11493,12017,12017,11513,11518, + 11514,11502,11528,11530,11512,11523,11524,11527,11531,12017, + 11534,12017,12017,12017,12017,11529,11537,12017,11545,12017, + 12017,11541,11546,12017,11551,11547,11553,11563,12017,11555, + 11571,11558,11568,11570,11572,11579,11595,11586,12017,12017, - 11307,11328,11331,11336,11868,11337,11333,11334,11868,11340, - 11318,11342,11346,11335,11332,11356,11868,11355,11360,11868, - 11348,11358,11868,11868,11357,11373,11378,11361,11384,11394, - 11367,11377,11383,11387,11391,11868,11393,11868,11868,11868, - 11868,11397,11400,11868,11401,11868,11868,11404,11403,11868, - 11395,11406,11410,11428,11868,11414,11430,11419,11427,11431, - 11429,11442,11446,11445,11868,11868,11439,11443,11450,11456, - 11461,11462,11868,11471,11463,11477,11489,11484,11487,11488, - 11491,11467,11502,11868,11490,11501,11495,11500,11519,11505, - 11507,11868,11526,11512,11528,11514,11517,11543,11523,11527, + 11580,11588,11587,11592,11598,11602,12017,11608,11620,11618, + 11629,11625,11628,11632,11635,11611,11636,12017,11614,11622, + 11647,11646,11649,11658,11648,12017,11661,11652,11663,11653, + 11664,11673,11667,11669,11677,11684,11687,12017,11688,12017, + 11690,11701,11693,11698,11699,11700,11694,11711,11726,12017, + 12017,12017,11710,11720,12017,11709,11732,11721,11741,11743, + 11747,11748,11730,11754,11756,11758,11759,11764,11765,11766, + 11768,11775,11770,12017,12017,11777,11779,12017,11791,11800, + 11782,11784,11793,12017,11808,11807,11810,11811,11813,11815, + 12017,11817,11819,11824,12017,11828,12017,12017,11836,11835, - 11545,11547,11549,11868,11555,11868,11554,11561,11566,11560, - 11552,11558,11567,11563,11568,11868,11868,11868,11576,11592, - 11868,11582,11583,11587,11598,11600,11607,11590,11594,11615, - 11618,11617,11627,11620,11623,11624,11619,11632,11633,11868, - 11868,11636,11634,11868,11643,11650,11647,11649,11661,11868, - 11667,11654,11659,11670,11669,11665,11868,11683,11684,11680, - 11868,11685,11868,11868,11686,11682,11689,11702,11703,11868, - 11868,11868,11748,11755,11762,11769,11776,11783,11790, 100, - 11797,11804,11811,11818,11825,11832,11839,11846,11853,11860 + 11838,11843,11845,12017,12017,12017,11897,11904,11911,11918, + 11925,11932,11939, 100,11946,11953,11960,11967,11974,11981, + 11988,11995,12002,12009 } ; -static const flex_int16_t yy_def[4191] = +static const flex_int16_t yy_def[4225] = { 0, - 4172, 1, 4173, 4173, 4174, 4174, 4175, 4175, 4176, 4176, - 4177, 4177, 4178, 4178, 4179, 4179, 4172, 4180, 4172, 4172, - 4172, 4172, 4181, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4182, 4172, 4172, - 4172, 4182, 4183, 4172, 4172, 4172, 4183, 4184, 4172, 4172, - 4172, 4172, 4184, 4185, 4172, 4172, 4172, 4185, 4186, 4172, - 4187, 4172, 4186, 4186, 4188, 4172, 4172, 4172, 4172, 4188, - 4189, 4172, 4172, 4172, 4189, 4180, 4180, 4172, 4190, 4181, - 4190, 4181, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4206, 1, 4207, 4207, 4208, 4208, 4209, 4209, 4210, 4210, + 4211, 4211, 4212, 4212, 4213, 4213, 4206, 4214, 4206, 4206, + 4206, 4206, 4215, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4216, 4206, 4206, + 4206, 4216, 4217, 4206, 4206, 4206, 4217, 4218, 4206, 4206, + 4206, 4206, 4218, 4219, 4206, 4206, 4206, 4219, 4220, 4206, + 4221, 4206, 4220, 4220, 4222, 4206, 4206, 4206, 4206, 4222, + 4223, 4206, 4206, 4206, 4223, 4214, 4214, 4206, 4224, 4215, + 4224, 4215, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4216, 4216, 4217, 4217, 4218, 4218, + 4206, 4219, 4219, 4220, 4220, 4221, 4221, 4220, 4222, 4222, + 4206, 4223, 4223, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4182, 4182, 4183, 4183, 4184, 4184, - 4172, 4185, 4185, 4186, 4186, 4187, 4187, 4186, 4188, 4188, - 4172, 4189, 4189, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4220, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4186, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4220, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4220, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4186, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4220, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4206, 4206, 4214, 4214, 4206, 4206, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4172, 4180, - 4180, 4172, 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4220, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4186, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4220, 4220, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4186, 4186, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4180, 4180, 4172, + 4214, 4214, 4220, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4206, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4220, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, - 4180, 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4206, 4214, 4206, 4214, 4214, 4214, 4220, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4220, 4214, 4206, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4186, 4180, 4172, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4206, 4206, 4214, 4206, 4214, 4214, 4214, 4206, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, 4172, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4172, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4220, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4206, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4220, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4186, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4206, + 4214, 4206, 4214, 4214, 4206, 4206, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4206, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, 4172, - 4180, 4172, 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4220, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4206, 4206, 4214, 4214, 4206, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4186, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4172, 4172, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4206, 4206, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4206, 4206, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4220, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4206, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4172, 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, - 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4186, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4206, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4214, 4206, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, + 4214, 4206, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4172, 4180, 4180, 4180, 4172, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4172, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4206, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4214, 4214, 4214, 4214, 4220, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, + 4214, 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4186, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4172, 4180, 4180, 4180, 4172, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4206, 4206, 4206, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4206, + 4206, 4206, 4214, 4214, 4214, 4206, 4214, 4214, 4206, 4214, + 4206, 4214, 4206, 4214, 4214, 4214, 4206, 4214, 4206, 4214, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4172, - 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4172, 4172, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4172, 4172, 4172, 4180, 4180, 4180, 4172, - 4180, 4180, 4172, 4180, 4172, 4180, 4172, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4206, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4206, + 4214, 4214, 4214, 4206, 4214, 4206, 4214, 4214, 4206, 4214, + 4214, 4206, 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, - 4180, 4180, 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, - 4180, 4172, 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, - 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4172, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4172, 4180, 4180, 4180, 4172, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, + 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4206, 4214, + 4214, 4206, 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4172, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, 4180, 4172, - 4180, 4180, 4172, 4172, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4180, + 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4206, 4206, 4206, 4214, 4214, 4214, 4206, 4206, + 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, + 4206, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4172, 4172, 4172, 4180, 4180, 4180, 4172, 4172, - 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4172, 4180, - 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4172, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4206, 4206, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4206, 4214, 4214, 4214, 4206, 4214, 4214, 4206, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4206, 4206, 4214, 4214, 4214, 4214, + 4214, 4206, 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4172, - 4180, 4180, 4180, 4172, 4180, 4180, 4172, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4172, 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4180, - 4172, 4172, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, - 4172, 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4206, 4206, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4214, 4206, 4206, 4214, 4214, 4206, 4214, 4206, 4206, + 4214, 4214, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4206, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, - 4172, 4172, 4180, 4180, 4172, 4180, 4172, 4172, 4180, 4180, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4172, 4172, 4172, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, 4206, + 4206, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4206, 4214, 4214, 4206, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4214, 4206, 4206, 4206, 4206, 4214, 4214, 4206, 4214, 4206, + 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4206, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4206, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4172, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4172, - 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4172, 4172, 4172, - 4172, 4180, 4180, 4172, 4180, 4172, 4172, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4172, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, + 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, 4214, 4206, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4206, + 4206, 4206, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, 4214, + 4214, 4214, 4214, 4206, 4206, 4214, 4214, 4206, 4214, 4214, + 4214, 4214, 4214, 4206, 4214, 4214, 4214, 4214, 4214, 4214, + 4206, 4214, 4214, 4214, 4206, 4214, 4206, 4206, 4214, 4214, - 4180, 4180, 4180, 4172, 4180, 4172, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4172, 4172, 4172, 4180, 4180, - 4172, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, - 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4172, - 4172, 4180, 4180, 4172, 4180, 4180, 4180, 4180, 4180, 4172, - 4180, 4180, 4180, 4180, 4180, 4180, 4172, 4180, 4180, 4180, - 4172, 4180, 4172, 4172, 4180, 4180, 4180, 4180, 4180, 4172, - 4172, 0, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172 + 4214, 4214, 4214, 4206, 4206, 0, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206 } ; -static const flex_int16_t yy_nxt[11935] = +static const flex_int16_t yy_nxt[12084] = { 0, 18, 19, 20, 21, 22, 23, 22, 18, 18, 18, 18, 18, 22, 24, 25, 26, 27, 28, 29, 18, @@ -1816,7 +1830,7 @@ static const flex_int16_t yy_nxt[11935] = 87, 68, 19, 20, 21, 70, 71, 72, 19, 20, 21, 70, 71, 72, 82, 83, 84, 124, 110, 182, 182, 80, 73, 164, 175, 87, 99, 80, 73, 87, - 440, 91, 85, 91, 91, 87, 91, 1482, 111, 88, + 440, 91, 85, 91, 91, 87, 91, 1491, 111, 88, 74, 87, 91, 89, 124, 110, 74, 165, 165, 73, 164, 85, 172, 172, 167, 73, 114, 167, 112, 87, 163, 183, 133, 178, 115, 111, 100, 87, 87, 92, @@ -1845,7 +1859,7 @@ static const flex_int16_t yy_nxt[11935] = 91, 274, 203, 181, 144, 145, 179, 146, 179, 179, 87, 179, 192, 87, 213, 202, 87, 142, 217, 180, - 292, 143, 1311, 87, 87, 86, 309, 86, 86, 203, + 292, 143, 1319, 87, 87, 86, 309, 86, 86, 203, 86, 144, 145, 177, 146, 147, 86, 91, 148, 91, 91, 213, 91, 195, 196, 149, 197, 292, 91, 150, 151, 204, 198, 87, 199, 214, 87, 87, 87, 200, @@ -1861,1260 +1875,1276 @@ static const flex_int16_t yy_nxt[11935] = 230, 224, 87, 87, 221, 222, 237, 240, 87, 241, 239, 242, 243, 238, 245, 244, 231, 228, 87, 246, 87, 232, 234, 87, 87, 87, 233, 252, 87, 251, - 166, 87, 4172, 237, 240, 87, 241, 87, 242, 243, + 166, 87, 4206, 237, 240, 87, 241, 87, 242, 243, 238, 245, 244, 247, 250, 87, 246, 248, 257, 254, 253, 87, 353, 249, 252, 87, 251, 87, 255, 259, 87, 258, 87, 266, 256, 87, 355, 87, 260, 359, 247, 250, 87, 263, 248, 257, 254, 253, 87, 261, 249, 264, 267, 262, 87, 255, 259, 87, 258, 265, - 266, 256, 87, 272, 270, 260, 275, 4172, 87, 268, + 266, 256, 87, 272, 270, 260, 275, 4206, 87, 268, 263, 87, 269, 273, 87, 271, 261, 87, 87, 267, 262, 87, 279, 87, 87, 276, 265, 284, 281, 280, - 272, 270, 282, 275, 277, 283, 268, 87, 4172, 269, - 273, 87, 271, 87, 4172, 87, 278, 285, 4172, 279, - 87, 87, 276, 4172, 284, 281, 280, 87, 286, 282, - 87, 277, 283, 169, 4172, 169, 169, 174, 169, 174, + 272, 270, 282, 275, 277, 283, 268, 87, 4206, 269, + 273, 87, 271, 87, 4206, 87, 278, 285, 4206, 279, + 87, 87, 276, 4206, 284, 281, 280, 87, 286, 282, + 87, 277, 283, 169, 4206, 169, 169, 174, 169, 174, 174, 287, 174, 278, 285, 91, 288, 91, 91, 290, 91, 179, 175, 179, 179, 286, 179, 291, 87, 295, - 289, 296, 297, 87, 300, 298, 293, 4172, 287, 87, + 289, 296, 297, 87, 300, 298, 293, 4206, 287, 87, 87, 87, 299, 294, 301, 87, 290, 87, 87, 302, - 87, 4172, 306, 177, 291, 87, 295, 289, 296, 297, + 87, 4206, 306, 177, 291, 87, 295, 289, 296, 297, 87, 300, 298, 293, 87, 319, 303, 87, 320, 299, 294, 301, 304, 305, 87, 87, 302, 310, 307, 306, 308, 311, 321, 87, 324, 312, 323, 322, 325, 327, - 328, 87, 319, 326, 87, 320, 87, 1056, 87, 304, - 305, 330, 313, 830, 87, 307, 87, 308, 87, 87, + 328, 87, 319, 326, 87, 320, 87, 1062, 87, 304, + 305, 330, 313, 834, 87, 307, 87, 308, 87, 87, - 87, 324, 312, 323, 87, 325, 327, 331, 329, 4172, + 87, 324, 312, 323, 87, 325, 327, 331, 329, 4206, 326, 332, 87, 333, 87, 334, 87, 362, 330, 313, - 314, 87, 87, 337, 338, 315, 87, 87, 4172, 87, + 314, 87, 87, 337, 338, 315, 87, 87, 4206, 87, 316, 339, 87, 345, 331, 329, 317, 318, 332, 346, - 333, 335, 334, 87, 336, 4172, 87, 314, 87, 87, + 333, 335, 334, 87, 336, 4206, 87, 314, 87, 87, 337, 338, 315, 87, 347, 87, 87, 316, 339, 348, - 345, 87, 4172, 317, 318, 351, 346, 350, 335, 356, - 87, 336, 340, 354, 364, 341, 352, 342, 358, 4172, - 87, 347, 367, 357, 87, 360, 348, 4172, 363, 343, - 4172, 344, 4172, 87, 350, 368, 369, 87, 87, 340, + 345, 87, 4206, 317, 318, 351, 346, 350, 335, 356, + 87, 336, 340, 354, 364, 341, 352, 342, 358, 4206, + 87, 347, 367, 357, 87, 360, 348, 4206, 363, 343, + 4206, 344, 4206, 87, 350, 368, 369, 87, 87, 340, 354, 87, 341, 352, 342, 358, 87, 87, 365, 87, 357, 87, 360, 366, 87, 363, 343, 87, 344, 370, - 371, 374, 368, 369, 87, 372, 87, 377, 376, 4172, - 375, 378, 379, 87, 373, 365, 382, 4172, 389, 87, + 371, 374, 368, 369, 87, 372, 87, 377, 376, 4206, + 375, 378, 379, 87, 373, 365, 382, 4206, 389, 87, 366, 87, 87, 87, 380, 385, 370, 371, 374, 87, 87, 87, 372, 87, 377, 376, 87, 375, 378, 379, 383, 373, 381, 382, 387, 384, 386, 87, 392, 388, 87, 380, 385, 87, 87, 87, 390, 391, 393, 394, - 395, 398, 397, 4172, 87, 87, 87, 87, 396, 381, + 395, 398, 397, 4206, 87, 87, 87, 87, 396, 381, 87, 387, 87, 386, 399, 392, 388, 400, 402, 407, 406, 87, 87, 390, 391, 403, 394, 395, 398, 397, - 87, 401, 404, 87, 405, 396, 409, 410, 4172, 87, - 87, 4172, 408, 414, 412, 87, 87, 87, 87, 87, + 87, 401, 404, 87, 405, 396, 409, 410, 4206, 87, + 87, 4206, 408, 414, 412, 87, 87, 87, 87, 87, 87, 87, 403, 422, 411, 419, 413, 415, 401, 404, 87, 405, 87, 87, 410, 87, 416, 417, 87, 408, 414, 412, 175, 418, 87, 420, 421, 87, 423, 87, 87, 411, 419, 413, 415, 87, 87, 424, 426, 425, - 429, 4172, 427, 416, 417, 428, 434, 430, 87, 87, - 418, 4172, 420, 421, 87, 431, 432, 435, 87, 87, + 429, 4206, 427, 416, 417, 428, 434, 430, 87, 87, + 418, 4206, 420, 421, 87, 431, 432, 435, 87, 87, 87, 87, 436, 439, 424, 87, 425, 429, 87, 427, 87, 433, 428, 87, 430, 87, 437, 441, 87, 438, 452, 87, 431, 432, 435, 87, 87, 87, 442, 436, - 439, 443, 447, 4172, 445, 4172, 444, 454, 433, 448, - 4172, 456, 87, 437, 441, 87, 438, 87, 446, 449, + 439, 443, 447, 4206, 445, 4206, 444, 454, 433, 448, + 4206, 456, 87, 437, 441, 87, 438, 87, 446, 449, 450, 461, 87, 459, 87, 442, 87, 87, 443, 447, 87, 445, 87, 444, 451, 453, 448, 87, 87, 87, 455, 457, 87, 87, 460, 446, 449, 450, 87, 87, - 459, 462, 464, 87, 465, 467, 4172, 4172, 458, 87, + 459, 462, 464, 87, 465, 467, 4206, 4206, 458, 87, 468, 451, 453, 87, 87, 87, 87, 455, 457, 87, - 466, 460, 469, 478, 4172, 463, 87, 471, 4172, 464, + 466, 460, 469, 478, 4206, 463, 87, 471, 4206, 464, 470, 465, 467, 87, 472, 458, 87, 468, 474, 87, - 4172, 479, 87, 480, 473, 476, 87, 466, 526, 469, + 4206, 479, 87, 480, 473, 476, 87, 466, 526, 469, 87, 475, 463, 87, 471, 87, 87, 470, 481, 482, - 87, 472, 477, 4172, 87, 474, 490, 491, 479, 87, - 492, 473, 476, 502, 87, 87, 87, 4172, 475, 531, + 87, 472, 477, 4206, 87, 474, 490, 491, 479, 87, + 492, 473, 476, 502, 87, 87, 87, 4206, 475, 531, 87, 503, 87, 501, 87, 481, 482, 87, 509, 477, - 483, 510, 87, 490, 491, 484, 87, 492, 485, 4172, + 483, 510, 87, 490, 491, 484, 87, 492, 485, 4206, 502, 504, 505, 486, 487, 488, 489, 87, 503, 506, - 501, 87, 87, 87, 507, 509, 4172, 483, 87, 519, - 4172, 4172, 484, 4172, 4172, 485, 87, 513, 504, 505, + 501, 87, 87, 87, 507, 509, 4206, 483, 87, 519, + 4206, 4206, 484, 4206, 4206, 485, 87, 513, 504, 505, 486, 487, 488, 489, 493, 517, 494, 511, 495, 87, - 512, 87, 518, 514, 4172, 521, 87, 87, 496, 497, + 512, 87, 518, 514, 4206, 521, 87, 87, 496, 497, 498, 499, 500, 87, 513, 87, 515, 516, 87, 520, 87, 493, 517, 494, 511, 495, 87, 512, 522, 518, 514, 87, 521, 524, 525, 496, 497, 498, 499, 500, - 523, 87, 87, 515, 516, 87, 520, 527, 4172, 528, + 523, 87, 87, 515, 516, 87, 520, 527, 4206, 528, 538, 529, 530, 537, 87, 522, 87, 87, 87, 539, 524, 525, 87, 536, 87, 545, 532, 523, 533, 553, 87, 552, 551, 550, 527, 87, 528, 534, 529, 530, 537, 87, 87, 540, 535, 542, 539, 543, 544, 541, - 536, 87, 87, 532, 592, 533, 87, 87, 87, 551, + 536, 87, 87, 532, 594, 533, 87, 87, 87, 551, 550, 87, 87, 87, 534, 87, 546, 554, 568, 87, - 540, 535, 542, 567, 543, 544, 541, 4172, 597, 547, - 87, 592, 548, 573, 549, 4172, 569, 87, 572, 87, - 87, 570, 87, 546, 554, 568, 571, 4172, 588, 574, - 567, 87, 4172, 87, 575, 597, 547, 87, 87, 548, - 573, 549, 555, 569, 556, 572, 584, 87, 570, 585, - 557, 593, 586, 571, 558, 596, 574, 587, 87, 559, - 87, 575, 560, 87, 591, 4172, 4172, 87, 87, 555, - 175, 556, 589, 584, 595, 600, 585, 557, 593, 590, + 540, 535, 542, 567, 543, 544, 541, 4206, 599, 547, + 87, 594, 548, 573, 549, 4206, 569, 87, 572, 87, + 87, 570, 87, 546, 554, 568, 571, 4206, 590, 574, + 567, 87, 4206, 87, 575, 599, 547, 87, 87, 548, + 573, 549, 555, 569, 556, 572, 586, 87, 570, 587, + 557, 595, 588, 571, 558, 598, 574, 589, 87, 559, + 87, 575, 560, 87, 593, 4206, 4206, 87, 87, 555, + 175, 556, 591, 586, 597, 602, 587, 557, 595, 592, - 594, 558, 87, 611, 87, 4172, 559, 87, 87, 560, - 561, 591, 562, 87, 598, 87, 599, 605, 87, 589, - 603, 595, 600, 87, 87, 563, 590, 594, 564, 4172, - 565, 601, 566, 4172, 4172, 87, 87, 561, 604, 562, - 602, 598, 87, 599, 605, 4172, 4172, 603, 4172, 606, - 4172, 4172, 563, 608, 607, 564, 87, 565, 4172, 566, - 576, 577, 609, 87, 4172, 604, 87, 602, 612, 4172, - 578, 579, 580, 581, 582, 87, 606, 583, 610, 613, - 608, 607, 615, 616, 87, 87, 87, 576, 577, 609, - 87, 87, 614, 617, 87, 612, 87, 578, 579, 580, + 596, 558, 87, 613, 87, 4206, 559, 87, 87, 560, + 561, 593, 562, 87, 600, 87, 601, 607, 87, 591, + 605, 597, 602, 87, 87, 563, 592, 596, 564, 4206, + 565, 603, 566, 4206, 4206, 87, 87, 561, 606, 562, + 604, 600, 87, 601, 607, 4206, 4206, 605, 4206, 608, + 4206, 4206, 563, 4206, 4206, 564, 87, 565, 4206, 566, + 576, 577, 610, 87, 611, 606, 578, 604, 614, 609, + 579, 580, 581, 582, 583, 615, 608, 584, 612, 620, + 585, 87, 87, 617, 87, 87, 87, 576, 577, 610, + 87, 611, 87, 578, 87, 614, 609, 579, 580, 581, - 581, 582, 87, 618, 583, 610, 613, 87, 4172, 615, - 616, 619, 620, 87, 621, 622, 623, 4172, 624, 614, - 617, 625, 626, 87, 630, 87, 627, 628, 87, 634, - 629, 4172, 637, 87, 4172, 87, 87, 87, 619, 620, - 87, 621, 631, 632, 87, 624, 87, 653, 625, 626, - 635, 630, 87, 627, 628, 87, 634, 629, 87, 637, - 633, 640, 639, 638, 655, 636, 641, 87, 642, 631, - 632, 87, 87, 87, 87, 87, 656, 635, 667, 87, - 654, 87, 643, 644, 657, 658, 87, 633, 640, 639, - 638, 655, 636, 641, 645, 642, 646, 4172, 87, 87, + 582, 583, 615, 616, 584, 612, 618, 585, 619, 622, + 617, 87, 621, 4206, 87, 623, 626, 87, 87, 87, + 87, 624, 625, 87, 627, 632, 636, 628, 630, 629, + 616, 87, 631, 618, 639, 619, 622, 87, 87, 621, + 87, 87, 623, 626, 633, 634, 655, 87, 4206, 87, + 87, 627, 632, 636, 628, 630, 629, 87, 637, 631, + 87, 639, 635, 641, 656, 642, 640, 644, 643, 87, + 660, 633, 634, 638, 87, 87, 87, 87, 87, 4206, + 87, 87, 87, 657, 658, 637, 659, 645, 646, 635, + 641, 656, 642, 640, 644, 643, 662, 661, 663, 647, - 659, 87, 87, 656, 660, 87, 87, 654, 4172, 643, - 644, 657, 661, 4172, 662, 4172, 666, 87, 665, 4172, - 663, 645, 664, 646, 647, 87, 668, 659, 669, 87, - 87, 660, 648, 649, 87, 87, 650, 651, 87, 661, - 652, 662, 87, 666, 87, 665, 87, 663, 670, 664, - 87, 647, 671, 668, 672, 669, 675, 4172, 673, 648, - 649, 674, 87, 650, 651, 676, 683, 652, 87, 677, - 4172, 87, 678, 87, 679, 670, 4172, 4172, 87, 671, - 87, 680, 681, 675, 87, 673, 87, 682, 674, 684, - 685, 87, 676, 683, 87, 686, 677, 687, 87, 678, + 638, 648, 87, 87, 87, 87, 87, 87, 664, 665, + 657, 658, 666, 659, 645, 646, 668, 87, 674, 87, + 667, 87, 669, 662, 661, 663, 647, 673, 648, 649, + 87, 87, 87, 671, 676, 664, 665, 650, 651, 666, + 670, 652, 653, 668, 672, 654, 87, 667, 87, 87, + 87, 87, 675, 87, 673, 87, 649, 87, 87, 679, + 671, 676, 680, 677, 650, 651, 685, 670, 652, 653, + 678, 672, 654, 87, 87, 87, 87, 684, 688, 675, + 681, 87, 686, 687, 87, 689, 679, 682, 683, 680, + 677, 87, 87, 685, 691, 690, 692, 678, 87, 693, - 87, 679, 87, 689, 688, 87, 690, 695, 680, 681, - 87, 691, 87, 692, 682, 696, 684, 685, 694, 87, - 87, 87, 686, 697, 687, 87, 693, 698, 87, 87, - 689, 688, 87, 690, 695, 699, 87, 700, 691, 702, - 692, 87, 696, 704, 87, 694, 701, 706, 707, 87, - 697, 703, 87, 693, 698, 87, 705, 87, 87, 713, - 4172, 87, 87, 87, 700, 708, 702, 87, 715, 87, - 704, 714, 711, 701, 706, 707, 718, 709, 703, 710, - 87, 87, 712, 705, 87, 716, 87, 719, 717, 87, - 4172, 87, 708, 4172, 87, 720, 87, 721, 714, 711, + 87, 87, 87, 696, 684, 688, 87, 681, 87, 686, + 687, 694, 689, 695, 682, 683, 87, 697, 87, 698, + 701, 691, 690, 692, 699, 87, 693, 700, 87, 87, + 696, 702, 87, 4206, 87, 703, 704, 705, 694, 87, + 695, 87, 706, 87, 697, 708, 698, 707, 4206, 709, + 87, 699, 87, 87, 700, 87, 87, 87, 702, 711, + 87, 712, 703, 704, 705, 710, 713, 87, 87, 706, + 714, 715, 708, 722, 707, 87, 709, 87, 716, 717, + 87, 720, 724, 721, 4206, 725, 711, 718, 712, 723, + 719, 87, 710, 713, 726, 87, 730, 714, 87, 87, - 87, 724, 722, 718, 709, 723, 710, 725, 727, 712, - 87, 726, 716, 728, 4172, 717, 730, 87, 731, 87, - 87, 87, 720, 87, 721, 87, 87, 734, 724, 722, - 729, 733, 723, 736, 725, 727, 737, 87, 726, 87, - 87, 732, 735, 730, 87, 87, 738, 87, 739, 87, - 87, 742, 740, 743, 734, 741, 87, 729, 733, 87, - 736, 87, 87, 737, 87, 753, 756, 744, 732, 735, - 87, 755, 87, 738, 760, 739, 759, 87, 742, 740, - 743, 87, 741, 87, 754, 758, 4172, 87, 757, 87, - 87, 4172, 753, 756, 744, 745, 87, 87, 755, 769, + 722, 87, 87, 87, 733, 716, 727, 729, 720, 724, + 728, 87, 725, 731, 718, 87, 723, 719, 87, 87, + 87, 726, 87, 732, 736, 87, 735, 734, 87, 739, + 737, 740, 738, 727, 729, 87, 87, 728, 87, 87, + 731, 87, 741, 742, 743, 4206, 87, 87, 746, 744, + 732, 736, 87, 735, 734, 87, 739, 737, 740, 738, + 87, 755, 87, 758, 87, 745, 87, 757, 87, 741, + 742, 743, 756, 87, 759, 746, 744, 774, 87, 87, + 760, 4206, 87, 777, 4206, 4206, 87, 87, 755, 87, + 758, 799, 745, 747, 757, 767, 4206, 776, 748, 756, - 746, 760, 747, 759, 4172, 4172, 763, 87, 748, 764, - 749, 754, 758, 750, 751, 757, 4172, 87, 87, 4172, - 752, 87, 745, 765, 761, 4172, 769, 746, 762, 747, - 774, 767, 772, 763, 768, 748, 764, 749, 777, 770, - 750, 751, 87, 766, 87, 87, 87, 752, 779, 771, - 765, 761, 773, 4172, 87, 762, 775, 774, 767, 772, - 87, 768, 776, 87, 87, 777, 778, 781, 87, 87, - 766, 87, 780, 782, 87, 779, 771, 783, 784, 773, - 786, 795, 87, 775, 87, 87, 87, 785, 787, 776, - 788, 790, 87, 778, 781, 791, 789, 793, 87, 780, + 749, 759, 87, 761, 774, 762, 750, 760, 751, 763, + 777, 752, 753, 764, 87, 768, 772, 87, 754, 87, + 747, 87, 767, 87, 776, 748, 773, 749, 87, 771, + 761, 87, 762, 750, 765, 751, 763, 766, 752, 753, + 764, 769, 768, 775, 770, 754, 87, 87, 87, 779, + 778, 782, 87, 773, 87, 781, 771, 87, 780, 783, + 87, 765, 784, 87, 766, 786, 790, 785, 769, 4206, + 775, 770, 787, 4206, 87, 87, 779, 778, 782, 87, + 87, 87, 781, 789, 87, 780, 783, 791, 87, 784, + 788, 87, 786, 790, 785, 87, 792, 793, 794, 787, - 782, 792, 87, 87, 783, 784, 87, 786, 87, 794, - 87, 796, 87, 87, 785, 787, 799, 788, 790, 87, - 87, 797, 791, 789, 793, 800, 87, 798, 792, 87, - 809, 802, 175, 87, 801, 87, 794, 803, 796, 804, - 87, 806, 805, 799, 87, 808, 87, 811, 797, 812, - 810, 807, 4172, 87, 798, 4172, 813, 87, 802, 4172, - 87, 801, 87, 814, 803, 87, 804, 87, 806, 805, - 87, 87, 87, 815, 817, 818, 816, 810, 807, 87, - 819, 87, 820, 813, 824, 831, 87, 87, 87, 825, - 814, 87, 827, 828, 826, 87, 87, 829, 87, 832, + 795, 800, 796, 797, 87, 87, 801, 804, 798, 87, + 789, 4206, 4206, 87, 791, 87, 87, 788, 87, 87, + 87, 803, 813, 792, 793, 794, 87, 795, 800, 796, + 797, 175, 802, 801, 87, 798, 806, 805, 807, 87, + 87, 808, 809, 810, 812, 87, 87, 811, 803, 87, + 815, 816, 818, 4206, 87, 87, 4206, 814, 817, 802, + 4206, 87, 819, 806, 805, 807, 87, 87, 808, 809, + 810, 87, 87, 87, 811, 87, 87, 821, 820, 818, + 822, 828, 87, 87, 814, 817, 823, 824, 825, 819, + 87, 832, 87, 833, 835, 826, 87, 829, 827, 87, - 815, 817, 818, 816, 87, 821, 87, 819, 833, 820, - 842, 824, 822, 834, 839, 823, 837, 87, 87, 827, - 87, 87, 835, 87, 87, 87, 87, 836, 838, 87, - 4172, 841, 821, 840, 87, 87, 849, 842, 844, 822, - 843, 839, 823, 837, 845, 87, 846, 848, 847, 4172, - 87, 855, 4172, 87, 87, 838, 87, 87, 841, 87, - 840, 851, 87, 852, 853, 844, 87, 843, 87, 850, - 87, 845, 87, 846, 848, 847, 87, 87, 855, 854, - 858, 856, 4172, 857, 87, 862, 87, 859, 851, 87, - 852, 853, 87, 87, 860, 87, 850, 861, 863, 864, + 836, 837, 830, 87, 821, 820, 87, 822, 828, 831, + 87, 838, 839, 823, 824, 825, 4206, 840, 87, 843, + 87, 841, 826, 87, 4206, 827, 87, 87, 87, 87, + 87, 842, 844, 845, 87, 847, 831, 87, 850, 846, + 848, 849, 87, 87, 87, 851, 843, 87, 841, 853, + 852, 855, 856, 87, 87, 87, 87, 866, 842, 844, + 845, 87, 847, 87, 87, 850, 846, 848, 849, 854, + 857, 858, 851, 87, 87, 859, 87, 852, 855, 856, + 861, 87, 860, 862, 87, 863, 87, 868, 864, 87, + 4206, 867, 87, 87, 87, 876, 854, 857, 858, 87, - 4172, 4172, 87, 4172, 87, 87, 854, 858, 856, 869, - 857, 870, 87, 873, 859, 4172, 878, 87, 87, 4172, - 87, 860, 865, 871, 861, 863, 864, 866, 872, 874, - 867, 868, 87, 876, 875, 87, 869, 87, 870, 87, - 873, 877, 880, 4172, 879, 87, 87, 87, 87, 865, - 871, 87, 881, 885, 866, 872, 874, 867, 868, 883, - 876, 875, 87, 884, 888, 87, 87, 87, 877, 880, - 886, 879, 887, 87, 882, 87, 889, 87, 890, 881, - 885, 891, 892, 87, 894, 87, 883, 87, 895, 4172, - 884, 888, 87, 893, 896, 87, 87, 886, 897, 887, + 87, 87, 859, 874, 865, 87, 87, 861, 873, 860, + 862, 87, 863, 87, 868, 864, 869, 87, 867, 875, + 877, 870, 876, 878, 871, 872, 879, 4206, 87, 87, + 874, 865, 880, 881, 882, 873, 883, 884, 4206, 87, + 87, 889, 87, 869, 87, 87, 875, 877, 870, 885, + 878, 871, 872, 879, 87, 888, 890, 87, 891, 880, + 881, 87, 887, 883, 884, 87, 87, 893, 889, 87, + 87, 886, 87, 897, 896, 892, 885, 87, 87, 894, + 87, 895, 888, 890, 87, 891, 898, 87, 87, 887, + 902, 899, 901, 903, 893, 87, 87, 900, 886, 87, - 87, 882, 87, 889, 87, 890, 87, 898, 891, 892, - 87, 87, 899, 900, 903, 895, 901, 902, 87, 905, - 893, 896, 904, 907, 4172, 897, 87, 906, 87, 87, - 908, 909, 87, 911, 898, 910, 912, 87, 918, 899, - 900, 903, 87, 901, 902, 916, 87, 87, 87, 904, - 907, 87, 913, 914, 906, 915, 917, 87, 87, 87, - 911, 87, 910, 912, 87, 919, 87, 87, 87, 920, - 87, 921, 916, 922, 937, 87, 925, 923, 924, 913, - 914, 926, 915, 917, 928, 929, 938, 87, 927, 87, - 942, 939, 919, 930, 87, 87, 87, 940, 921, 87, + 897, 896, 892, 904, 87, 87, 894, 905, 895, 87, + 906, 907, 87, 87, 909, 910, 87, 902, 899, 901, + 903, 87, 916, 911, 900, 908, 912, 913, 922, 87, + 904, 920, 914, 87, 905, 918, 87, 906, 907, 915, + 87, 924, 910, 87, 87, 917, 87, 87, 87, 916, + 911, 919, 908, 87, 87, 87, 4206, 921, 920, 914, + 87, 923, 918, 87, 87, 87, 915, 925, 926, 928, + 87, 927, 917, 87, 929, 931, 934, 941, 919, 930, + 87, 933, 4206, 87, 921, 932, 4206, 943, 923, 87, + 87, 87, 942, 87, 925, 926, 928, 87, 927, 87, - 922, 87, 87, 87, 923, 924, 87, 87, 87, 87, - 4172, 928, 929, 938, 943, 927, 87, 942, 939, 87, - 930, 931, 941, 932, 940, 948, 944, 945, 947, 87, - 933, 4172, 953, 4172, 87, 956, 934, 935, 936, 951, - 87, 943, 946, 87, 952, 87, 87, 955, 931, 941, - 932, 87, 948, 944, 945, 957, 949, 933, 87, 953, - 87, 958, 956, 934, 935, 936, 950, 87, 954, 946, - 87, 87, 87, 962, 955, 959, 960, 961, 87, 964, - 87, 87, 957, 949, 87, 87, 87, 963, 958, 965, - 966, 970, 969, 950, 87, 954, 971, 967, 968, 87, + 87, 4206, 931, 934, 944, 87, 87, 946, 933, 87, + 4206, 945, 932, 935, 943, 936, 947, 4206, 87, 942, + 949, 948, 937, 4206, 952, 4206, 87, 951, 938, 939, + 940, 944, 4206, 87, 946, 950, 87, 87, 945, 87, + 935, 87, 936, 947, 87, 4206, 959, 949, 948, 937, + 953, 952, 957, 955, 968, 938, 939, 940, 956, 87, + 954, 958, 950, 87, 961, 4206, 960, 963, 4206, 962, + 978, 87, 87, 959, 87, 87, 87, 953, 87, 957, + 970, 964, 969, 965, 4206, 87, 87, 954, 958, 87, + 87, 961, 87, 960, 963, 966, 962, 967, 87, 971, - 962, 87, 959, 960, 961, 972, 974, 977, 87, 87, - 87, 87, 87, 976, 963, 973, 965, 966, 970, 969, - 87, 975, 87, 971, 967, 968, 87, 87, 87, 978, - 979, 980, 972, 985, 977, 982, 87, 87, 87, 87, - 976, 981, 973, 983, 87, 87, 984, 990, 975, 992, - 986, 987, 991, 988, 87, 87, 978, 979, 980, 87, - 985, 87, 982, 989, 87, 87, 993, 4172, 981, 87, - 983, 87, 994, 984, 990, 87, 992, 986, 987, 991, - 988, 996, 997, 995, 998, 87, 1000, 999, 1001, 87, - 989, 87, 1002, 993, 87, 87, 1003, 87, 87, 994, + 972, 4206, 87, 87, 87, 87, 973, 970, 964, 969, + 965, 87, 87, 974, 975, 87, 977, 980, 979, 981, + 4206, 87, 966, 976, 967, 87, 971, 972, 87, 982, + 87, 984, 985, 973, 87, 989, 983, 87, 87, 87, + 974, 975, 87, 977, 980, 979, 981, 87, 986, 987, + 976, 1021, 988, 4206, 1039, 87, 982, 87, 984, 985, + 87, 87, 989, 983, 990, 991, 992, 994, 995, 993, + 4206, 996, 998, 87, 87, 986, 987, 87, 997, 988, + 999, 87, 1002, 87, 1000, 87, 87, 4206, 87, 87, + 1001, 990, 991, 992, 994, 995, 993, 87, 996, 998, - 1004, 1005, 87, 1006, 87, 1015, 87, 1007, 996, 997, - 995, 998, 87, 1000, 999, 1001, 1009, 1008, 87, 1002, - 87, 1010, 1011, 1003, 1012, 87, 87, 1004, 1005, 87, - 1006, 1014, 1013, 1016, 1007, 87, 87, 87, 1017, 87, - 1018, 1019, 87, 1009, 1008, 1021, 87, 1022, 1010, 1011, - 87, 1012, 1020, 1023, 87, 175, 1025, 87, 1014, 1013, - 1016, 1033, 87, 87, 1030, 1017, 87, 1018, 1019, 1024, - 87, 87, 1021, 1026, 1022, 87, 1031, 1028, 1035, 1020, - 1023, 1027, 1029, 87, 1032, 87, 87, 1034, 1038, 1036, - 87, 1030, 87, 87, 87, 87, 1024, 1039, 1037, 87, + 87, 87, 1003, 87, 87, 997, 1004, 999, 1005, 1002, + 1006, 1000, 1007, 87, 87, 1008, 1009, 1001, 1010, 1011, + 4206, 87, 87, 87, 1014, 1012, 4206, 4206, 4206, 1003, + 87, 1013, 1016, 1004, 87, 1005, 87, 1006, 1015, 1007, + 87, 87, 1008, 1009, 87, 1010, 1011, 87, 1017, 1018, + 87, 1014, 1012, 87, 1019, 1020, 1022, 4206, 1013, 1016, + 1023, 87, 1024, 4206, 1025, 1015, 1028, 87, 1026, 1031, + 87, 4206, 87, 1030, 1046, 1017, 1018, 87, 175, 87, + 1027, 1019, 1020, 1022, 87, 87, 87, 1023, 1029, 1024, + 87, 1025, 87, 1028, 1032, 1026, 87, 1036, 1034, 1037, - 1026, 1040, 1041, 1031, 1042, 1035, 87, 1071, 1027, 87, - 1043, 1032, 87, 87, 1034, 1038, 1036, 1045, 1044, 1046, - 1047, 87, 87, 87, 1039, 1037, 87, 87, 4172, 1055, - 1057, 1042, 1058, 87, 87, 1062, 4172, 1043, 87, 87, - 87, 87, 1059, 1061, 1045, 1044, 1046, 1047, 1048, 1060, - 87, 1049, 1104, 87, 87, 1050, 1055, 1057, 1051, 1058, - 1063, 1064, 1062, 87, 87, 1052, 1053, 1067, 1054, 1059, - 1061, 87, 1065, 87, 1066, 1048, 1060, 1068, 1049, 87, - 4172, 1124, 1050, 87, 87, 1051, 87, 1063, 1064, 1069, - 1070, 4172, 1052, 1053, 1067, 1054, 1080, 87, 87, 1065, + 1030, 87, 1033, 1035, 1038, 1040, 87, 1027, 1043, 1041, + 1042, 4206, 87, 87, 1047, 1029, 87, 87, 1050, 87, + 87, 1032, 1048, 87, 1036, 1044, 1037, 87, 1049, 1033, + 87, 1038, 1040, 87, 1045, 1043, 1041, 1042, 87, 1051, + 87, 87, 1052, 87, 87, 1050, 87, 1053, 87, 1048, + 1061, 4206, 1044, 1063, 87, 1049, 4206, 1069, 4206, 1066, + 1065, 1045, 87, 87, 87, 4206, 1051, 1070, 87, 1052, + 1064, 1068, 4206, 4206, 1053, 1054, 1077, 1061, 1055, 4206, + 1063, 87, 1056, 1067, 1069, 1057, 1066, 1065, 87, 87, + 87, 1071, 1058, 1059, 1070, 1060, 4206, 1064, 1068, 1072, - 87, 1066, 87, 87, 1068, 1081, 1082, 1084, 87, 1094, - 4172, 4172, 87, 1083, 1095, 4172, 1069, 1070, 1072, 1073, - 4172, 1074, 87, 1080, 1075, 1085, 1086, 87, 87, 1076, - 87, 1089, 1081, 1082, 1084, 1077, 1078, 1088, 1079, 87, - 1083, 87, 1087, 1091, 87, 1072, 1073, 1093, 1074, 87, - 1090, 1075, 1085, 1086, 1099, 87, 1076, 1097, 1089, 87, - 1096, 1098, 1077, 1078, 1088, 1079, 1092, 1101, 87, 1087, - 1091, 87, 87, 87, 1093, 1100, 87, 1090, 1103, 1102, - 87, 1099, 1105, 87, 1097, 1108, 4172, 1096, 1098, 87, - 1107, 4172, 1110, 1092, 1101, 1106, 4172, 1112, 87, 87, + 87, 1075, 1054, 4206, 87, 1055, 1074, 1073, 87, 1056, + 1067, 1100, 1057, 1087, 87, 87, 1101, 87, 1071, 1058, + 1059, 1088, 1060, 87, 1076, 87, 1072, 87, 1075, 1086, + 1089, 87, 1094, 1074, 1073, 87, 87, 1090, 1091, 87, + 1087, 87, 4206, 87, 4206, 4206, 4206, 4206, 1088, 1096, + 1092, 1076, 1078, 1079, 87, 1080, 1086, 1089, 1081, 1094, + 87, 1103, 1097, 1082, 1090, 1091, 1093, 1095, 1099, 1083, + 1084, 87, 1085, 87, 87, 87, 1096, 1092, 87, 1078, + 1079, 1098, 1080, 87, 1102, 1081, 1104, 87, 1103, 1097, + 1082, 1106, 87, 1093, 1095, 1099, 1083, 1084, 87, 1085, - 87, 87, 1100, 87, 1109, 1103, 1102, 87, 87, 1105, - 87, 1113, 1108, 87, 1114, 1111, 87, 1107, 1115, 1110, - 1116, 1118, 1106, 87, 1112, 87, 87, 1117, 1119, 1120, - 87, 1109, 1121, 87, 87, 1122, 1123, 87, 1113, 1125, - 1128, 1114, 1111, 87, 1126, 1115, 1127, 1116, 1118, 1129, - 1130, 1134, 1131, 87, 1117, 1119, 1120, 87, 87, 87, - 87, 4172, 1122, 1123, 87, 1133, 1135, 1136, 87, 1138, - 1137, 87, 87, 1127, 87, 1132, 1129, 1130, 87, 1131, - 1140, 1139, 87, 87, 1141, 1143, 1142, 1145, 87, 1144, - 87, 1151, 1133, 1135, 87, 87, 1138, 1137, 87, 87, + 1105, 1107, 1108, 1109, 87, 1110, 1111, 1113, 1098, 1112, + 1115, 1102, 1114, 1104, 1116, 87, 1119, 87, 1106, 87, + 4206, 87, 87, 87, 87, 87, 87, 1105, 1107, 1108, + 1109, 87, 87, 1111, 1113, 87, 1112, 1115, 1117, 1114, + 1118, 1116, 87, 1119, 1120, 1121, 87, 1122, 4206, 1123, + 1126, 1125, 87, 1124, 1127, 87, 87, 1128, 1130, 87, + 87, 1129, 87, 1131, 4206, 1117, 87, 1118, 1132, 1133, + 1134, 1120, 1121, 1135, 1122, 87, 1123, 1126, 1125, 87, + 1124, 1136, 1141, 87, 1128, 87, 87, 1138, 1129, 1137, + 87, 87, 1139, 1140, 87, 87, 1133, 87, 87, 1142, - 87, 1146, 1132, 1147, 87, 1154, 1148, 87, 1139, 87, - 1149, 87, 1143, 1142, 1145, 87, 1144, 1150, 87, 1155, - 1152, 87, 1153, 87, 87, 87, 1156, 1158, 1146, 4172, - 1147, 1157, 87, 1148, 1159, 87, 1162, 1149, 87, 87, - 1164, 87, 1161, 87, 1150, 87, 1165, 1152, 87, 1153, - 1166, 87, 87, 1156, 1158, 1160, 87, 1167, 1157, 1163, - 87, 1159, 87, 1162, 1168, 1169, 1170, 1164, 87, 1161, - 1177, 1172, 87, 1165, 1171, 87, 87, 1166, 1174, 87, - 1173, 4172, 1160, 1175, 1167, 4172, 1163, 87, 87, 87, - 1176, 1168, 1169, 1170, 87, 1180, 87, 1177, 1172, 1178, + 1135, 1144, 87, 1143, 87, 87, 1146, 1145, 1136, 1141, + 1147, 1148, 1150, 1149, 1138, 1153, 1137, 4206, 4206, 1139, + 87, 87, 87, 1151, 1152, 87, 87, 87, 1144, 1157, + 1143, 87, 87, 87, 1145, 87, 1158, 87, 1148, 1150, + 1149, 1156, 1153, 1154, 1155, 87, 1159, 87, 1160, 87, + 1151, 1152, 87, 1161, 87, 87, 87, 1162, 4206, 1163, + 1164, 1166, 87, 1158, 1167, 87, 87, 87, 1156, 4206, + 1154, 1155, 1165, 1159, 1171, 87, 1169, 1168, 87, 87, + 1170, 87, 87, 1172, 1162, 87, 1163, 1164, 1166, 87, + 1173, 1167, 87, 1175, 1174, 1177, 87, 87, 1176, 1165, - 1179, 1171, 1181, 87, 1183, 87, 1182, 1173, 87, 1185, - 87, 87, 1184, 87, 1186, 87, 1188, 1176, 1187, 1189, - 1190, 4172, 1180, 1191, 87, 87, 1178, 1179, 87, 1181, - 87, 1183, 4172, 1182, 87, 1193, 1185, 1192, 87, 1184, - 87, 87, 87, 1188, 87, 1187, 1189, 1190, 1194, 1195, - 1191, 1197, 1196, 1199, 1198, 87, 87, 1200, 1202, 1201, - 1203, 87, 1193, 87, 1192, 1207, 4172, 87, 1210, 1209, - 1205, 87, 1206, 87, 87, 1194, 1195, 87, 1197, 1196, - 1199, 1198, 1204, 87, 87, 1202, 1201, 1203, 1208, 87, - 87, 87, 1207, 87, 1211, 87, 1209, 1205, 1212, 1206, + 1179, 1171, 4206, 1169, 1168, 87, 1178, 1170, 87, 1183, + 1172, 87, 1186, 1182, 87, 87, 4206, 1173, 87, 1184, + 1175, 1174, 1177, 1180, 87, 1176, 87, 1179, 1181, 1185, + 87, 87, 1191, 1178, 1188, 87, 1183, 87, 1187, 1186, + 1182, 87, 1189, 87, 1192, 1193, 1184, 1195, 1194, 4206, + 1190, 87, 4206, 87, 1196, 87, 1185, 87, 1199, 1191, + 1197, 1188, 1206, 87, 1201, 1187, 87, 87, 4206, 1189, + 87, 87, 1193, 1198, 1195, 1194, 87, 1190, 1203, 1200, + 87, 1196, 87, 1204, 1202, 1199, 87, 1197, 87, 1205, + 1207, 1201, 87, 1209, 87, 1210, 1211, 87, 1208, 1213, - 1213, 87, 87, 1214, 1215, 87, 1216, 1217, 1222, 1204, - 87, 1218, 1219, 87, 87, 1208, 87, 1220, 87, 1221, - 87, 1211, 1223, 87, 87, 1212, 87, 1213, 1224, 1225, - 1214, 1215, 1226, 1216, 1217, 1227, 1228, 1229, 1218, 1219, - 87, 87, 87, 1230, 1220, 87, 1221, 1235, 1231, 1232, - 1234, 1237, 1236, 87, 87, 1224, 87, 1233, 1238, 1226, - 1244, 87, 1227, 1242, 87, 1239, 87, 1241, 87, 87, - 1230, 1240, 87, 1245, 1235, 1231, 1232, 1234, 87, 1236, - 87, 87, 87, 87, 1233, 1246, 1243, 87, 1247, 87, - 87, 1253, 1239, 87, 1241, 87, 1248, 1251, 1240, 87, + 1198, 87, 1214, 87, 87, 1203, 1200, 1212, 87, 87, + 1204, 1202, 1216, 87, 1215, 87, 1205, 1207, 87, 1217, + 1209, 1228, 1210, 1211, 1218, 1208, 1213, 87, 87, 1214, + 1219, 87, 4206, 1220, 1212, 1221, 87, 1222, 1223, 87, + 87, 1215, 1224, 1229, 87, 87, 1217, 87, 87, 1226, + 1225, 1218, 1227, 87, 87, 1230, 87, 1219, 87, 87, + 1220, 1231, 1221, 1233, 1222, 1223, 1234, 1232, 87, 1224, + 87, 1235, 1236, 1237, 1240, 87, 1226, 1225, 1241, 1227, + 87, 87, 1230, 1242, 87, 1244, 1245, 1243, 1246, 1238, + 1233, 1249, 1252, 87, 1232, 87, 87, 1239, 87, 1236, - 1245, 1254, 1252, 87, 1255, 4172, 4172, 4172, 1260, 1249, - 87, 1250, 1246, 1243, 1256, 1247, 87, 1259, 1253, 87, - 87, 1258, 4172, 1248, 87, 1257, 4172, 1262, 1254, 175, - 87, 1255, 87, 87, 1261, 1260, 1249, 87, 1250, 87, - 87, 1256, 1263, 1265, 1259, 1267, 1274, 1277, 1258, 1266, - 1278, 87, 1257, 1264, 1262, 1276, 87, 87, 1275, 87, - 4172, 1261, 4172, 1279, 1282, 87, 87, 4172, 87, 1263, - 1265, 87, 1267, 1274, 1277, 1286, 1266, 87, 87, 1284, - 1264, 1268, 1276, 1269, 87, 1275, 1283, 1270, 87, 1271, - 1279, 1282, 1280, 1281, 1272, 1288, 1285, 87, 87, 1273, + 1237, 1240, 1247, 87, 87, 1241, 87, 1248, 1250, 87, + 1242, 87, 87, 1251, 1243, 1246, 1238, 87, 87, 87, + 87, 87, 1253, 87, 1239, 1254, 87, 1259, 1255, 1247, + 1256, 87, 1260, 1262, 1248, 1250, 1261, 4206, 1263, 87, + 1251, 1264, 4206, 1257, 1265, 1258, 87, 1267, 87, 1253, + 87, 87, 1254, 4206, 87, 1255, 87, 1256, 1268, 175, + 1262, 1266, 4206, 1261, 87, 1263, 87, 1270, 1264, 87, + 1257, 1265, 1258, 87, 1267, 1269, 1271, 1273, 87, 1274, + 87, 1283, 1284, 1275, 1285, 1268, 87, 1272, 1266, 87, + 4206, 87, 4206, 1286, 1270, 4206, 87, 1282, 4206, 1287, - 1289, 1308, 1286, 4172, 1287, 87, 1284, 1290, 1268, 87, - 1269, 1291, 1301, 1283, 1270, 87, 1271, 87, 1292, 1280, - 1281, 1272, 1298, 1285, 87, 87, 1273, 87, 1294, 1299, - 1293, 1287, 1295, 87, 1290, 1300, 1296, 87, 1291, 87, - 87, 87, 1305, 1304, 1302, 1292, 1297, 1303, 87, 1298, - 87, 87, 1309, 1310, 1306, 1294, 1299, 1293, 87, 1295, - 87, 87, 1300, 1296, 87, 1307, 1312, 1313, 1314, 1305, - 1304, 1302, 87, 1297, 1303, 87, 87, 1315, 4172, 1324, - 87, 1306, 1323, 4172, 87, 4172, 87, 87, 1326, 1325, - 4172, 4172, 1307, 1327, 1313, 1314, 4172, 87, 87, 1328, + 87, 87, 1269, 1271, 1273, 87, 1274, 87, 1283, 1284, + 1275, 1285, 4206, 1294, 1272, 1276, 4206, 1277, 1290, 87, + 87, 1278, 1291, 1279, 1282, 87, 1287, 1292, 1280, 1288, + 1289, 1309, 1296, 1281, 87, 87, 87, 1297, 1293, 87, + 1294, 4206, 1276, 1298, 1277, 1290, 1295, 4206, 1278, 1291, + 1279, 87, 87, 1299, 1292, 1280, 1288, 1289, 87, 87, + 1281, 87, 1300, 1302, 87, 1293, 87, 1303, 1306, 1307, + 1298, 1304, 1310, 1295, 1301, 87, 4206, 1318, 87, 1308, + 1299, 1305, 1312, 87, 1311, 87, 1314, 1316, 1313, 1300, + 1302, 87, 87, 87, 1303, 1306, 1307, 87, 1304, 1310, - 4172, 87, 87, 87, 1315, 1316, 1324, 4172, 1329, 1323, - 1317, 1336, 1318, 4172, 1333, 1326, 1325, 1331, 1319, 87, - 1327, 87, 87, 1320, 1321, 1330, 1328, 87, 87, 1332, - 1322, 87, 1316, 1337, 1338, 1329, 1335, 1317, 87, 1318, - 1334, 1333, 87, 87, 1331, 1319, 1346, 87, 87, 87, - 1320, 1321, 1330, 1339, 1340, 87, 1332, 1322, 1343, 1341, - 1337, 1338, 87, 1335, 1342, 87, 1344, 1334, 87, 1345, - 1347, 1348, 4172, 87, 1350, 1351, 87, 1349, 87, 87, - 1339, 1340, 1353, 1352, 1354, 87, 1341, 4172, 87, 87, - 87, 1342, 1356, 1344, 87, 1355, 1345, 1347, 1348, 87, + 87, 1301, 1315, 1317, 87, 1320, 1308, 87, 1305, 1312, + 87, 1311, 1321, 1314, 1322, 1313, 1323, 87, 1331, 87, + 1332, 1333, 87, 1334, 87, 87, 1335, 4206, 1344, 1315, + 4206, 4206, 1336, 87, 87, 87, 4206, 87, 87, 1321, + 4206, 1322, 87, 1323, 1324, 1331, 1337, 1332, 1333, 1325, + 1334, 1326, 87, 1335, 87, 1338, 1339, 1327, 1341, 1336, + 87, 1340, 1328, 1329, 1342, 87, 87, 87, 87, 1330, + 87, 1324, 87, 1337, 87, 1343, 1325, 1345, 1326, 1346, + 1351, 1354, 1338, 1339, 1327, 1341, 87, 1348, 1340, 1328, + 1329, 1342, 1347, 1352, 87, 1357, 1330, 1355, 87, 87, - 1357, 1350, 87, 87, 1349, 87, 1358, 87, 1359, 1353, - 1352, 1354, 87, 87, 1361, 1360, 1363, 1362, 1365, 1356, - 1364, 1367, 1355, 87, 87, 87, 87, 1371, 1372, 87, - 1369, 1375, 87, 1358, 1366, 1359, 87, 1368, 87, 87, - 1370, 1361, 1360, 1363, 1362, 1365, 87, 1364, 1367, 87, - 87, 87, 1373, 87, 1371, 87, 1374, 1369, 1375, 1376, - 87, 1366, 1378, 87, 1368, 1379, 1377, 1370, 87, 87, - 1391, 4172, 1380, 1381, 1382, 1392, 1384, 1389, 1436, 1373, - 87, 87, 1383, 1374, 87, 87, 1376, 87, 87, 1378, - 1385, 87, 1386, 1377, 1387, 87, 1388, 87, 1390, 1380, + 1349, 87, 1343, 1350, 1345, 4206, 1346, 87, 1353, 87, + 1356, 1358, 87, 87, 1348, 87, 87, 87, 87, 1347, + 1352, 87, 1357, 1359, 1355, 87, 1360, 1349, 4206, 1362, + 1350, 1361, 1363, 1364, 1365, 1353, 1366, 1356, 1358, 87, + 1369, 1368, 87, 1367, 87, 1370, 4206, 87, 87, 87, + 87, 1371, 87, 1360, 1372, 87, 1362, 1375, 1361, 1363, + 1364, 87, 87, 1366, 87, 1376, 87, 1369, 1368, 1373, + 1367, 1374, 1370, 1377, 1381, 87, 87, 1378, 1371, 1379, + 87, 1372, 1380, 87, 1375, 87, 87, 87, 1383, 1382, + 1387, 1384, 1376, 4206, 87, 87, 1373, 1385, 1374, 87, - 1381, 1382, 87, 1384, 1389, 87, 1395, 87, 1393, 1383, - 1394, 4172, 87, 4172, 87, 4172, 87, 1385, 87, 1386, - 87, 1387, 87, 1388, 87, 1390, 87, 1396, 1401, 1397, - 1403, 1405, 1402, 1395, 1398, 1393, 1399, 1394, 87, 1400, - 87, 1404, 1406, 87, 4172, 1410, 1407, 1408, 87, 87, - 1415, 1417, 4172, 87, 1396, 1401, 87, 1403, 1405, 1402, - 87, 87, 87, 1399, 1409, 87, 1400, 1411, 1404, 1406, - 1412, 1413, 1410, 1407, 1408, 87, 1414, 1416, 87, 87, - 1418, 4172, 87, 87, 87, 87, 1419, 1420, 87, 1421, - 4172, 1409, 87, 1422, 1411, 1423, 1424, 1412, 1413, 1425, + 1377, 1381, 87, 1386, 1378, 87, 1379, 1393, 1390, 1394, + 1399, 1388, 1389, 1400, 87, 1383, 1382, 87, 1384, 87, + 87, 87, 87, 1391, 1385, 87, 1395, 1396, 1392, 87, + 1386, 87, 87, 1397, 1393, 1390, 1394, 1398, 1388, 1389, + 87, 1401, 87, 1403, 1402, 87, 1423, 1404, 87, 87, + 1391, 87, 4206, 1395, 1396, 1392, 87, 87, 87, 87, + 1397, 1405, 1407, 87, 1398, 1408, 1406, 1409, 1401, 4206, + 1403, 1402, 1410, 1411, 1404, 1412, 1413, 1414, 87, 87, + 1417, 1418, 87, 1421, 87, 1425, 87, 4206, 87, 1407, + 4206, 87, 1408, 87, 1409, 4206, 87, 87, 87, 1410, - 87, 87, 1435, 1414, 1416, 1428, 1427, 1418, 87, 1429, - 1430, 4172, 1446, 1419, 1420, 87, 1421, 87, 87, 1426, - 1422, 87, 1423, 1424, 87, 87, 1425, 87, 1431, 1432, - 87, 87, 1428, 1427, 87, 1434, 1429, 1430, 1433, 1437, - 87, 87, 1438, 1439, 87, 1440, 1426, 1443, 1447, 87, - 1442, 87, 1441, 1448, 87, 1431, 1432, 87, 87, 87, - 1444, 87, 1434, 4172, 1445, 1433, 1437, 87, 1449, 1438, - 1439, 87, 1440, 1451, 1443, 1450, 1452, 1442, 87, 1441, - 87, 1453, 1454, 1455, 87, 87, 1457, 1444, 4172, 1456, - 87, 1445, 87, 1458, 1459, 1449, 87, 87, 87, 1460, + 1411, 87, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, + 1421, 1422, 1420, 1426, 1428, 1424, 4206, 87, 1429, 87, + 87, 87, 87, 87, 1427, 87, 1430, 87, 1431, 1435, + 1432, 4206, 1415, 1416, 87, 4206, 1419, 1433, 1422, 1420, + 1426, 1428, 1424, 1434, 87, 1429, 87, 87, 1438, 1436, + 87, 1427, 87, 1430, 87, 1431, 1435, 1432, 1437, 87, + 1439, 1440, 1441, 87, 1433, 1443, 1444, 1442, 1445, 1446, + 1434, 87, 87, 87, 1447, 1438, 1436, 1448, 87, 4206, + 87, 87, 1449, 87, 1450, 1437, 87, 1439, 1440, 1441, + 1452, 87, 87, 87, 1442, 1445, 1446, 87, 87, 1451, - 1463, 1461, 1450, 1452, 87, 87, 1462, 4172, 1464, 1454, - 1455, 87, 1466, 87, 1467, 87, 1456, 87, 87, 87, - 1458, 87, 87, 1465, 87, 1469, 1460, 1463, 1461, 1468, - 1473, 87, 1474, 1462, 1470, 1464, 87, 4172, 87, 1466, - 1471, 1467, 1477, 87, 1476, 87, 1472, 87, 1475, 1478, - 1465, 4172, 1469, 1480, 87, 87, 1468, 87, 4172, 1479, - 87, 1470, 87, 1484, 87, 1481, 87, 1471, 87, 87, - 1483, 1476, 87, 1472, 87, 1475, 1478, 1485, 1488, 87, - 1480, 87, 1486, 1487, 87, 87, 1479, 1489, 1490, 1491, - 1484, 87, 1481, 1493, 1495, 1492, 87, 1483, 1496, 1494, + 1454, 1447, 1453, 87, 1448, 1455, 87, 1456, 1457, 1449, + 1459, 1450, 1461, 4206, 87, 4206, 87, 1452, 1458, 1460, + 1464, 1462, 1463, 1465, 1467, 4206, 1451, 87, 4206, 1453, + 87, 87, 87, 4206, 1466, 1457, 1469, 87, 1468, 87, + 87, 87, 87, 87, 87, 1458, 1460, 1464, 1462, 1463, + 87, 87, 1470, 1471, 87, 87, 87, 1472, 1474, 1473, + 1476, 1466, 1478, 1469, 1475, 1468, 87, 87, 1477, 1481, + 87, 87, 1484, 1480, 1482, 87, 87, 1479, 4206, 1470, + 1471, 87, 87, 1485, 1472, 1474, 1473, 1476, 87, 1478, + 87, 1475, 87, 1483, 87, 1477, 1487, 1488, 1489, 1484, - 175, 1497, 1500, 1502, 1485, 1488, 87, 87, 1503, 1486, - 1487, 87, 87, 87, 87, 1490, 1491, 87, 1498, 1499, - 1493, 1495, 1492, 87, 1504, 1496, 1494, 1501, 1497, 87, - 1505, 87, 4172, 1506, 87, 87, 87, 1507, 1508, 1509, - 87, 4172, 87, 87, 87, 1498, 1499, 1512, 1514, 1510, - 4172, 1504, 1516, 1515, 1501, 1511, 87, 1505, 1513, 87, - 1506, 87, 87, 87, 1507, 1508, 1509, 1519, 87, 87, - 87, 1517, 87, 1518, 1512, 1514, 1510, 87, 1520, 1516, - 1515, 87, 1511, 87, 1521, 1513, 1522, 1523, 1524, 1525, - 4172, 87, 1527, 4172, 87, 1534, 87, 1526, 1517, 87, + 1480, 87, 4206, 1486, 1479, 87, 87, 1490, 1492, 87, + 87, 87, 1499, 87, 1493, 1495, 87, 87, 1494, 1496, + 1483, 87, 1498, 1487, 1500, 1489, 87, 4206, 1497, 87, + 1486, 1501, 87, 4206, 1490, 1492, 87, 1502, 87, 87, + 87, 1493, 1495, 87, 1504, 1494, 1496, 1503, 1505, 1498, + 1506, 1500, 1508, 87, 175, 1497, 1507, 87, 1501, 87, + 87, 1509, 1510, 1512, 1502, 87, 1513, 1514, 4206, 1511, + 87, 1504, 1515, 87, 1503, 1505, 87, 1506, 87, 1508, + 1516, 1517, 1519, 1507, 87, 1518, 87, 1520, 1509, 87, + 1523, 87, 1521, 1522, 1514, 87, 1511, 4206, 87, 1515, - 1518, 87, 1532, 1535, 87, 1520, 1533, 87, 1536, 4172, - 1546, 1521, 1528, 1522, 1523, 4172, 1525, 87, 87, 1527, - 87, 1529, 1534, 1530, 1526, 87, 1531, 1537, 87, 1532, - 87, 1538, 87, 1533, 87, 1536, 1539, 1540, 1541, 1528, - 1543, 87, 87, 1542, 87, 87, 1547, 87, 1529, 1544, - 1530, 1545, 1551, 1531, 1537, 1549, 1548, 87, 1538, 1552, - 87, 87, 87, 1539, 1540, 1541, 87, 1543, 87, 87, - 1542, 87, 1550, 1547, 1553, 1555, 1544, 1554, 1545, 87, - 87, 87, 1549, 1548, 87, 1556, 1552, 1557, 1558, 4172, - 1560, 1559, 4172, 1564, 1563, 1565, 87, 87, 87, 1550, + 87, 1525, 87, 87, 87, 87, 1526, 1516, 1517, 1519, + 87, 1527, 1518, 1524, 1520, 87, 1528, 1523, 1529, 1521, + 1522, 87, 1530, 87, 87, 87, 87, 1531, 1525, 1532, + 1533, 1534, 1535, 1526, 1536, 87, 4206, 4206, 1527, 87, + 1524, 1537, 1544, 1528, 87, 87, 4206, 87, 87, 1530, + 87, 1538, 1542, 1545, 1531, 87, 1532, 1533, 1543, 1535, + 1539, 1536, 1540, 87, 87, 1541, 1546, 1547, 1537, 1544, + 1548, 1549, 4206, 87, 1550, 87, 1556, 4206, 1538, 1542, + 87, 87, 87, 87, 87, 1543, 87, 1539, 1552, 1540, + 1551, 1553, 1541, 1546, 1547, 87, 1554, 1548, 1549, 87, - 87, 1553, 1555, 87, 1554, 87, 87, 1561, 87, 1569, - 87, 1566, 1556, 87, 1557, 1558, 1562, 1560, 1559, 87, - 1564, 1563, 1565, 1567, 1568, 1570, 1573, 1576, 1571, 87, - 87, 87, 1583, 87, 1561, 1574, 1569, 87, 1566, 1572, - 1575, 1577, 87, 1562, 87, 87, 1579, 87, 1578, 1580, - 1567, 1568, 1570, 87, 1576, 1571, 87, 87, 87, 1582, - 1585, 87, 1574, 1581, 87, 87, 1572, 1575, 1577, 1586, - 1584, 87, 1587, 1579, 1588, 1578, 1580, 87, 1590, 1592, - 1589, 87, 1591, 1593, 4172, 87, 1582, 87, 1594, 87, - 1581, 1598, 87, 87, 87, 1595, 1586, 1584, 1596, 1587, + 1557, 1550, 1560, 1558, 87, 1555, 87, 1561, 87, 1559, + 87, 1562, 1566, 87, 4206, 1552, 87, 1551, 1553, 1563, + 87, 1564, 87, 1554, 1567, 87, 4206, 1557, 87, 1560, + 1558, 1565, 1555, 87, 87, 87, 1559, 1568, 1562, 1566, + 1569, 87, 87, 1574, 1573, 1571, 1563, 1570, 1564, 87, + 1575, 1567, 87, 87, 1572, 87, 87, 1578, 1565, 1579, + 1576, 1583, 4206, 87, 1568, 87, 87, 1569, 87, 87, + 1574, 1573, 1571, 1577, 1570, 1584, 1580, 1575, 1581, 87, + 87, 1572, 87, 1585, 1578, 1587, 1579, 1576, 87, 1582, + 87, 1586, 1589, 87, 87, 1593, 1588, 87, 1590, 1591, - 1597, 1588, 1607, 87, 87, 1590, 1592, 1589, 4172, 1591, - 1609, 87, 1606, 1614, 87, 87, 87, 87, 1598, 4172, - 1608, 1611, 1595, 4172, 1618, 1596, 1610, 1597, 1599, 1607, - 87, 1613, 1600, 1612, 4172, 1601, 1602, 87, 87, 1606, - 1603, 1619, 87, 87, 1615, 87, 1604, 1608, 1611, 87, - 1605, 1618, 87, 1610, 87, 1599, 87, 1616, 1613, 1600, - 1612, 1617, 1601, 1602, 87, 1624, 87, 1603, 1619, 4172, - 1620, 1615, 87, 1604, 1622, 1626, 1623, 1605, 1621, 87, - 1625, 1627, 1628, 1630, 1616, 1629, 4172, 87, 1617, 87, - 87, 1635, 1624, 1631, 1633, 1634, 87, 1620, 87, 1632, + 1577, 87, 1584, 1580, 87, 1581, 87, 87, 1592, 87, + 1585, 1595, 1587, 1598, 1594, 1597, 1582, 1596, 1586, 1589, + 87, 87, 1600, 1588, 1599, 1590, 1591, 87, 87, 87, + 1601, 87, 87, 87, 1603, 1592, 1607, 1605, 1602, 1604, + 1598, 1594, 1597, 87, 1596, 87, 1606, 4206, 1608, 1600, + 87, 1599, 87, 87, 1616, 1617, 4206, 1601, 1619, 87, + 1618, 1624, 1622, 1607, 1605, 1602, 87, 4206, 1623, 87, + 1620, 4206, 4206, 1606, 87, 1608, 1609, 1621, 87, 87, + 1610, 1616, 1617, 1611, 1612, 87, 87, 1618, 1613, 1622, + 87, 1625, 1626, 87, 1614, 1623, 87, 1620, 1615, 87, - 87, 1622, 1626, 1623, 87, 1621, 87, 1625, 87, 87, - 1630, 87, 1629, 87, 87, 1636, 87, 1637, 1635, 1638, - 1631, 1633, 1634, 1639, 4172, 1640, 1632, 1641, 4172, 1648, - 1652, 1647, 1650, 1651, 4172, 4172, 1653, 4172, 87, 4172, - 4172, 87, 87, 1649, 1637, 87, 87, 87, 87, 1658, - 1639, 87, 1640, 87, 1641, 1642, 1648, 1652, 1647, 87, - 1643, 87, 1644, 1653, 1645, 1654, 1646, 1655, 1657, 87, - 1649, 1656, 1659, 87, 87, 4172, 87, 87, 1660, 4172, - 87, 4172, 1642, 1661, 1663, 1664, 87, 1643, 1662, 1644, - 1665, 1645, 1654, 1646, 1655, 1657, 1668, 87, 1656, 87, + 1627, 1629, 87, 1609, 1621, 1637, 1628, 1610, 1630, 1638, + 1611, 1612, 87, 87, 87, 1613, 1631, 4206, 1625, 1626, + 1632, 1614, 1633, 1634, 87, 1615, 87, 1627, 1629, 1635, + 87, 1636, 1640, 1628, 87, 1630, 1639, 87, 87, 1641, + 1643, 87, 1644, 1631, 87, 1642, 87, 1632, 1646, 1633, + 1634, 1648, 87, 87, 1647, 87, 1635, 87, 1636, 1640, + 87, 1645, 87, 1639, 1649, 1651, 1641, 1643, 1657, 1644, + 87, 1650, 1642, 1662, 1658, 87, 1659, 4206, 4206, 87, + 87, 1647, 1663, 87, 1660, 1661, 87, 87, 1645, 87, + 87, 1649, 1651, 1668, 87, 1657, 1667, 1669, 1650, 1652, - 1667, 1666, 87, 87, 1670, 87, 1669, 1673, 87, 1674, - 87, 1663, 1664, 1671, 4172, 1662, 87, 1665, 87, 87, - 87, 87, 87, 1668, 1672, 4172, 1675, 1667, 1666, 1676, - 1677, 1670, 87, 1669, 1673, 1678, 1679, 1680, 1683, 1682, - 1671, 87, 1681, 1684, 87, 87, 1685, 87, 87, 87, - 87, 1672, 87, 1675, 1686, 1687, 1676, 1677, 87, 87, - 87, 1688, 1678, 1679, 1680, 1683, 1682, 87, 87, 1681, - 1684, 1689, 1690, 1685, 1692, 1693, 1691, 1694, 1695, 1696, - 1697, 87, 1687, 87, 1698, 1700, 87, 1699, 87, 1703, - 4172, 87, 4172, 87, 1708, 87, 87, 87, 1689, 1690, + 1662, 1658, 87, 1659, 1653, 87, 1654, 1664, 1655, 1663, + 1656, 1665, 1666, 87, 87, 1672, 4206, 87, 87, 87, + 87, 87, 1670, 1667, 87, 1674, 1652, 1671, 1673, 87, + 1675, 1653, 1676, 1654, 1664, 1655, 1678, 1656, 1665, 1666, + 1677, 87, 1672, 87, 1685, 87, 1680, 87, 87, 1679, + 1684, 1686, 1674, 1681, 87, 1673, 1683, 1675, 87, 1676, + 1682, 87, 87, 1678, 87, 1687, 87, 1677, 87, 87, + 87, 1685, 1688, 1680, 1689, 1690, 1679, 1691, 1686, 4206, + 1681, 1693, 87, 1683, 87, 87, 1692, 1682, 87, 1694, + 87, 87, 1687, 1695, 1696, 87, 87, 1697, 1698, 1688, - 87, 1692, 1693, 1691, 1694, 87, 1696, 87, 1705, 87, - 87, 1698, 1700, 1701, 1699, 1702, 87, 1704, 87, 87, - 1707, 87, 1706, 1709, 87, 1710, 87, 87, 1711, 1712, - 1713, 4172, 4172, 1730, 1714, 1705, 1715, 1716, 87, 1731, - 1701, 4172, 1702, 87, 1704, 87, 87, 1707, 87, 1706, - 1709, 87, 1710, 87, 87, 1711, 1712, 1713, 87, 1717, - 1718, 1714, 1719, 1715, 1716, 87, 1720, 1722, 1721, 4172, - 1723, 87, 1724, 87, 1725, 4172, 1734, 4172, 4172, 1726, - 1728, 87, 1727, 1732, 87, 87, 1717, 1718, 87, 1719, - 87, 87, 87, 1720, 1722, 1721, 87, 1723, 87, 1724, + 1699, 1689, 1690, 1700, 1691, 1701, 87, 1705, 1693, 87, + 1703, 1702, 1706, 1692, 1707, 87, 1694, 1704, 87, 87, + 1695, 87, 87, 1708, 1697, 87, 1709, 1699, 87, 87, + 1700, 1713, 1701, 87, 87, 87, 1710, 1703, 1702, 1706, + 1711, 87, 87, 1718, 1704, 1712, 87, 1714, 87, 87, + 1708, 87, 1715, 1709, 87, 1719, 1716, 1717, 87, 4206, + 1720, 1721, 87, 1710, 87, 1723, 1724, 1711, 4206, 1725, + 3872, 3873, 1712, 1727, 1714, 87, 1722, 87, 87, 1715, + 87, 87, 1719, 1716, 1717, 87, 87, 1720, 1721, 87, + 87, 1726, 1723, 1724, 1728, 87, 1725, 1729, 1730, 87, - 87, 1725, 1729, 87, 1733, 87, 1726, 1728, 87, 1727, - 1732, 1736, 1735, 1738, 1739, 1740, 87, 1737, 4172, 87, - 1743, 87, 87, 1741, 1744, 1742, 87, 1747, 1745, 1729, - 87, 1733, 1748, 87, 87, 87, 175, 87, 1736, 1735, - 87, 1739, 1740, 1751, 1737, 87, 1749, 1743, 1757, 1746, - 1741, 1744, 1742, 87, 1750, 1745, 1752, 1756, 1764, 87, - 87, 1758, 1753, 4172, 87, 1754, 4172, 87, 87, 87, - 87, 1755, 1759, 1749, 1762, 87, 1746, 1760, 87, 87, - 87, 1750, 1761, 1752, 1756, 1764, 1763, 87, 1758, 1753, - 87, 87, 1754, 87, 1765, 1766, 1767, 1768, 1755, 1759, + 1727, 1731, 1732, 1722, 4206, 87, 1734, 87, 1733, 1735, + 4206, 1736, 1740, 1737, 1741, 1745, 4206, 87, 1726, 87, + 87, 1728, 1738, 87, 1729, 1730, 87, 1739, 1731, 1732, + 87, 87, 87, 1734, 87, 1733, 1735, 1742, 1736, 1743, + 1737, 87, 87, 1744, 87, 1747, 87, 87, 1749, 1738, + 1746, 1748, 1750, 87, 1739, 1751, 1755, 1759, 1753, 1756, + 4206, 87, 87, 87, 1742, 87, 1743, 87, 87, 1752, + 1744, 175, 1747, 87, 87, 1749, 87, 1746, 1748, 87, + 87, 1754, 1751, 1755, 1757, 1753, 1756, 1760, 1758, 87, + 87, 87, 87, 1761, 1762, 1763, 1752, 1769, 1774, 1764, - 87, 1762, 1769, 87, 1760, 87, 87, 1771, 1770, 1761, - 1776, 1774, 1772, 1763, 1773, 87, 1775, 87, 1777, 87, - 1778, 1765, 1766, 1767, 87, 87, 4172, 87, 87, 1769, - 87, 1779, 1781, 1780, 1771, 1770, 1786, 1776, 87, 1772, - 1787, 1773, 1788, 87, 87, 1777, 87, 1778, 1784, 1782, - 87, 1785, 1783, 1789, 87, 87, 1792, 1790, 1779, 1781, - 1780, 87, 4172, 1786, 1791, 87, 1793, 1787, 87, 1788, - 87, 1794, 87, 1795, 1798, 1784, 1782, 1797, 1785, 1783, - 1799, 87, 1805, 1792, 1790, 87, 87, 87, 1796, 87, - 1800, 1791, 1802, 1812, 1801, 87, 87, 1837, 87, 87, + 4206, 1768, 4206, 1766, 1772, 1765, 1770, 1771, 1754, 1767, + 87, 1757, 87, 87, 87, 1758, 87, 87, 4206, 87, + 1761, 1762, 87, 87, 87, 1774, 1764, 87, 1768, 87, + 1766, 1772, 1765, 1770, 1771, 1773, 1767, 1776, 1775, 87, + 1777, 1778, 1779, 1780, 87, 87, 1781, 4206, 1783, 87, + 87, 87, 1782, 1784, 1786, 4206, 87, 1785, 4206, 1787, + 1790, 4206, 1773, 87, 1776, 1775, 87, 1777, 1778, 1779, + 87, 87, 1788, 1781, 87, 1783, 1789, 1791, 87, 1782, + 1784, 87, 1792, 1799, 1785, 87, 87, 1790, 1793, 1794, + 1796, 1802, 1795, 1797, 1800, 87, 87, 1801, 1804, 1788, - 1795, 1798, 87, 87, 1797, 1803, 1804, 1799, 1808, 1805, - 1811, 1806, 87, 87, 1807, 1796, 1809, 1800, 87, 1802, - 87, 1801, 1810, 87, 87, 87, 4172, 87, 4172, 1813, - 4172, 87, 1803, 1804, 87, 1808, 1814, 1811, 1806, 87, - 1815, 1807, 1816, 1809, 87, 1817, 1818, 87, 87, 1810, - 1821, 1819, 1820, 1822, 4172, 87, 1813, 87, 87, 87, - 1825, 1833, 1823, 1814, 1834, 1827, 4172, 1815, 1824, 1816, - 87, 87, 1817, 1818, 87, 87, 1828, 1821, 1819, 1820, - 1822, 87, 87, 87, 1826, 1829, 1830, 1825, 1832, 1823, - 87, 1831, 1827, 87, 1835, 1824, 87, 87, 87, 1836, + 87, 87, 87, 1789, 1791, 1798, 4206, 87, 87, 1792, + 1799, 1803, 87, 1810, 87, 1793, 1794, 1796, 1802, 1795, + 1797, 1800, 1805, 87, 1809, 1804, 1811, 1806, 1807, 87, + 1808, 87, 1798, 87, 87, 87, 87, 1812, 1803, 1814, + 1810, 1813, 1816, 1815, 1821, 1817, 87, 1818, 87, 87, + 87, 1809, 1819, 1811, 87, 1807, 87, 1808, 87, 87, + 1820, 87, 1824, 1825, 1812, 87, 1814, 87, 1813, 1816, + 1815, 1821, 1817, 1822, 1818, 1823, 1827, 1826, 87, 1819, + 1828, 4206, 87, 87, 87, 1829, 87, 1820, 87, 1830, + 1825, 1831, 1832, 87, 87, 1833, 1835, 87, 1834, 87, - 1840, 1838, 87, 1828, 87, 1839, 87, 87, 1841, 1842, - 1843, 1826, 1829, 1830, 87, 1832, 87, 1844, 1831, 1845, - 1849, 1835, 87, 4172, 4172, 87, 1836, 1840, 1838, 1846, - 87, 1850, 1839, 1851, 1852, 1841, 1857, 1853, 1860, 1856, - 1854, 87, 87, 87, 4172, 87, 1845, 87, 1847, 87, - 1848, 87, 87, 87, 87, 87, 1846, 1855, 1850, 87, - 1851, 1852, 87, 1857, 1853, 1858, 1856, 1854, 1859, 87, - 87, 1861, 87, 1862, 1863, 1847, 1864, 1848, 1866, 1868, - 1871, 1865, 87, 1867, 1855, 1870, 87, 87, 87, 1869, - 1875, 1872, 1858, 87, 1880, 1859, 87, 1873, 1861, 87, + 1822, 87, 1823, 1827, 1826, 87, 1837, 1828, 1836, 1839, + 4206, 1838, 1829, 1840, 87, 87, 1830, 87, 1831, 1832, + 87, 87, 1833, 1835, 1842, 1834, 1844, 87, 87, 1841, + 1843, 1845, 1846, 1837, 1847, 1836, 1839, 87, 1838, 87, + 1840, 87, 87, 1848, 1849, 1850, 1853, 87, 1851, 1852, + 1854, 1842, 87, 1844, 1855, 87, 1841, 1843, 1856, 87, + 1861, 1847, 1857, 87, 87, 1863, 87, 4206, 87, 87, + 1848, 87, 1850, 1853, 1858, 1851, 1852, 4206, 1866, 1862, + 4206, 1865, 87, 87, 1868, 1864, 87, 87, 87, 1857, + 87, 87, 1863, 1859, 87, 1860, 87, 1867, 4206, 1869, - 1862, 1863, 87, 1874, 4172, 1876, 1868, 1871, 87, 1877, - 87, 87, 1870, 87, 1878, 87, 1869, 87, 1872, 1879, - 1881, 87, 87, 1882, 1873, 87, 87, 1884, 87, 1883, - 1874, 1885, 1876, 1888, 87, 1886, 1877, 1889, 87, 1887, - 87, 1878, 87, 87, 1891, 87, 1879, 1881, 1890, 4172, - 1893, 1892, 1894, 1895, 1884, 87, 1883, 87, 1885, 87, - 87, 87, 1886, 1896, 1889, 87, 1887, 1901, 87, 87, - 1898, 87, 1900, 1897, 1902, 1890, 87, 1893, 1892, 1894, - 1895, 87, 1899, 87, 87, 1906, 1907, 1903, 87, 1908, - 1896, 1905, 1909, 87, 1901, 87, 1904, 1898, 87, 1900, + 87, 1858, 87, 1870, 87, 1866, 1862, 1872, 1865, 87, + 87, 1868, 1864, 1871, 1873, 1874, 1876, 1882, 1878, 1875, + 1859, 1877, 1860, 1879, 1867, 87, 1869, 87, 87, 1880, + 1870, 1881, 87, 1885, 1887, 1886, 87, 1883, 87, 87, + 1871, 1873, 1874, 87, 1882, 87, 1875, 1884, 87, 1892, + 87, 87, 87, 1888, 4206, 87, 1880, 87, 1881, 1889, + 1885, 87, 1886, 1890, 1883, 1893, 87, 87, 1891, 1894, + 87, 1896, 1897, 1895, 1884, 1898, 1900, 87, 87, 1903, + 1888, 87, 87, 1901, 87, 1902, 1889, 87, 1899, 87, + 1890, 87, 1893, 4206, 4206, 1891, 1904, 87, 1896, 1897, - 1897, 1902, 1917, 1910, 87, 1918, 87, 1912, 1911, 1899, - 1913, 87, 87, 87, 1903, 87, 1908, 87, 1905, 1909, - 87, 1920, 1914, 1904, 87, 87, 1915, 87, 87, 1917, - 1910, 1919, 1918, 1921, 1912, 1911, 4172, 1913, 1923, 1916, - 87, 1922, 1926, 1925, 1928, 87, 1931, 87, 1920, 1914, - 87, 87, 1924, 1915, 87, 1927, 4172, 1930, 1919, 87, - 1921, 1929, 1933, 87, 1932, 1923, 1916, 1934, 1922, 87, - 1925, 87, 1939, 87, 1935, 1937, 87, 87, 87, 1924, - 1938, 87, 1927, 1936, 1930, 87, 87, 87, 1929, 1933, - 87, 1932, 87, 87, 1934, 1940, 1941, 1942, 1944, 1946, + 1895, 87, 1898, 1905, 87, 1906, 87, 1910, 87, 1907, + 1901, 87, 1902, 87, 1908, 1899, 1909, 87, 1913, 1911, + 87, 87, 87, 1904, 87, 87, 1912, 1914, 1918, 1915, + 1905, 1916, 1906, 1917, 1910, 1919, 1907, 87, 87, 87, + 1921, 1908, 1920, 1909, 87, 1913, 1911, 1922, 87, 4206, + 1924, 87, 1925, 1912, 1914, 87, 1915, 1929, 1916, 1923, + 1917, 87, 87, 87, 87, 1930, 87, 1921, 87, 1920, + 4206, 87, 1926, 1931, 1922, 4206, 1927, 1924, 1932, 1925, + 1933, 1935, 87, 87, 1929, 1937, 1923, 87, 1934, 1928, + 1938, 1939, 1930, 87, 1936, 1940, 87, 87, 87, 1926, - 1943, 1935, 1937, 1948, 87, 87, 87, 1938, 1945, 1947, - 1936, 1950, 1955, 1949, 4172, 1951, 87, 1952, 87, 1954, - 87, 1953, 87, 1941, 4172, 1944, 87, 1943, 87, 87, - 87, 87, 87, 1957, 87, 1945, 1947, 87, 87, 1955, - 1949, 1959, 1951, 87, 1952, 1956, 1954, 1958, 1953, 1960, - 1961, 87, 87, 1963, 87, 1962, 87, 1964, 1965, 1966, - 1957, 87, 1967, 87, 4172, 87, 1969, 87, 1959, 1968, - 4172, 87, 1956, 1978, 1958, 87, 1960, 1961, 1970, 87, - 1963, 1971, 1962, 87, 1964, 1965, 1973, 87, 87, 1967, - 87, 87, 1972, 1969, 1974, 1975, 1968, 1977, 1976, 87, + 1931, 87, 87, 1927, 1943, 1932, 1942, 1933, 1935, 4206, + 87, 1941, 1937, 87, 4206, 1934, 1928, 87, 1939, 1944, + 87, 1936, 1945, 87, 1946, 1947, 1948, 87, 1951, 1952, + 1949, 1953, 87, 1942, 1954, 87, 87, 1950, 1941, 1958, + 87, 87, 1957, 1956, 87, 87, 1944, 87, 87, 1945, + 1960, 1946, 1947, 1948, 1961, 1955, 87, 1949, 1953, 1962, + 87, 87, 1963, 4206, 1950, 87, 87, 1959, 87, 1957, + 1956, 87, 1964, 87, 87, 1969, 1965, 87, 87, 1967, + 1966, 1961, 1955, 87, 1968, 87, 87, 87, 1970, 1963, + 1971, 87, 1973, 87, 1959, 87, 1972, 1974, 87, 1964, - 87, 1981, 1984, 1979, 87, 1970, 1982, 87, 1971, 87, - 1980, 87, 87, 1973, 1987, 1983, 1985, 87, 87, 1972, - 87, 1974, 1975, 87, 1977, 1976, 87, 87, 1981, 1984, - 1979, 1988, 1986, 1982, 1992, 4172, 87, 1980, 1991, 87, - 87, 1987, 1983, 1985, 1989, 1993, 1994, 1995, 87, 1990, - 1996, 1999, 1997, 1998, 4172, 2002, 87, 175, 87, 1986, - 87, 1992, 87, 87, 87, 1991, 2000, 87, 87, 2001, - 2003, 2009, 1993, 1994, 1995, 2007, 87, 1996, 1999, 1997, - 1998, 87, 2002, 2004, 2005, 2010, 2008, 87, 2006, 2013, - 87, 2015, 87, 2000, 87, 87, 2001, 2003, 87, 87, + 1975, 1977, 1969, 1965, 87, 87, 1967, 1966, 87, 1976, + 1978, 1968, 87, 1979, 87, 1970, 87, 1971, 1984, 1973, + 1980, 1981, 1982, 1972, 1974, 87, 1985, 1975, 1977, 1988, + 87, 87, 1987, 1983, 87, 87, 1976, 1986, 87, 87, + 1979, 87, 87, 1989, 1990, 1984, 1991, 1980, 1981, 1982, + 87, 87, 87, 1985, 1992, 87, 1988, 1993, 1994, 1987, + 1983, 87, 1995, 1997, 1986, 87, 1996, 87, 1998, 87, + 1989, 87, 1999, 1991, 87, 2000, 2002, 2003, 2006, 87, + 87, 1992, 2004, 87, 1993, 1994, 2005, 2001, 2010, 1995, + 1997, 87, 87, 1996, 87, 1998, 2007, 87, 2009, 1999, - 2011, 2012, 2007, 87, 2014, 2017, 87, 2018, 87, 2020, - 2004, 2005, 2010, 2008, 87, 2006, 2013, 2016, 2023, 2019, - 2024, 2025, 87, 87, 87, 2021, 87, 2011, 2012, 87, - 2022, 2014, 87, 87, 2018, 2033, 87, 87, 87, 2026, - 87, 87, 2028, 87, 2016, 2023, 2019, 2024, 2025, 2029, - 2027, 2030, 2021, 87, 2031, 2032, 2035, 2022, 2034, 87, - 2042, 87, 2033, 87, 87, 87, 2026, 87, 87, 2028, - 4172, 2036, 2037, 2041, 2043, 87, 2029, 2027, 2030, 87, - 2049, 2031, 2032, 2035, 87, 2034, 87, 2038, 87, 2044, - 2039, 2046, 87, 2047, 2050, 2048, 87, 87, 2036, 2037, + 2008, 87, 2000, 87, 2016, 2006, 2013, 87, 2015, 87, + 87, 175, 2017, 2005, 2001, 2010, 2011, 2012, 87, 87, + 2014, 2018, 87, 2007, 87, 2009, 87, 2008, 87, 2019, + 87, 2016, 2022, 2013, 87, 2015, 2021, 2023, 2020, 2017, + 87, 4206, 2034, 2011, 2012, 87, 2025, 2014, 2018, 2024, + 2026, 87, 2028, 2027, 2029, 2030, 2019, 87, 2031, 2022, + 87, 2032, 87, 2021, 87, 2020, 4206, 87, 87, 87, + 2037, 2033, 2039, 2025, 87, 2038, 2024, 2026, 87, 2028, + 2027, 2035, 2030, 87, 87, 2036, 87, 2040, 2032, 87, + 87, 2042, 87, 87, 87, 2043, 87, 2037, 2033, 2039, - 2041, 2043, 2040, 2051, 87, 2045, 87, 2049, 2052, 87, - 2053, 87, 2054, 87, 2038, 87, 2044, 2039, 2046, 2055, - 2047, 87, 2048, 2056, 2057, 2058, 2060, 2059, 2061, 2040, - 2051, 2062, 2045, 2063, 87, 87, 87, 2064, 87, 2054, - 87, 87, 87, 2065, 2066, 87, 2055, 87, 2068, 87, - 2056, 2067, 2058, 2060, 2059, 2061, 87, 87, 2062, 2069, - 2063, 2070, 2071, 87, 2074, 2072, 2077, 2075, 2073, 87, - 4172, 87, 2076, 87, 87, 87, 87, 87, 2067, 87, - 87, 87, 4172, 87, 2084, 2079, 2069, 87, 2070, 87, - 2078, 2074, 2072, 2077, 2075, 2073, 2080, 87, 87, 2076, + 2041, 2045, 2038, 87, 2046, 2047, 2044, 2064, 2035, 87, + 87, 2048, 2036, 2056, 2040, 2049, 87, 87, 2042, 87, + 2050, 87, 2043, 2051, 87, 2055, 2057, 2041, 2045, 87, + 87, 2046, 2047, 2044, 87, 87, 2052, 87, 2048, 2053, + 87, 2058, 2049, 2060, 4206, 87, 2069, 2050, 87, 2061, + 2051, 2054, 2055, 2057, 2062, 2063, 87, 2059, 2066, 2065, + 87, 87, 87, 2052, 2067, 87, 2053, 2068, 2058, 4206, + 2060, 87, 87, 2069, 2070, 2071, 2061, 2072, 2054, 87, + 4206, 2062, 2063, 2073, 2059, 2076, 2065, 2075, 4206, 87, + 87, 2077, 87, 2074, 2068, 87, 87, 87, 2078, 87, - 2081, 2082, 2083, 4172, 87, 2085, 2086, 87, 2091, 87, - 87, 2084, 2079, 87, 87, 2087, 2088, 2078, 2092, 2089, - 2100, 4172, 2090, 2080, 4172, 87, 2093, 2081, 2082, 2083, - 87, 87, 2085, 2086, 87, 87, 87, 87, 2095, 2096, - 87, 2094, 2087, 2088, 2098, 2092, 2089, 87, 87, 2090, - 4172, 87, 2101, 2093, 2099, 2102, 2106, 2097, 2103, 87, - 2104, 2107, 2105, 87, 87, 2095, 2096, 2108, 2094, 87, - 87, 2098, 87, 87, 87, 2109, 87, 87, 4172, 2101, - 2114, 2099, 2102, 2106, 2097, 2103, 87, 2104, 2107, 2105, - 2110, 2115, 87, 87, 2108, 2116, 2123, 2118, 2117, 2124, + 87, 2070, 87, 2079, 2072, 2080, 2081, 87, 2082, 2083, + 2073, 4206, 2076, 87, 2075, 87, 2084, 2085, 2077, 2086, + 2074, 2091, 2087, 4206, 4206, 2088, 4206, 2089, 87, 87, + 87, 87, 87, 2081, 2093, 87, 2083, 87, 87, 87, + 87, 87, 2090, 2084, 87, 2094, 2086, 87, 2091, 2087, + 2092, 87, 2088, 2095, 2089, 2096, 2098, 87, 87, 2099, + 2097, 2093, 87, 2100, 87, 2101, 87, 2104, 2106, 2090, + 2105, 87, 2094, 2102, 2103, 87, 2114, 2092, 4206, 87, + 2095, 87, 2096, 2098, 87, 87, 2099, 2097, 87, 87, + 2100, 2108, 2101, 2107, 2104, 2106, 2109, 2110, 87, 2112, - 2125, 2111, 2109, 2112, 2119, 2113, 2121, 2114, 87, 2120, - 2122, 87, 87, 87, 87, 87, 87, 2110, 2115, 2126, - 87, 2128, 2116, 2123, 2118, 2117, 87, 87, 2111, 2127, - 2112, 2119, 2113, 2121, 87, 2129, 2120, 2122, 87, 87, - 2130, 2131, 2133, 2132, 2134, 2135, 2126, 4172, 2128, 2139, - 87, 2136, 87, 2137, 2138, 87, 2127, 87, 87, 87, - 87, 2140, 2129, 2149, 2142, 4172, 87, 2130, 87, 2133, - 2132, 2134, 2135, 87, 2141, 87, 2139, 87, 2136, 2143, - 2137, 2138, 87, 87, 2144, 2148, 2145, 2147, 2140, 2146, - 87, 2142, 87, 2150, 2153, 87, 2154, 87, 2151, 2156, + 2102, 2103, 87, 87, 87, 2115, 4206, 2116, 2121, 87, + 2113, 87, 87, 2118, 2120, 2111, 2117, 4206, 2108, 4206, + 2107, 87, 4206, 2109, 2110, 87, 2112, 87, 87, 87, + 2123, 87, 2115, 2119, 2116, 2121, 4206, 2113, 2122, 87, + 2118, 2120, 2111, 2117, 2128, 87, 2135, 87, 87, 2129, + 2130, 2124, 2132, 2131, 2138, 87, 87, 2123, 2139, 2136, + 2119, 87, 2125, 87, 2126, 2122, 2127, 4206, 87, 87, + 4206, 2128, 2137, 2135, 2142, 87, 2129, 2130, 2124, 2132, + 2131, 87, 2133, 2140, 2143, 87, 2136, 2134, 2141, 2125, + 2144, 2126, 87, 2127, 87, 2145, 87, 87, 87, 2137, - 2152, 2141, 2155, 87, 87, 87, 2143, 87, 87, 2159, - 87, 2144, 2148, 2145, 2147, 87, 2146, 2157, 87, 2160, - 87, 2153, 2158, 2154, 2162, 2151, 2156, 2152, 2161, 2155, - 87, 87, 2163, 87, 87, 2166, 2159, 2164, 4172, 2165, - 4172, 2167, 4172, 2169, 4172, 2168, 2160, 2174, 2190, 87, - 87, 2162, 2173, 87, 2175, 2161, 2176, 2170, 87, 2163, - 2171, 87, 2166, 2172, 2164, 87, 2165, 87, 2167, 87, - 2169, 87, 2168, 2177, 2174, 87, 87, 2178, 87, 2173, - 2180, 2175, 87, 2176, 2170, 2179, 87, 2171, 2181, 87, - 2172, 87, 2183, 2182, 2184, 2186, 2185, 87, 2187, 2188, + 2151, 2142, 87, 2148, 2146, 2147, 2149, 2150, 87, 2133, + 2140, 2143, 2153, 87, 2134, 2141, 87, 2144, 87, 2154, + 2152, 87, 87, 4206, 87, 87, 87, 2151, 2155, 87, + 2148, 2146, 2147, 2149, 2150, 2157, 87, 2156, 2162, 2153, + 2159, 87, 2158, 2160, 2164, 2163, 2154, 2152, 87, 2161, + 87, 2168, 87, 87, 2165, 2155, 87, 2170, 87, 2166, + 87, 2167, 2157, 4206, 2156, 2162, 87, 2159, 87, 2158, + 2160, 87, 2169, 2173, 87, 87, 2161, 87, 2168, 2174, + 2178, 2165, 2171, 2176, 2170, 87, 2166, 2172, 2167, 2175, + 2179, 87, 87, 2177, 87, 87, 4206, 2180, 2187, 2169, - 2177, 87, 2191, 4172, 2178, 87, 87, 2180, 2192, 2189, - 2194, 87, 2179, 2193, 2198, 2199, 2195, 87, 87, 2183, - 87, 2184, 2186, 2185, 2203, 2187, 87, 87, 4172, 4172, - 87, 87, 2196, 2209, 87, 2192, 2189, 87, 2197, 87, - 2193, 2198, 87, 2195, 2200, 87, 2201, 87, 2204, 2205, - 2208, 4172, 2202, 2206, 2207, 87, 87, 87, 87, 2196, - 2209, 87, 87, 2218, 2210, 2197, 2212, 87, 2216, 87, - 87, 2200, 2211, 2201, 2213, 2204, 2205, 2208, 87, 2202, - 2206, 2207, 87, 2214, 87, 2215, 87, 2219, 87, 2217, - 2218, 2210, 2220, 2212, 2221, 87, 87, 4172, 87, 2211, + 2173, 87, 2190, 2188, 87, 2181, 2174, 2178, 2183, 2182, + 2176, 87, 2192, 4206, 87, 87, 2175, 2179, 2189, 87, + 2177, 87, 2184, 2185, 2180, 2187, 2186, 87, 87, 2190, + 2188, 87, 2181, 2191, 87, 2183, 2182, 2193, 2194, 2192, + 87, 87, 2197, 87, 2198, 2189, 2195, 87, 2200, 2184, + 2185, 2196, 2202, 2186, 2199, 87, 87, 87, 2203, 87, + 2191, 2201, 2204, 2205, 2193, 2194, 2207, 87, 2208, 2197, + 87, 2198, 2206, 2213, 87, 2200, 2209, 4206, 87, 87, + 2210, 2199, 2214, 2211, 87, 2203, 4206, 87, 2201, 87, + 87, 2212, 2215, 2207, 87, 87, 87, 87, 2216, 2206, - 2222, 2213, 2223, 2227, 2224, 2226, 2225, 2229, 2228, 2233, - 2214, 87, 2215, 87, 87, 87, 2217, 2231, 87, 87, - 2230, 2221, 87, 2235, 87, 87, 2236, 2222, 87, 87, - 87, 2224, 2226, 2225, 2232, 2228, 87, 2238, 2234, 87, - 2239, 4172, 2237, 87, 2231, 87, 87, 2230, 87, 87, - 2235, 2241, 2240, 2236, 4172, 87, 2244, 2242, 2245, 87, - 4172, 2232, 87, 2246, 2238, 2234, 2249, 2239, 2243, 2237, - 87, 2247, 87, 2251, 2250, 2253, 87, 2248, 2241, 2240, - 4172, 87, 87, 2244, 2242, 2245, 175, 87, 87, 87, - 2246, 2252, 2254, 87, 2255, 2243, 2256, 2257, 2247, 87, + 87, 2217, 2218, 2209, 87, 87, 2233, 2210, 2222, 2214, + 2211, 4206, 2219, 2224, 2220, 2221, 87, 4206, 2212, 2215, + 87, 87, 87, 87, 2223, 2216, 2230, 87, 2234, 2218, + 2225, 87, 2226, 87, 2227, 2222, 2228, 2232, 87, 2219, + 2224, 2220, 2221, 2229, 87, 2235, 87, 2231, 87, 87, + 87, 2223, 87, 87, 2236, 2237, 87, 2225, 2238, 2226, + 87, 2227, 2239, 2228, 2232, 87, 2241, 2240, 87, 87, + 2229, 87, 2235, 2242, 2231, 87, 2243, 2245, 2244, 2247, + 2249, 2236, 87, 87, 2248, 2238, 2246, 87, 87, 2239, + 2250, 87, 2251, 87, 2240, 87, 2253, 87, 2254, 4206, - 2251, 2250, 87, 2261, 2248, 2258, 2260, 87, 2263, 2262, - 87, 2259, 87, 2264, 87, 87, 87, 87, 2252, 2254, - 2266, 2255, 87, 2256, 2257, 87, 87, 2265, 2267, 87, - 2261, 2268, 2258, 2260, 4172, 2263, 2262, 2269, 2259, 2270, - 2271, 2272, 87, 2273, 2274, 87, 87, 2266, 2277, 87, - 2278, 2275, 2281, 4172, 2265, 2267, 87, 2279, 87, 2276, - 2280, 87, 4172, 87, 2269, 2301, 2270, 87, 2272, 87, - 87, 2274, 87, 2284, 2282, 87, 87, 87, 2275, 2281, - 87, 87, 87, 2283, 2279, 87, 2276, 2280, 87, 2285, - 2286, 2287, 2289, 2288, 2290, 4172, 2293, 87, 87, 4172, + 2242, 4206, 2252, 87, 2245, 2244, 87, 2249, 87, 87, + 2255, 2248, 2256, 2246, 87, 2257, 87, 2250, 87, 2251, + 87, 2258, 2260, 2253, 4206, 2254, 2261, 2262, 87, 2252, + 2265, 2263, 2259, 87, 2269, 2264, 4206, 2255, 87, 2256, + 2267, 2270, 2257, 2280, 87, 87, 175, 87, 2258, 2260, + 2272, 87, 2266, 2261, 2262, 87, 2268, 87, 2263, 2259, + 87, 87, 2264, 87, 87, 2271, 2273, 2267, 2270, 2274, + 87, 2275, 2276, 2277, 2278, 87, 2282, 2272, 87, 2266, + 87, 87, 87, 2268, 2279, 87, 87, 2281, 87, 87, + 2284, 87, 2271, 2273, 2283, 2285, 2274, 2286, 2275, 2276, - 2284, 2282, 2291, 2292, 2300, 2298, 87, 87, 2295, 2294, - 2283, 87, 87, 87, 87, 87, 2285, 2286, 2287, 2289, - 2288, 2290, 2299, 2293, 87, 87, 2296, 87, 2303, 2291, - 2292, 87, 2298, 2297, 87, 2295, 2294, 2302, 2304, 87, - 2306, 2308, 2305, 87, 2312, 2307, 87, 2311, 87, 2299, - 87, 87, 87, 2296, 2313, 2303, 2314, 2309, 2315, 2310, - 2297, 2316, 2322, 87, 2302, 2304, 87, 2306, 2308, 2305, - 87, 87, 2307, 87, 2311, 2320, 2317, 2321, 2324, 2326, - 2328, 87, 87, 2314, 2309, 87, 2310, 87, 2316, 2318, - 2319, 2323, 2325, 2327, 87, 87, 87, 87, 87, 2329, + 2277, 2278, 87, 2282, 87, 2287, 2288, 2289, 2290, 2291, + 2293, 2279, 4206, 2294, 2281, 87, 2295, 87, 2292, 87, + 87, 2283, 2285, 2296, 2286, 2297, 4206, 87, 87, 87, + 2298, 87, 87, 2288, 2302, 2290, 2291, 87, 2300, 87, + 87, 2299, 87, 2295, 2301, 2292, 87, 87, 87, 87, + 2296, 2303, 2297, 87, 2304, 2305, 87, 2298, 2307, 4206, + 2311, 2302, 2306, 2316, 2308, 2300, 2309, 87, 2299, 2317, + 87, 2301, 87, 87, 87, 2314, 2312, 4206, 2303, 2310, + 87, 2304, 2305, 2313, 87, 2307, 87, 2311, 2315, 2306, + 87, 2308, 2324, 2309, 4206, 2327, 2319, 87, 87, 2318, - 87, 87, 87, 2317, 2321, 2331, 2330, 2328, 87, 2332, - 87, 87, 2334, 2335, 4172, 87, 2318, 2319, 2323, 2325, - 2327, 87, 2337, 2333, 2338, 2336, 2329, 2342, 87, 87, - 87, 2339, 2331, 2330, 87, 2340, 87, 87, 2341, 2334, - 87, 2343, 2344, 2345, 2350, 4172, 87, 2347, 2346, 2337, - 2333, 2338, 2336, 87, 87, 2348, 87, 2353, 2339, 87, - 87, 87, 2340, 2354, 87, 2341, 2349, 2357, 2343, 2344, - 2345, 2351, 2352, 87, 2347, 2346, 87, 87, 87, 87, - 87, 2355, 2348, 2358, 2353, 87, 2356, 2359, 2360, 2361, - 2354, 2362, 2365, 2349, 2357, 87, 4172, 2367, 2351, 2352, + 87, 87, 2314, 2312, 2320, 87, 2310, 87, 2321, 2322, + 2313, 2323, 87, 4206, 2328, 2315, 87, 87, 87, 2324, + 87, 87, 2327, 2319, 2329, 2330, 2318, 2325, 2331, 2326, + 2336, 2320, 87, 2332, 2339, 2321, 2322, 2333, 2323, 2334, + 87, 87, 2335, 87, 2337, 87, 2338, 2340, 87, 2342, + 2347, 87, 2330, 2341, 2325, 87, 2326, 87, 87, 87, + 2332, 2339, 87, 2345, 2333, 2344, 2334, 87, 2343, 2335, + 2348, 2337, 87, 2346, 87, 87, 2350, 2347, 87, 87, + 2341, 87, 2349, 87, 2351, 87, 2354, 2352, 2353, 87, + 2345, 4206, 2344, 2356, 87, 2343, 2355, 87, 87, 87, - 2363, 87, 2364, 2366, 87, 87, 87, 2370, 2368, 87, - 2358, 87, 87, 87, 2359, 2360, 2361, 87, 87, 2365, - 2369, 2371, 87, 87, 2367, 2372, 87, 2363, 2374, 2364, - 2366, 2373, 2376, 87, 87, 2368, 2375, 2377, 87, 2378, - 2379, 2380, 2381, 87, 2386, 2383, 87, 2369, 2371, 4172, - 2389, 87, 2372, 2382, 2385, 2374, 2384, 2391, 2373, 87, - 87, 87, 87, 2375, 87, 87, 2378, 87, 2380, 2381, - 2388, 87, 87, 2387, 87, 2390, 87, 2389, 87, 87, - 2382, 2385, 2392, 2384, 2393, 2395, 2394, 2399, 87, 87, - 87, 2398, 2396, 2397, 87, 2400, 87, 2388, 87, 2403, + 2346, 2358, 2357, 2350, 2366, 4206, 4206, 2364, 87, 2349, + 2363, 87, 4206, 2354, 2352, 2353, 87, 87, 87, 87, + 2356, 2365, 2370, 2355, 87, 2359, 2360, 2361, 87, 2357, + 2369, 2367, 2362, 87, 2364, 2368, 87, 2363, 87, 2374, + 87, 2371, 87, 2373, 87, 2378, 2372, 2375, 2365, 2370, + 87, 87, 2359, 2360, 2361, 2376, 87, 2369, 2367, 2362, + 2379, 2380, 2368, 2377, 2386, 4206, 2374, 2381, 87, 4206, + 2373, 87, 87, 87, 2375, 87, 2382, 87, 87, 2385, + 87, 2388, 2376, 2383, 87, 87, 2384, 2379, 2380, 2391, + 2377, 87, 87, 2389, 2381, 87, 2387, 87, 2392, 2390, - 2387, 2402, 2390, 2404, 2401, 87, 2407, 2406, 2410, 87, - 87, 2393, 2395, 2394, 87, 87, 2405, 87, 2398, 2396, - 2397, 87, 2400, 87, 2408, 2411, 2403, 87, 2409, 2413, - 2414, 2401, 2412, 87, 2406, 87, 87, 2415, 87, 2417, - 87, 2419, 87, 2405, 87, 2416, 2418, 87, 2422, 87, - 2425, 2408, 87, 87, 87, 2409, 2413, 2414, 2420, 2412, - 2423, 87, 2426, 87, 2415, 87, 2417, 87, 2419, 2421, - 87, 2424, 2416, 2418, 87, 2422, 2427, 87, 87, 2428, - 2430, 2429, 87, 87, 4172, 2420, 4172, 2423, 87, 2426, - 2431, 2436, 87, 2433, 2434, 4172, 2421, 2435, 2424, 87, + 87, 2393, 2394, 2382, 87, 2395, 2385, 87, 2388, 87, + 2383, 2397, 2396, 2384, 87, 87, 2391, 2398, 2399, 2400, + 2389, 2401, 2402, 2387, 2403, 87, 2390, 87, 87, 2394, + 87, 2405, 87, 2404, 87, 87, 2406, 87, 2397, 2396, + 2407, 87, 87, 2408, 2398, 87, 2400, 2409, 2401, 87, + 2410, 2403, 2418, 87, 87, 2411, 2413, 87, 2405, 2414, + 2404, 2412, 87, 2406, 2415, 2416, 87, 2417, 2419, 2420, + 87, 2427, 87, 2421, 2409, 87, 2422, 2410, 87, 87, + 87, 2423, 2411, 2413, 87, 87, 2414, 2424, 2412, 2425, + 87, 87, 2416, 2426, 2417, 2419, 87, 87, 87, 2428, - 87, 2437, 87, 2427, 87, 4172, 2432, 2430, 2429, 2441, - 4172, 87, 2442, 87, 2438, 2439, 2443, 2431, 87, 87, - 2433, 2434, 87, 2440, 2435, 2445, 2444, 87, 2437, 2446, - 4172, 87, 87, 2432, 2447, 2448, 2441, 87, 87, 2442, - 2449, 2438, 2439, 2443, 87, 2450, 2452, 87, 2451, 2454, - 2440, 87, 87, 2444, 87, 2453, 2446, 87, 2455, 87, - 2458, 2447, 2448, 87, 2461, 87, 4172, 2449, 2460, 2459, - 2456, 87, 87, 2452, 2457, 2451, 2454, 87, 87, 2462, - 87, 87, 2453, 2463, 2465, 2455, 87, 2464, 2476, 2472, - 2466, 2461, 87, 87, 2467, 2460, 2459, 2456, 2470, 2468, + 2421, 87, 2429, 2422, 2431, 2430, 2433, 2432, 2434, 2441, + 2436, 87, 87, 87, 2424, 87, 2425, 87, 2435, 87, + 87, 87, 2438, 87, 2439, 87, 2428, 2437, 87, 2429, + 87, 2431, 2430, 2433, 2432, 2434, 2440, 2436, 2442, 2444, + 2443, 87, 87, 87, 4206, 2435, 2446, 87, 87, 2438, + 2445, 2439, 2447, 87, 2437, 2449, 2450, 87, 87, 2451, + 2452, 87, 87, 2440, 2455, 2442, 87, 2443, 2448, 2453, + 2454, 87, 87, 2446, 2458, 87, 87, 2445, 87, 2447, + 2456, 87, 2449, 2450, 2459, 2457, 2451, 87, 87, 2461, + 2474, 2455, 2460, 4206, 4206, 2448, 2453, 2454, 2463, 2462, - 2471, 2457, 87, 2473, 2469, 87, 2462, 87, 87, 2477, - 87, 2465, 2479, 87, 2464, 87, 87, 2466, 2474, 2481, - 87, 2467, 87, 2475, 2487, 2470, 2468, 2471, 2478, 87, - 87, 2469, 2480, 2482, 87, 2483, 2486, 2484, 87, 2479, - 2485, 87, 2489, 2491, 2488, 2490, 2492, 87, 87, 87, - 87, 87, 87, 2493, 2495, 2478, 87, 87, 87, 2480, - 2482, 87, 2483, 2486, 2484, 87, 87, 2485, 2494, 2496, - 2491, 2488, 2490, 87, 87, 87, 175, 2497, 2498, 2499, - 2493, 2495, 2500, 2501, 87, 2502, 87, 2503, 2506, 2504, - 2505, 2507, 87, 2509, 4172, 2494, 2496, 4172, 4172, 4172, + 87, 2458, 2466, 4206, 2464, 87, 2470, 2456, 87, 2465, + 87, 2459, 2457, 4206, 2468, 2469, 87, 87, 2467, 2460, + 87, 87, 87, 87, 87, 2463, 2462, 87, 87, 87, + 2471, 2464, 2472, 2470, 2475, 2478, 2465, 87, 2476, 87, + 2473, 2468, 2469, 87, 2477, 2467, 2479, 87, 2480, 87, + 87, 2482, 2483, 2481, 2488, 2489, 2486, 2471, 2492, 2472, + 87, 2475, 2478, 87, 2487, 2476, 87, 2473, 2493, 87, + 4206, 2477, 2484, 87, 87, 2480, 87, 2485, 2482, 2483, + 2481, 87, 87, 2486, 2490, 2495, 87, 2496, 87, 2491, + 87, 2487, 2494, 87, 2497, 2498, 2500, 2499, 2501, 2484, - 2510, 87, 2511, 87, 2497, 2498, 2499, 87, 2514, 87, - 2501, 87, 2502, 2512, 87, 87, 2504, 87, 2507, 2508, - 87, 87, 2518, 2513, 87, 87, 87, 2510, 2515, 2511, - 87, 2517, 2519, 2516, 87, 2514, 2520, 2523, 87, 2522, - 2512, 87, 2521, 4172, 2526, 87, 2508, 2524, 2525, 2518, - 2513, 87, 87, 2530, 87, 87, 2528, 2531, 2517, 2519, - 87, 2527, 87, 2520, 2523, 87, 2522, 2529, 2533, 2521, - 87, 87, 2534, 2536, 2524, 2525, 2538, 87, 87, 87, - 2530, 87, 2535, 2528, 87, 2532, 87, 2537, 2527, 87, - 87, 2539, 87, 2540, 2529, 2533, 4172, 2541, 87, 2534, + 87, 2502, 87, 2503, 2485, 87, 2504, 87, 2506, 2507, + 87, 4206, 2495, 87, 2496, 2509, 87, 2510, 87, 2494, + 87, 87, 2498, 2500, 2499, 2501, 87, 87, 2502, 2505, + 2503, 2508, 2512, 2511, 87, 2513, 2507, 87, 87, 87, + 87, 87, 2509, 87, 87, 2516, 2514, 2517, 2515, 2518, + 2521, 2524, 2523, 87, 2519, 2525, 2505, 175, 2508, 2512, + 2511, 87, 2513, 87, 2520, 2527, 2522, 87, 2528, 87, + 4206, 4206, 2516, 2514, 2517, 2515, 87, 87, 87, 87, + 2526, 2519, 2525, 87, 2529, 2531, 2532, 87, 2530, 87, + 87, 2520, 87, 2522, 2533, 2528, 2535, 87, 2536, 2534, - 2544, 2549, 87, 2538, 2542, 87, 2543, 2546, 87, 2535, - 87, 2545, 2532, 87, 2537, 87, 87, 2547, 2548, 87, - 2540, 2550, 2551, 87, 2541, 4172, 87, 2544, 2549, 4172, - 2556, 2542, 2554, 2543, 2546, 87, 87, 2552, 2545, 2555, - 87, 2557, 4172, 2561, 2547, 2548, 4172, 87, 2550, 2551, - 2553, 2558, 87, 87, 87, 87, 87, 87, 2559, 2554, - 2560, 2562, 87, 2563, 2552, 87, 2555, 2565, 2557, 87, - 2561, 87, 2564, 2566, 87, 2568, 2567, 2553, 2558, 2570, - 2572, 2569, 87, 2573, 2576, 2559, 2571, 2560, 2562, 87, - 87, 2575, 4172, 87, 2565, 87, 87, 2574, 87, 2564, + 2543, 2538, 2539, 87, 2537, 2544, 87, 2526, 87, 87, + 87, 2529, 2531, 2532, 87, 2530, 87, 2540, 2541, 2542, + 87, 87, 87, 2535, 2545, 2536, 87, 2543, 2538, 2539, + 2546, 2537, 87, 87, 87, 2548, 2547, 2549, 2551, 2552, + 2550, 2553, 87, 87, 2540, 2541, 2542, 87, 87, 87, + 2554, 2545, 87, 2555, 2557, 4206, 87, 2546, 87, 87, + 2558, 2556, 2548, 2547, 87, 2551, 2552, 2550, 2553, 87, + 2560, 2559, 2561, 2565, 4206, 2564, 87, 2566, 2569, 87, + 2555, 2562, 87, 87, 87, 87, 87, 2558, 2556, 87, + 2568, 87, 2563, 2572, 2567, 87, 87, 2560, 2559, 2561, - 2566, 87, 2568, 2567, 2577, 87, 87, 87, 2569, 87, - 2573, 2581, 87, 2571, 2578, 2579, 87, 87, 2575, 2580, - 87, 2582, 2584, 2587, 2574, 2585, 87, 2591, 87, 2583, - 2586, 2577, 2589, 87, 87, 87, 2588, 87, 2581, 87, - 87, 2578, 2579, 2590, 2602, 87, 2580, 87, 2582, 2584, - 2587, 87, 2585, 2592, 2591, 4172, 2583, 2586, 2593, 2589, - 2594, 87, 2601, 2588, 87, 2595, 2596, 2599, 2600, 2597, - 2590, 87, 87, 2604, 87, 2603, 4172, 87, 4172, 2605, - 87, 2607, 2598, 2606, 87, 87, 2608, 2594, 4172, 2601, - 87, 2611, 2595, 2596, 2599, 2600, 2597, 2612, 87, 2609, + 2565, 87, 2564, 2570, 2566, 2569, 2571, 87, 2562, 2573, + 2574, 2575, 87, 2576, 2577, 87, 87, 2568, 87, 2563, + 2572, 2567, 2579, 87, 87, 87, 2581, 2584, 2578, 2580, + 2570, 4206, 4206, 2571, 87, 87, 2573, 87, 2575, 87, + 2576, 2577, 87, 2582, 2594, 2583, 2585, 2586, 2587, 2579, + 2588, 2590, 87, 87, 2584, 2578, 2580, 87, 87, 87, + 2589, 4206, 2591, 2592, 2593, 4206, 2596, 87, 87, 2595, + 2582, 87, 2583, 2585, 2586, 2587, 87, 87, 87, 87, + 2599, 4206, 87, 4206, 2603, 87, 87, 2589, 87, 2591, + 2592, 2593, 2597, 2596, 2598, 2604, 2595, 87, 2602, 87, - 2604, 2615, 2603, 87, 2610, 87, 2605, 87, 2607, 2598, - 2606, 87, 87, 87, 2613, 2616, 2614, 2619, 2611, 87, - 2617, 2618, 2620, 87, 2612, 87, 2609, 2622, 2615, 2623, - 87, 2610, 2626, 2624, 4172, 87, 2621, 87, 87, 87, - 87, 2613, 2616, 2614, 87, 87, 2625, 2617, 2618, 2620, - 2627, 87, 87, 87, 2622, 2630, 2623, 87, 2628, 2629, - 2624, 2631, 2632, 2621, 87, 2634, 87, 2633, 87, 2636, - 2635, 2637, 2638, 2625, 87, 2639, 2640, 2627, 2641, 2642, - 87, 87, 2630, 87, 87, 2628, 2629, 87, 2631, 87, - 2643, 87, 2634, 87, 2633, 87, 2636, 2635, 2637, 2638, + 2600, 87, 2605, 2606, 87, 2608, 87, 2599, 2601, 2620, + 87, 2603, 2607, 87, 87, 2610, 2609, 4206, 87, 2597, + 2611, 2598, 2604, 87, 2617, 2602, 87, 2600, 87, 2605, + 2606, 87, 2608, 2612, 2618, 2601, 87, 87, 87, 2607, + 2613, 2614, 2622, 2609, 2615, 2621, 2623, 87, 2619, 87, + 2625, 2617, 2624, 2626, 87, 2629, 2628, 2616, 4206, 2630, + 2612, 2618, 87, 87, 87, 87, 2627, 2613, 2614, 2622, + 87, 2615, 2621, 2623, 87, 2619, 87, 2625, 87, 2624, + 87, 87, 2629, 2628, 2616, 2631, 2630, 2632, 2634, 2633, + 2636, 2635, 2637, 2627, 2641, 2638, 87, 2644, 2640, 87, - 2644, 87, 2639, 2640, 87, 2647, 2642, 2645, 2648, 2649, - 87, 2650, 2646, 2651, 2653, 87, 87, 2643, 2652, 2654, - 2656, 2655, 87, 2659, 87, 2660, 87, 2644, 87, 2657, - 87, 87, 2647, 2658, 2661, 2648, 2649, 2662, 2650, 87, - 87, 2653, 2663, 87, 87, 2652, 2654, 4172, 2655, 2666, - 2667, 87, 87, 2668, 2664, 87, 2657, 87, 87, 2669, - 2658, 2661, 2665, 2672, 2670, 87, 2671, 4172, 4172, 87, - 2676, 2673, 87, 87, 87, 4172, 87, 2667, 2678, 87, - 2668, 2664, 87, 2679, 2674, 87, 2669, 2675, 87, 2665, - 2672, 2670, 2680, 2671, 87, 87, 2691, 2676, 2673, 2677, + 2643, 4206, 87, 4206, 4206, 2639, 4206, 87, 87, 87, + 87, 87, 2631, 87, 2632, 2634, 2633, 2636, 2635, 87, + 87, 2641, 2638, 87, 2642, 2640, 2645, 2643, 2649, 87, + 2646, 2647, 2639, 87, 2648, 2650, 87, 4206, 87, 2651, + 87, 87, 2652, 2653, 4206, 2654, 2659, 2656, 4206, 2655, + 4206, 2642, 4206, 2645, 2657, 2649, 87, 2646, 2647, 87, + 2660, 2648, 87, 87, 87, 2661, 2651, 87, 87, 2652, + 2653, 87, 2654, 2658, 2656, 2662, 2655, 2665, 87, 87, + 87, 2657, 87, 2663, 2667, 2666, 2668, 2660, 2664, 2669, + 87, 2670, 2661, 87, 2671, 2672, 87, 87, 2673, 2674, - 2681, 2682, 87, 2683, 4172, 87, 2684, 87, 2687, 2685, - 87, 2674, 2686, 2688, 2675, 2692, 87, 87, 87, 2680, - 2690, 87, 87, 87, 87, 2689, 2677, 2681, 2682, 2703, - 2683, 87, 87, 2684, 87, 2687, 2685, 2693, 87, 2686, - 2688, 2694, 2692, 2695, 2697, 2699, 87, 2690, 2698, 2696, - 87, 87, 2689, 4172, 87, 2702, 87, 87, 2700, 2701, - 87, 2704, 87, 2706, 2693, 2705, 4172, 87, 2694, 2707, - 2695, 2697, 2699, 87, 87, 2698, 2696, 2710, 87, 4172, - 2708, 87, 2702, 87, 2716, 2700, 2701, 87, 2704, 2718, - 2706, 2711, 2705, 2709, 2712, 87, 2707, 2715, 87, 2713, + 2658, 87, 2662, 2677, 2665, 87, 2675, 87, 2678, 2676, + 87, 2667, 2666, 2668, 2679, 87, 87, 87, 2670, 2680, + 2681, 2671, 2672, 87, 4206, 2673, 2684, 2685, 87, 2682, + 4206, 87, 2686, 2675, 87, 87, 2676, 2683, 4206, 2687, + 87, 2679, 87, 2688, 2692, 2689, 2690, 2693, 87, 4206, + 2694, 87, 87, 87, 2685, 87, 2682, 2691, 87, 2686, + 2699, 87, 87, 2695, 2683, 87, 2687, 87, 2698, 87, + 2688, 2692, 2689, 2690, 2693, 87, 2696, 2694, 87, 2700, + 87, 2697, 2701, 87, 2691, 2702, 4206, 2699, 2703, 2704, + 2695, 2705, 2709, 4206, 87, 2698, 87, 4206, 2710, 2708, - 2714, 87, 87, 2719, 2710, 2717, 87, 2708, 87, 2720, - 2721, 87, 87, 2722, 2723, 87, 87, 87, 2711, 2724, - 2709, 2712, 2725, 87, 2715, 2727, 2713, 2714, 87, 87, - 2719, 87, 2717, 87, 2726, 87, 2720, 2721, 2728, 2729, - 2722, 2723, 87, 175, 2730, 2731, 2724, 2732, 2733, 2725, - 4172, 2734, 4172, 2735, 2737, 2736, 2739, 87, 87, 2738, - 87, 2726, 87, 2744, 2748, 2728, 2743, 2747, 87, 2745, - 87, 87, 87, 2740, 2746, 2733, 87, 87, 2734, 87, - 2735, 2737, 2736, 87, 87, 87, 2738, 2741, 2749, 87, - 87, 2748, 2750, 2743, 2747, 87, 2745, 2753, 2742, 87, + 87, 2706, 2714, 4206, 87, 87, 2700, 87, 87, 2701, + 87, 87, 2702, 2707, 2711, 2703, 2704, 87, 2705, 87, + 87, 2712, 2713, 87, 2715, 2710, 2708, 2716, 2706, 2714, + 87, 2717, 2718, 87, 2721, 2719, 2720, 87, 2722, 87, + 2707, 2711, 2723, 87, 4206, 2728, 2725, 87, 2712, 2713, + 87, 2715, 2724, 87, 2716, 87, 2730, 4206, 2717, 2718, + 87, 87, 2719, 2720, 87, 2722, 87, 2726, 87, 2723, + 87, 2729, 2728, 2725, 2733, 87, 2731, 2734, 2735, 2724, + 2727, 2736, 2732, 2730, 87, 87, 2737, 2740, 87, 2739, + 2738, 2747, 87, 2741, 2726, 87, 87, 87, 2729, 87, - 2740, 2746, 2751, 2755, 87, 2752, 87, 2754, 4172, 87, - 2757, 2759, 4172, 2756, 2741, 4172, 2758, 4172, 87, 2750, - 87, 2760, 2766, 4172, 2753, 2742, 2762, 87, 87, 2751, - 87, 87, 2752, 87, 2754, 87, 2763, 2764, 2759, 87, - 2756, 87, 87, 2758, 87, 2761, 2767, 2765, 2760, 2766, - 2769, 2768, 87, 2762, 2771, 2770, 2773, 2774, 87, 87, - 87, 87, 87, 2763, 2764, 2772, 2776, 2775, 87, 4172, - 87, 4172, 2761, 2767, 2765, 2782, 87, 2769, 2768, 87, - 87, 2771, 2770, 87, 2774, 2780, 2777, 2779, 87, 2778, - 87, 2781, 2772, 2776, 2775, 87, 87, 87, 2784, 87, + 2744, 2733, 2751, 2731, 87, 2735, 2743, 2727, 2736, 2732, + 87, 2742, 87, 87, 2740, 87, 2739, 2738, 2746, 87, + 2741, 2745, 2752, 87, 2748, 87, 87, 2744, 87, 175, + 2749, 2753, 2755, 2743, 87, 2750, 2756, 2754, 2742, 87, + 2757, 2758, 2759, 87, 87, 2746, 2760, 2763, 2745, 2764, + 87, 2748, 2765, 2769, 87, 87, 87, 4206, 2753, 2755, + 2761, 2767, 87, 2756, 2754, 87, 2766, 2757, 2758, 87, + 87, 2762, 87, 2760, 2763, 2768, 87, 2770, 87, 2765, + 2775, 87, 2773, 2771, 2772, 87, 2774, 2761, 2767, 87, + 87, 87, 2776, 2766, 2777, 2778, 87, 2780, 2762, 4206, - 87, 2783, 2782, 2785, 2786, 2791, 2790, 87, 87, 2787, - 87, 2788, 2780, 2777, 2779, 87, 2778, 87, 2781, 87, - 2796, 2789, 2794, 87, 2797, 2784, 2792, 2798, 2783, 87, - 87, 2786, 2791, 2790, 87, 2793, 2787, 87, 2788, 2795, - 2800, 87, 87, 2799, 2801, 87, 2805, 2802, 2789, 2794, - 2803, 2797, 87, 2792, 87, 87, 2804, 87, 2806, 87, - 2807, 2813, 2793, 87, 2808, 2811, 2795, 2800, 87, 2809, - 2799, 2801, 87, 87, 2802, 87, 2810, 2803, 87, 87, - 87, 2812, 2815, 2804, 87, 2806, 2814, 2807, 87, 87, - 2816, 2808, 2811, 2817, 2821, 2827, 2809, 2819, 2818, 2828, + 4206, 2779, 2768, 2782, 2770, 87, 87, 87, 87, 2773, + 2771, 2772, 87, 2774, 87, 2783, 2781, 2784, 87, 2776, + 87, 87, 2778, 87, 2780, 2786, 87, 2785, 2779, 2787, + 2782, 2788, 2793, 2791, 87, 2789, 2792, 87, 2790, 87, + 87, 87, 2783, 2781, 2784, 87, 87, 2794, 2797, 2795, + 2796, 87, 2786, 2800, 2785, 87, 2787, 87, 2788, 87, + 2791, 87, 2789, 2792, 2799, 2790, 2798, 87, 87, 2803, + 87, 2801, 87, 87, 2794, 2797, 2795, 2796, 2802, 87, + 2800, 2804, 2805, 87, 2806, 4206, 2807, 2808, 2810, 2809, + 87, 2799, 87, 2798, 87, 87, 2803, 87, 2801, 2811, - 2820, 4172, 87, 2810, 2822, 87, 2823, 87, 2812, 87, - 2824, 87, 87, 2814, 2837, 4172, 2825, 2816, 87, 2826, - 2817, 87, 87, 87, 2819, 2818, 87, 2820, 2829, 2830, - 87, 2822, 2831, 2823, 87, 2832, 87, 2824, 2833, 87, - 2834, 87, 87, 2825, 2835, 2836, 2826, 2838, 2840, 2839, - 87, 87, 2841, 87, 87, 2829, 2830, 87, 87, 2831, - 2842, 87, 2832, 87, 2844, 2833, 2843, 2834, 2845, 2846, - 2847, 2835, 2836, 2850, 87, 87, 2839, 2849, 87, 2841, - 2848, 2852, 2851, 87, 87, 2853, 87, 87, 2854, 2855, - 2858, 2844, 87, 2843, 2860, 87, 87, 2847, 87, 87, + 87, 2813, 87, 87, 2812, 2802, 2814, 87, 2804, 87, + 2816, 2806, 87, 2807, 2808, 2810, 2809, 2815, 2817, 2818, + 2819, 87, 2821, 87, 4206, 2820, 2811, 2822, 2813, 2825, + 2823, 2812, 87, 2814, 2824, 87, 87, 2826, 2827, 87, + 2829, 87, 87, 87, 2815, 2817, 2828, 2819, 87, 2821, + 2830, 87, 2820, 2832, 2822, 87, 87, 2823, 2831, 87, + 87, 2824, 87, 87, 2826, 2827, 2833, 2829, 2835, 2834, + 2836, 2837, 87, 2828, 2838, 2841, 2847, 2830, 2839, 87, + 2832, 2840, 87, 87, 2842, 2831, 2844, 2843, 87, 2845, + 2848, 4206, 2846, 87, 87, 87, 2834, 2836, 2837, 87, - 2850, 2857, 87, 87, 2849, 2856, 87, 2848, 87, 2851, - 2859, 2861, 2853, 87, 2862, 2854, 2855, 87, 87, 2863, - 87, 87, 2867, 87, 2864, 2868, 4172, 2865, 2857, 4172, - 2870, 2869, 2856, 87, 2873, 2871, 87, 2859, 2861, 2874, - 87, 2862, 2866, 87, 4172, 4172, 2863, 87, 87, 87, - 4172, 2864, 2868, 87, 2865, 87, 2872, 2870, 2869, 2875, - 2876, 87, 2871, 2877, 87, 2878, 87, 87, 2879, 2866, - 2880, 87, 87, 2881, 2884, 2882, 2885, 87, 2883, 4172, - 4172, 87, 87, 2872, 2893, 87, 2875, 2876, 4172, 4172, - 2877, 87, 2878, 2895, 2890, 2879, 87, 87, 2886, 87, + 2849, 2838, 87, 87, 87, 2839, 2850, 87, 2840, 2853, + 87, 2842, 87, 2844, 2843, 2854, 2845, 87, 2851, 2846, + 2855, 2856, 87, 2852, 87, 87, 2857, 2849, 87, 87, + 87, 2858, 2859, 2850, 87, 2860, 2853, 2861, 2862, 87, + 87, 2864, 2854, 2863, 2865, 2851, 87, 2855, 2856, 2866, + 2852, 2868, 2872, 87, 2867, 87, 2870, 4206, 87, 2859, + 2878, 4206, 87, 87, 2861, 87, 2869, 87, 2864, 87, + 2863, 87, 2873, 87, 2871, 2875, 87, 2874, 2868, 87, + 4206, 2867, 87, 2870, 87, 2877, 2876, 87, 87, 2879, + 87, 2880, 2882, 2869, 87, 87, 2881, 87, 2884, 2873, - 2881, 2884, 2882, 2885, 2891, 2883, 87, 2887, 2897, 2894, - 2896, 87, 2899, 87, 2888, 2889, 87, 87, 2892, 2898, - 2895, 2890, 87, 87, 87, 2886, 2900, 87, 87, 2901, - 87, 2891, 2902, 2903, 2887, 2897, 2894, 2896, 2907, 2899, - 4172, 2888, 2889, 4172, 4172, 2892, 2898, 2904, 2908, 4172, - 87, 2909, 4172, 2900, 2910, 87, 2901, 2911, 87, 2902, - 2903, 4172, 2905, 87, 2906, 2912, 2913, 87, 2915, 2922, - 87, 87, 2916, 87, 2904, 2908, 87, 2914, 2909, 87, - 87, 2910, 4172, 87, 2911, 2918, 87, 2917, 87, 2905, - 2921, 2906, 2912, 2913, 87, 2915, 2919, 2920, 2923, 2916, + 2883, 2871, 2875, 2887, 2874, 87, 2890, 87, 4206, 2885, + 2893, 2894, 2877, 2876, 87, 4206, 2879, 2889, 87, 2882, + 2888, 87, 87, 2881, 2886, 2884, 2891, 2883, 87, 87, + 87, 87, 2892, 2890, 2895, 87, 2885, 87, 87, 2899, + 87, 87, 2896, 87, 2889, 2897, 2898, 2888, 2900, 87, + 2902, 2886, 2901, 2891, 87, 2905, 2903, 87, 87, 2892, + 87, 2895, 87, 87, 2904, 2913, 2899, 2914, 4206, 2896, + 2911, 2906, 2897, 2898, 87, 87, 2916, 2902, 87, 2901, + 2907, 2910, 2905, 2903, 2912, 2915, 87, 2908, 2909, 87, + 2917, 2904, 87, 87, 2914, 87, 87, 2911, 2906, 87, - 2924, 87, 87, 4172, 2914, 2926, 87, 87, 2925, 2927, - 2938, 2928, 2918, 2929, 2917, 87, 2933, 2921, 87, 87, - 87, 2931, 2932, 2919, 2920, 2930, 2934, 2924, 2935, 87, - 87, 87, 2936, 87, 87, 2925, 2927, 87, 2928, 87, - 2929, 2937, 87, 2933, 87, 87, 87, 2939, 2931, 2932, - 87, 2940, 2930, 2934, 87, 2935, 2941, 2942, 2943, 2936, - 2944, 2945, 2946, 87, 87, 2948, 4172, 4172, 2937, 2949, - 2947, 2955, 2950, 2952, 87, 2951, 87, 2957, 2940, 87, - 2956, 87, 87, 2941, 2942, 2943, 87, 2944, 87, 2946, - 87, 87, 2948, 87, 87, 175, 2949, 2947, 2955, 2950, + 2918, 2919, 2922, 2916, 2921, 87, 2928, 2907, 2910, 87, + 2923, 2912, 2915, 87, 2908, 2909, 2927, 2917, 2920, 87, + 87, 87, 2929, 2924, 2930, 2933, 4206, 2918, 2919, 2922, + 87, 2921, 2931, 2928, 2932, 87, 87, 2923, 2925, 87, + 2926, 2936, 2935, 4206, 87, 2920, 87, 87, 87, 2929, + 2924, 2930, 2933, 2938, 87, 2939, 2934, 2937, 87, 2931, + 87, 2932, 87, 87, 2940, 2925, 2941, 2926, 2936, 2935, + 2942, 2943, 2946, 2944, 2947, 87, 4206, 87, 87, 87, + 2938, 2950, 2939, 2934, 2937, 2945, 87, 2948, 2949, 2951, + 87, 2940, 2952, 2941, 2958, 87, 87, 87, 4206, 87, - 2952, 87, 2951, 2953, 87, 2954, 2958, 2956, 2959, 2960, - 87, 2964, 2961, 2963, 4172, 2962, 2969, 2965, 87, 2966, - 4172, 2967, 87, 87, 2972, 2968, 87, 87, 87, 87, - 2953, 87, 2954, 2958, 87, 2959, 2960, 87, 2964, 2961, - 2963, 2970, 2962, 2969, 2965, 87, 2966, 87, 2967, 2971, - 2973, 87, 2968, 2974, 2975, 2980, 2976, 2977, 4172, 87, - 2981, 87, 2978, 2979, 87, 4172, 2983, 4172, 2970, 2985, - 2982, 4172, 2987, 3841, 3842, 2991, 2971, 87, 2984, 2986, - 87, 2975, 87, 2976, 87, 87, 87, 87, 87, 2978, - 2979, 87, 87, 87, 87, 87, 2985, 2982, 87, 2987, + 2944, 2947, 87, 87, 87, 2953, 2954, 2955, 2950, 87, + 2956, 2959, 2945, 87, 2948, 2949, 2951, 2957, 2960, 2952, + 2961, 2964, 2966, 87, 87, 87, 87, 87, 87, 2962, + 87, 2963, 2953, 2954, 2955, 2965, 2970, 2956, 87, 87, + 87, 87, 2967, 87, 2957, 2960, 2969, 2961, 2964, 2971, + 2968, 4206, 87, 2972, 87, 2973, 2962, 2974, 2963, 2977, + 2979, 87, 2965, 2970, 2978, 2975, 4206, 2976, 87, 2967, + 87, 87, 87, 2980, 87, 87, 2971, 2968, 87, 175, + 2972, 87, 2973, 2981, 2974, 87, 2977, 87, 2982, 2983, + 2984, 2978, 2975, 2986, 2976, 2987, 2985, 2989, 2988, 2993, - 2988, 2989, 87, 2990, 2992, 2984, 2986, 87, 2996, 87, - 2993, 2994, 2995, 87, 4172, 2999, 4172, 87, 2997, 2998, - 3003, 4172, 4172, 4172, 4172, 3000, 3002, 2988, 2989, 87, - 2990, 2992, 87, 87, 87, 87, 87, 2993, 2994, 2995, - 87, 87, 2999, 87, 3001, 2997, 2998, 87, 3004, 87, - 3005, 87, 3000, 3002, 3006, 3009, 3007, 3008, 3012, 3011, - 4172, 87, 87, 87, 87, 3010, 87, 3013, 87, 3014, - 3018, 3001, 87, 4172, 3015, 3004, 3016, 3005, 3017, 87, - 87, 3006, 3009, 3007, 3008, 3012, 3011, 3019, 87, 3021, - 87, 3023, 3010, 3024, 3020, 87, 3014, 3018, 87, 87, + 2980, 87, 2991, 2994, 87, 2990, 87, 87, 87, 87, + 2981, 87, 87, 87, 87, 2982, 2983, 2984, 2992, 2995, + 2986, 87, 2987, 2985, 2989, 2988, 2993, 87, 2996, 2991, + 87, 2997, 2990, 2998, 2999, 3001, 87, 3002, 87, 3000, + 3003, 3005, 4206, 3006, 4206, 2992, 87, 3004, 3013, 3007, + 4206, 3009, 3008, 4206, 4206, 87, 87, 87, 2997, 87, + 2998, 87, 3001, 87, 3012, 87, 3000, 87, 87, 87, + 3006, 3010, 87, 3011, 3004, 87, 3007, 87, 3009, 3008, + 87, 87, 3014, 3015, 87, 3016, 3018, 3017, 4206, 4206, + 87, 3012, 4206, 3019, 3020, 87, 3023, 3025, 3010, 3021, - 87, 3015, 87, 3016, 87, 3017, 3022, 3026, 87, 3027, - 3028, 87, 87, 3025, 3019, 4172, 3021, 3029, 87, 3031, - 3024, 3020, 3030, 3038, 87, 3032, 3033, 4172, 3034, 87, - 4172, 3036, 3035, 3022, 3026, 87, 87, 87, 87, 87, - 3025, 87, 87, 3037, 3029, 3039, 3031, 87, 3041, 3030, - 3038, 3043, 3032, 3033, 87, 3034, 87, 87, 3036, 3035, - 3040, 87, 3042, 3044, 3045, 3050, 3046, 87, 4172, 87, - 3037, 3051, 3039, 3047, 87, 3041, 3048, 3049, 87, 3054, - 87, 3055, 87, 87, 87, 87, 3052, 3040, 3056, 3042, - 3044, 87, 87, 3046, 87, 87, 3053, 87, 3051, 87, + 3011, 3022, 3024, 87, 3026, 87, 3035, 4206, 87, 3014, + 3015, 87, 3016, 87, 3017, 87, 87, 87, 87, 87, + 3019, 3020, 3027, 3023, 87, 87, 3021, 3028, 3022, 3024, + 3029, 3026, 3030, 3031, 87, 3032, 3033, 87, 87, 87, + 3036, 3040, 3034, 87, 87, 3037, 87, 3039, 3038, 3027, + 87, 4206, 3045, 4206, 3028, 4206, 3043, 3029, 87, 3030, + 3031, 87, 3032, 3033, 87, 3049, 3046, 3036, 3040, 3034, + 87, 87, 3037, 87, 3039, 3038, 3041, 3042, 87, 87, + 3044, 87, 3051, 3043, 87, 87, 87, 3047, 3048, 3050, + 3053, 3052, 3054, 3046, 4206, 4206, 3056, 87, 87, 3055, - 3047, 87, 3057, 3048, 3049, 3060, 3054, 87, 3055, 3061, - 3058, 87, 3062, 3052, 87, 3056, 87, 3059, 87, 87, - 3063, 3064, 3065, 3053, 3067, 3072, 3066, 4172, 4172, 3057, - 3068, 87, 3060, 87, 87, 3069, 3061, 3058, 3070, 3062, - 87, 87, 3075, 3073, 3059, 3076, 3074, 87, 87, 87, - 87, 3067, 3072, 3066, 87, 3071, 87, 3068, 87, 3077, - 87, 87, 3069, 87, 3078, 3070, 3079, 3080, 3081, 87, - 3073, 4172, 3076, 3074, 3082, 3083, 87, 87, 3084, 3085, - 87, 4172, 3071, 3086, 4172, 87, 3077, 3087, 3088, 3089, - 4172, 3078, 3096, 87, 3080, 3081, 87, 3095, 87, 87, + 3057, 87, 3058, 3041, 3042, 87, 3059, 3044, 87, 3051, + 87, 3061, 87, 3060, 3047, 3048, 87, 3053, 3052, 3054, + 3063, 87, 87, 3056, 87, 87, 3055, 3057, 87, 3058, + 87, 3062, 87, 3059, 3064, 87, 3065, 3066, 3061, 3067, + 3060, 4206, 3068, 3069, 3070, 3072, 87, 3063, 3077, 87, + 3073, 4206, 87, 3071, 3074, 4206, 3076, 87, 3062, 87, + 87, 3064, 87, 3075, 3066, 87, 87, 87, 87, 3068, + 3069, 3070, 87, 87, 87, 3077, 3078, 3073, 87, 3079, + 3071, 3074, 3082, 3076, 4206, 3080, 3081, 87, 87, 3083, + 3075, 87, 3084, 3085, 3086, 3087, 87, 3088, 4206, 3089, - 87, 87, 3083, 87, 3090, 3084, 3085, 3097, 87, 3091, - 3086, 87, 3092, 3093, 3087, 3088, 3089, 87, 3094, 87, - 87, 3098, 87, 87, 3095, 3099, 3102, 87, 3100, 87, - 87, 3090, 3101, 3103, 3097, 3106, 3091, 3104, 4172, 3092, - 3093, 3105, 87, 87, 3109, 3094, 87, 3110, 3098, 3111, - 87, 87, 3099, 3102, 87, 3100, 87, 87, 3107, 3101, - 3103, 87, 3106, 3108, 3104, 87, 87, 3112, 3105, 3113, - 87, 3109, 3114, 3115, 87, 4172, 3111, 3116, 3117, 3118, - 4172, 3119, 4172, 3120, 3123, 3107, 3121, 87, 87, 3126, - 3108, 87, 3128, 3130, 87, 87, 87, 3131, 3133, 87, + 4206, 3092, 87, 3078, 87, 3091, 3079, 3090, 3097, 3082, + 87, 87, 3080, 3081, 87, 3094, 3083, 4206, 87, 3084, + 87, 87, 3093, 87, 3088, 87, 3089, 87, 3092, 3095, + 87, 3096, 3091, 3099, 3090, 87, 3098, 3101, 3100, 87, + 3103, 3102, 3094, 3104, 87, 4206, 87, 87, 3105, 3093, + 87, 87, 87, 3106, 3107, 4206, 3095, 3108, 3096, 87, + 3099, 3109, 3110, 3098, 3111, 3100, 87, 3103, 3102, 87, + 87, 87, 3112, 87, 87, 3105, 3117, 3113, 87, 3118, + 3106, 3107, 87, 3119, 3108, 87, 87, 3116, 3109, 3110, + 87, 3111, 3114, 3115, 3121, 3122, 87, 4206, 3120, 3112, - 3115, 87, 87, 3122, 3116, 3117, 3118, 87, 3119, 87, - 3120, 3123, 87, 3121, 3124, 3125, 3126, 3127, 87, 87, - 87, 3132, 87, 3129, 87, 87, 3135, 3141, 87, 87, - 3122, 87, 3134, 3137, 3136, 3138, 3139, 87, 3140, 3143, - 87, 3124, 3125, 87, 3127, 87, 87, 87, 3132, 87, - 3129, 3142, 3152, 3135, 87, 3144, 87, 87, 3146, 3134, - 3137, 3136, 3138, 3139, 3145, 3140, 87, 3147, 3148, 87, - 87, 87, 87, 3150, 3149, 3151, 4172, 87, 3142, 3152, - 87, 87, 3144, 3153, 3156, 3146, 3154, 3155, 87, 3162, - 3158, 3145, 87, 4172, 3147, 3148, 87, 3157, 175, 87, + 87, 3123, 87, 3117, 3113, 87, 87, 87, 3124, 87, + 3119, 3125, 87, 3126, 3116, 3127, 3132, 3128, 3134, 3114, + 3115, 3121, 3122, 87, 87, 3120, 87, 3129, 3123, 3130, + 87, 3131, 3135, 87, 87, 3124, 87, 3133, 3125, 87, + 3126, 3136, 3127, 87, 3128, 87, 3137, 3138, 3139, 87, + 4206, 4206, 3141, 87, 3129, 3140, 3130, 87, 3131, 87, + 3142, 87, 3143, 3145, 3133, 3144, 3146, 4206, 87, 3147, + 87, 3150, 87, 3137, 3138, 3139, 87, 87, 87, 3141, + 87, 87, 3140, 3149, 3152, 3148, 87, 3142, 87, 3143, + 3145, 87, 3144, 3146, 87, 3151, 3147, 3153, 87, 3154, - 3150, 3149, 3151, 3159, 3161, 87, 3166, 4172, 87, 87, - 3153, 3156, 87, 3154, 3155, 3160, 87, 3158, 3163, 3164, - 87, 3165, 87, 3168, 3157, 3167, 87, 3169, 87, 3170, - 3159, 3161, 3171, 3166, 87, 3172, 4172, 3173, 4172, 3174, - 3175, 3176, 3160, 87, 87, 3163, 3164, 87, 3165, 87, - 87, 4172, 3167, 87, 87, 4172, 3170, 87, 87, 3171, - 3178, 3177, 3172, 87, 3173, 87, 3174, 3175, 3176, 87, - 3179, 3180, 87, 3181, 3182, 3183, 3184, 87, 87, 3185, - 87, 87, 87, 3186, 3187, 3192, 87, 3178, 3177, 3190, - 3188, 87, 4172, 3196, 87, 3189, 3191, 3179, 3180, 87, + 3155, 3156, 3158, 87, 4206, 3157, 3159, 3161, 3160, 3163, + 3149, 87, 3148, 87, 87, 87, 87, 87, 3166, 3164, + 4206, 4206, 3151, 4206, 87, 87, 3154, 87, 3156, 3158, + 87, 3162, 3157, 3159, 3161, 3160, 87, 87, 87, 3169, + 3165, 3167, 87, 3168, 3171, 87, 3164, 87, 3170, 3174, + 87, 87, 3172, 87, 3173, 3175, 3179, 87, 3162, 3176, + 87, 3178, 3177, 4206, 87, 4206, 3169, 3165, 3167, 4206, + 3168, 3171, 87, 3180, 87, 3170, 3174, 175, 87, 3172, + 3181, 3173, 3175, 3179, 87, 87, 3176, 87, 3178, 3177, + 3182, 3183, 87, 3184, 3185, 3186, 87, 3187, 87, 87, - 3181, 3182, 3183, 3184, 87, 3193, 3185, 3195, 87, 3194, - 3186, 3187, 87, 3197, 87, 87, 3190, 3188, 87, 87, - 87, 3198, 3189, 3191, 3199, 87, 3200, 3202, 3201, 3203, - 3204, 87, 3193, 87, 3195, 87, 3194, 87, 3206, 87, - 3197, 87, 3207, 3205, 3208, 3209, 3210, 87, 87, 87, - 87, 3199, 87, 3200, 3202, 3201, 3203, 3204, 3211, 3212, - 3216, 3215, 3217, 3218, 3221, 3206, 87, 87, 87, 3207, - 3205, 3208, 3209, 3210, 3213, 3214, 87, 4172, 3224, 3225, - 3223, 87, 87, 3219, 87, 87, 87, 87, 3215, 87, - 3220, 3221, 87, 87, 3234, 87, 3222, 3229, 3230, 87, + 3180, 87, 3188, 3190, 3192, 3191, 3189, 3181, 3193, 4206, + 3195, 4206, 3197, 3194, 4206, 4206, 87, 3182, 3183, 87, + 3184, 3185, 87, 3196, 3187, 87, 87, 87, 87, 3188, + 3190, 87, 3191, 3189, 3198, 87, 87, 3195, 87, 3197, + 3194, 87, 3199, 3200, 3201, 3202, 3203, 3204, 3206, 3205, + 3196, 87, 87, 87, 87, 87, 87, 87, 3207, 87, + 87, 3198, 3208, 3210, 4206, 87, 3214, 4206, 3216, 3199, + 3200, 3201, 3202, 3203, 3204, 3206, 3205, 3209, 3212, 3211, + 87, 3219, 3213, 3217, 87, 3207, 87, 87, 87, 3208, + 3210, 87, 87, 3214, 3215, 87, 87, 3218, 3220, 87, - 87, 3213, 3214, 3233, 87, 3224, 87, 3223, 3226, 3227, - 3219, 3228, 3231, 87, 87, 87, 87, 3220, 87, 87, - 3232, 87, 3236, 3222, 3229, 3230, 3235, 3238, 87, 3237, - 3233, 3240, 3239, 3242, 3241, 3226, 3227, 87, 3228, 3231, - 87, 87, 87, 3244, 3245, 3246, 3248, 3232, 3243, 87, - 87, 87, 87, 3235, 87, 3247, 3237, 3249, 87, 3239, - 3242, 3241, 87, 87, 3250, 3255, 87, 3251, 87, 3252, - 3244, 3245, 87, 3248, 87, 3243, 3253, 87, 3254, 87, - 3256, 3257, 3247, 87, 3249, 3259, 87, 87, 3258, 87, - 3260, 3250, 3255, 87, 3251, 3262, 3252, 87, 3261, 3263, + 3221, 3222, 87, 3223, 3209, 3212, 3211, 3224, 3219, 3213, + 3217, 3225, 87, 3226, 3227, 4206, 87, 87, 87, 4206, + 87, 3215, 3228, 3229, 3218, 87, 87, 3221, 87, 3231, + 3223, 87, 87, 87, 3224, 3230, 3232, 87, 3225, 3235, + 3226, 3227, 3233, 3236, 3234, 3237, 87, 3239, 3238, 3228, + 3229, 3240, 87, 3241, 3242, 4206, 3231, 87, 3243, 87, + 4206, 4206, 3230, 3232, 87, 87, 87, 87, 87, 3233, + 87, 3234, 3237, 3244, 3239, 3238, 3245, 3247, 87, 3246, + 87, 3249, 87, 3248, 3250, 3243, 87, 87, 87, 3251, + 87, 87, 3252, 3253, 3255, 3256, 87, 3254, 3257, 87, - 3265, 3264, 3267, 3253, 3272, 3254, 87, 87, 3257, 3266, - 87, 87, 87, 87, 4172, 3258, 3268, 3260, 87, 3269, - 3270, 87, 3262, 3271, 4172, 3261, 3263, 3265, 3264, 87, - 87, 87, 87, 87, 87, 87, 3266, 3273, 3274, 3275, - 3276, 3277, 3280, 3268, 3282, 3278, 3269, 3270, 3279, 87, - 3271, 87, 87, 3281, 4172, 87, 87, 3286, 3283, 87, - 87, 87, 3287, 3284, 3273, 3274, 3275, 3276, 3277, 3280, - 3285, 87, 3278, 87, 3288, 3279, 3289, 3290, 3291, 3293, - 3281, 87, 87, 87, 3286, 3283, 3295, 3292, 3294, 87, - 3284, 3297, 3298, 87, 87, 87, 87, 3285, 87, 87, + 3244, 87, 3258, 3245, 3247, 87, 3246, 3259, 87, 87, + 3248, 3250, 3260, 87, 3262, 3264, 3251, 87, 3261, 3252, + 3253, 3255, 3256, 87, 3254, 3257, 87, 3263, 3265, 87, + 3266, 3269, 87, 3267, 3259, 87, 3268, 3270, 87, 87, + 3271, 87, 87, 87, 3272, 3261, 87, 87, 87, 3275, + 3273, 3274, 3277, 87, 3263, 3265, 87, 3266, 3269, 87, + 3267, 3276, 3279, 3268, 87, 3278, 87, 3271, 3280, 87, + 3281, 3272, 87, 87, 87, 3282, 3275, 3273, 3274, 3277, + 3283, 3285, 87, 3284, 87, 3291, 87, 3292, 3276, 3279, + 3286, 3287, 3278, 87, 3288, 87, 4206, 3281, 3289, 87, - 3300, 3288, 3296, 87, 3290, 3291, 3293, 3299, 87, 3301, - 87, 3302, 87, 87, 3292, 3294, 3303, 87, 3297, 3298, - 3307, 3304, 3305, 87, 3306, 87, 3308, 87, 3310, 3296, - 87, 4172, 3309, 87, 3299, 3311, 3301, 3313, 3302, 87, - 87, 3312, 87, 3303, 87, 3314, 3315, 87, 3304, 3305, - 87, 3306, 3316, 3308, 3319, 87, 3317, 87, 3318, 3309, - 87, 3323, 3311, 87, 3313, 87, 87, 87, 3312, 3320, - 3321, 3324, 3314, 3315, 87, 3322, 3329, 87, 3325, 3316, - 3332, 3319, 3326, 3317, 3327, 3318, 3331, 87, 87, 87, - 3330, 87, 87, 3328, 87, 3333, 3320, 3321, 87, 3334, + 3290, 87, 3282, 87, 3296, 4206, 87, 87, 3285, 4206, + 3284, 4206, 87, 87, 3292, 3293, 3294, 3286, 3287, 87, + 3295, 3288, 3301, 87, 3299, 3289, 3302, 3290, 3300, 87, + 87, 87, 87, 87, 3297, 3298, 87, 87, 3303, 3304, + 3306, 3307, 3293, 3294, 87, 3305, 87, 3295, 87, 3301, + 3309, 3299, 87, 3302, 3310, 3300, 87, 3308, 87, 3311, + 3313, 3297, 3298, 3312, 4206, 3303, 3304, 87, 3307, 3314, + 3315, 87, 3305, 87, 3316, 87, 3318, 3309, 3317, 3319, + 87, 3310, 3321, 87, 3308, 87, 87, 87, 87, 3320, + 3312, 87, 3322, 87, 3323, 87, 3314, 3315, 3324, 87, - 87, 87, 3322, 175, 87, 3325, 87, 3332, 87, 3326, - 87, 3327, 3335, 3331, 3336, 3337, 3340, 3330, 3338, 3341, - 3328, 3339, 3333, 3342, 3345, 3343, 3344, 3346, 87, 3353, - 3348, 87, 3347, 87, 87, 3349, 87, 87, 87, 3335, - 87, 3336, 3337, 3340, 87, 3338, 87, 87, 3339, 3350, - 87, 3345, 3343, 3344, 87, 3351, 87, 3352, 3354, 3347, - 4172, 87, 87, 3361, 3355, 3356, 3358, 3360, 3362, 3359, - 87, 87, 3357, 87, 3364, 3363, 3350, 87, 87, 3365, - 3368, 87, 3351, 3366, 3352, 3354, 87, 87, 87, 87, - 87, 3355, 3356, 3358, 3360, 87, 3359, 87, 3367, 3357, + 3325, 3316, 3328, 3318, 3326, 3317, 87, 3331, 87, 3321, + 87, 3334, 3327, 4206, 87, 3329, 3320, 3330, 87, 3322, + 87, 3323, 4206, 3332, 3333, 87, 87, 3325, 3337, 3328, + 87, 3326, 3335, 87, 87, 87, 87, 3339, 87, 3327, + 3336, 87, 3329, 3338, 3330, 3340, 3343, 3345, 3341, 3342, + 3332, 3333, 3344, 87, 87, 3337, 87, 3348, 87, 3335, + 87, 3346, 87, 3349, 3339, 87, 87, 3336, 87, 87, + 3338, 3350, 3340, 3343, 3345, 3341, 3342, 3347, 87, 3344, + 3351, 3352, 4206, 87, 87, 3355, 3354, 3353, 3346, 87, + 87, 3356, 3358, 87, 87, 3357, 3359, 3360, 3350, 3361, - 87, 3364, 3363, 87, 87, 3370, 87, 3368, 3369, 3371, - 3366, 3372, 3373, 4172, 3374, 4172, 3375, 4172, 3377, 3376, - 87, 87, 3378, 87, 3379, 3367, 3380, 87, 87, 3383, - 3381, 87, 3370, 87, 87, 3369, 3371, 87, 3372, 3373, - 87, 3374, 3384, 3375, 87, 3377, 3376, 87, 3385, 3378, - 3382, 3379, 87, 3386, 3389, 3387, 87, 3381, 87, 87, - 87, 87, 87, 87, 3388, 3390, 3391, 3395, 3392, 3384, - 3393, 3396, 87, 3394, 87, 3385, 3398, 3382, 3397, 87, - 3386, 87, 3387, 3402, 3404, 87, 87, 3406, 87, 87, - 87, 3388, 3390, 3391, 3395, 3392, 3399, 3393, 3396, 87, + 3367, 87, 87, 3362, 3347, 87, 3364, 3351, 3352, 87, + 3368, 87, 175, 3354, 3353, 3363, 3366, 87, 3356, 3358, + 3370, 87, 3357, 3359, 3365, 87, 3361, 87, 87, 87, + 3362, 3369, 87, 3364, 87, 3371, 87, 87, 87, 3372, + 3373, 3374, 3363, 3366, 4206, 4206, 3375, 3370, 87, 3376, + 3377, 3365, 3378, 87, 3379, 3380, 4206, 3383, 3369, 3387, + 3388, 3381, 3371, 3382, 87, 87, 87, 3373, 3384, 4206, + 3385, 87, 87, 87, 3389, 87, 3376, 3377, 87, 3378, + 87, 3386, 3380, 87, 3383, 87, 87, 87, 3381, 87, + 3382, 87, 87, 3391, 3390, 3384, 87, 3385, 3392, 3394, - 3394, 3400, 3401, 87, 87, 3397, 3407, 87, 3403, 87, - 3402, 87, 3405, 87, 87, 3410, 3408, 3409, 3411, 87, - 3412, 3413, 3414, 3399, 87, 4172, 87, 3419, 3400, 3401, - 3415, 87, 87, 3416, 3420, 3403, 3417, 3418, 87, 3405, - 3423, 87, 87, 3408, 3409, 87, 3421, 3422, 87, 3414, - 3424, 87, 87, 87, 87, 87, 87, 3415, 87, 87, - 3416, 3420, 3426, 3417, 3418, 3427, 3425, 3423, 3428, 87, - 3429, 3430, 3435, 3421, 3422, 3433, 4172, 87, 87, 87, - 87, 3431, 3432, 3434, 3437, 87, 3438, 87, 87, 3426, - 87, 3439, 3427, 3425, 87, 3428, 3440, 3429, 3430, 87, + 3393, 3389, 3395, 4206, 3399, 4206, 3396, 4206, 3386, 87, + 3397, 4206, 3398, 87, 3403, 3406, 3400, 87, 87, 4206, + 87, 3390, 87, 87, 3401, 3392, 3394, 3393, 87, 3395, + 87, 3399, 87, 3396, 87, 3402, 3404, 3397, 3405, 3398, + 87, 3403, 87, 3400, 3407, 3409, 3408, 87, 3410, 3411, + 4206, 3401, 3412, 87, 87, 87, 3414, 87, 3415, 87, + 3413, 87, 3402, 3404, 87, 3405, 87, 87, 3416, 87, + 3417, 3407, 3418, 3408, 3419, 3410, 3411, 87, 87, 3412, + 3420, 3421, 3422, 3414, 3423, 87, 3424, 3413, 87, 3429, + 87, 3426, 87, 87, 3425, 3416, 87, 3417, 3427, 3418, - 87, 3443, 3433, 3436, 3441, 87, 3442, 87, 3431, 3432, - 3434, 87, 3445, 87, 3444, 3447, 3454, 3446, 87, 87, - 3448, 87, 3449, 3440, 87, 3453, 87, 3455, 87, 3450, - 3436, 3441, 87, 3442, 87, 3451, 87, 87, 3452, 3445, - 3456, 3444, 87, 87, 3446, 87, 3457, 87, 3460, 3449, - 3458, 87, 3453, 3462, 87, 3459, 3450, 3461, 3463, 3465, - 87, 3464, 3451, 3467, 87, 3452, 87, 87, 3471, 87, - 87, 3466, 3469, 3457, 3472, 87, 3470, 3458, 3468, 3473, - 3462, 87, 3459, 87, 3461, 87, 87, 87, 3464, 87, - 87, 3474, 87, 3476, 3477, 3484, 3475, 3478, 3466, 3469, + 87, 3419, 87, 87, 3428, 87, 87, 3420, 3421, 3422, + 3430, 3423, 87, 87, 3432, 3431, 3429, 87, 3426, 3433, + 3435, 3425, 3434, 3436, 3438, 3427, 3437, 3439, 87, 87, + 87, 3428, 3441, 3440, 87, 3442, 4206, 87, 3445, 3446, + 3443, 3444, 3431, 4206, 4206, 3450, 87, 3435, 3447, 3434, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 3441, + 3440, 3449, 3442, 87, 3448, 3451, 3446, 3443, 3444, 3452, + 87, 87, 87, 87, 87, 3447, 3453, 87, 3454, 3456, + 3455, 3457, 3459, 3458, 3461, 4206, 3463, 87, 3449, 87, + 3460, 3448, 3451, 87, 87, 87, 3452, 3464, 87, 3465, - 87, 87, 87, 3470, 3479, 3468, 3473, 3481, 3482, 3480, - 3485, 87, 3486, 3487, 3483, 87, 87, 87, 3589, 87, - 3476, 87, 3484, 87, 3478, 3488, 87, 87, 3489, 3490, - 3491, 3492, 4172, 4172, 3481, 3482, 87, 3495, 3496, 3493, - 87, 3483, 87, 3494, 87, 87, 3498, 3497, 3503, 4172, - 87, 87, 3488, 87, 3501, 3489, 87, 87, 3492, 87, - 3502, 87, 87, 3506, 3495, 3496, 3493, 3499, 3500, 87, - 3494, 87, 87, 3498, 3497, 87, 87, 87, 3504, 3505, - 3507, 3501, 3512, 3511, 3510, 87, 3518, 3502, 3508, 4172, - 87, 87, 87, 87, 3499, 3500, 3509, 87, 3513, 3515, + 87, 87, 3466, 3453, 3468, 3454, 3456, 3455, 3457, 3459, + 3458, 87, 87, 87, 3462, 3467, 3469, 3460, 87, 3472, + 3470, 3475, 87, 3471, 87, 87, 87, 87, 3473, 3466, + 3480, 3468, 3476, 3474, 87, 3479, 87, 87, 3481, 87, + 3482, 3462, 3467, 87, 3477, 87, 3472, 3470, 3475, 3478, + 3471, 87, 3484, 3483, 3485, 3486, 87, 87, 4206, 3476, + 87, 87, 3479, 3487, 3489, 87, 87, 87, 87, 3490, + 3491, 3477, 87, 3493, 3492, 3494, 3478, 87, 3488, 3484, + 3483, 3485, 87, 3495, 3497, 87, 87, 3498, 3499, 87, + 3487, 87, 87, 3496, 3500, 87, 3490, 87, 3502, 3504, - 3517, 87, 3519, 3514, 3516, 3504, 3505, 3507, 87, 3512, - 3511, 3510, 87, 87, 3520, 3508, 3521, 4172, 3522, 4172, - 3523, 3524, 4172, 3509, 3527, 87, 3530, 3517, 87, 3519, - 87, 87, 87, 3525, 3528, 4172, 3531, 3529, 4172, 87, - 87, 3520, 87, 3521, 87, 3522, 87, 3523, 3524, 3526, - 3533, 3527, 87, 3530, 3532, 87, 87, 87, 87, 3535, - 3525, 3528, 87, 3531, 3529, 3534, 87, 3536, 3537, 3538, - 3539, 3542, 87, 3541, 87, 87, 3526, 3533, 3540, 3545, - 3543, 3532, 3544, 87, 3546, 87, 3535, 3548, 87, 3551, - 3547, 3550, 3534, 3549, 3536, 3537, 87, 87, 87, 87, + 87, 3492, 3494, 3503, 3505, 3488, 87, 3501, 4206, 3513, + 3495, 87, 3509, 3506, 87, 87, 87, 87, 3510, 87, + 3496, 3500, 3507, 87, 3511, 87, 3504, 3508, 3512, 3514, + 87, 87, 3515, 3517, 3501, 87, 87, 4206, 3518, 3509, + 3506, 87, 3516, 3519, 87, 3510, 3520, 3521, 3523, 87, + 4206, 3511, 3522, 3525, 87, 3512, 87, 3524, 4206, 87, + 3517, 87, 3526, 3529, 87, 87, 3531, 87, 87, 3516, + 87, 87, 87, 3520, 3521, 3523, 3532, 87, 3530, 3522, + 3525, 3527, 3528, 87, 3524, 87, 3533, 87, 87, 3526, + 3529, 87, 3534, 87, 3535, 3540, 3536, 3538, 3539, 87, - 3541, 87, 87, 3552, 87, 3540, 3545, 3543, 3553, 3544, - 87, 87, 3554, 87, 87, 3555, 87, 3547, 3550, 3556, - 3549, 87, 3557, 3558, 3559, 3560, 87, 3561, 3562, 4172, - 3552, 87, 3564, 87, 3565, 3553, 87, 87, 3566, 87, - 3563, 87, 3555, 3567, 87, 87, 3556, 3569, 87, 3557, - 87, 87, 3560, 3572, 3561, 3562, 87, 3568, 3575, 3564, - 3570, 3565, 3573, 3571, 3574, 87, 3577, 3563, 4172, 3578, - 87, 87, 87, 3576, 3569, 87, 87, 3579, 87, 3580, - 3572, 87, 87, 3582, 3568, 3575, 87, 3570, 87, 3573, - 3571, 3574, 3581, 3577, 3583, 87, 3578, 3586, 3587, 87, + 3546, 3617, 3547, 3532, 3537, 3530, 87, 87, 3527, 3528, + 87, 3541, 3543, 3533, 87, 3548, 3542, 3544, 3545, 87, + 87, 3535, 3540, 3536, 3538, 3539, 87, 87, 87, 3547, + 3549, 3537, 3550, 87, 3551, 3552, 3555, 87, 3558, 4206, + 4206, 87, 3548, 87, 87, 3545, 87, 3553, 3554, 3556, + 3557, 87, 4206, 4206, 3562, 87, 87, 3549, 87, 3550, + 87, 3551, 3552, 3555, 3559, 3558, 3561, 87, 3566, 87, + 87, 3560, 87, 3563, 3553, 3554, 3556, 3557, 3564, 87, + 87, 3562, 3565, 3567, 3568, 87, 87, 3569, 87, 87, + 3570, 3559, 3571, 3561, 3572, 87, 3574, 3573, 3560, 87, - 3576, 3584, 3585, 87, 3579, 87, 87, 87, 3588, 3592, - 87, 87, 3590, 3591, 3593, 87, 3594, 3595, 3596, 3581, - 3598, 3583, 4172, 87, 87, 87, 87, 87, 3584, 3585, - 3599, 87, 87, 87, 3600, 3588, 3592, 3601, 3597, 3590, - 3591, 3593, 87, 3594, 87, 3596, 3602, 3598, 3605, 87, - 3603, 3604, 87, 3606, 3609, 87, 3607, 3599, 3610, 3608, - 87, 3600, 87, 87, 3601, 3597, 87, 87, 87, 3611, - 3612, 3618, 3613, 3602, 3619, 3605, 4172, 3603, 3604, 87, - 3606, 87, 87, 3607, 3614, 87, 3608, 3615, 87, 4172, - 3616, 87, 3622, 3617, 3620, 87, 87, 3612, 87, 3613, + 3563, 3576, 3575, 3578, 3579, 3564, 87, 3582, 87, 3565, + 87, 3568, 3577, 87, 3569, 3580, 87, 87, 87, 3571, + 3581, 3572, 87, 87, 3573, 87, 3583, 3584, 87, 3575, + 3578, 87, 3585, 87, 87, 3586, 3587, 3588, 87, 3577, + 3589, 87, 3580, 3590, 87, 87, 4206, 3581, 3593, 3591, + 3623, 87, 3594, 3583, 3584, 87, 3592, 3595, 87, 3585, + 87, 3597, 87, 87, 3588, 87, 3596, 3589, 87, 3598, + 3590, 3600, 3608, 3599, 4206, 3593, 3591, 3601, 3603, 87, + 87, 87, 87, 3592, 87, 87, 3602, 3604, 3597, 3605, + 3607, 3610, 4206, 3596, 87, 3606, 3598, 3609, 3600, 87, - 3621, 87, 3626, 87, 3623, 3628, 3625, 3630, 3624, 3627, - 4172, 3614, 87, 87, 3615, 87, 87, 3616, 87, 87, - 3617, 3620, 87, 87, 87, 3631, 3629, 3621, 87, 3626, - 3634, 3623, 3632, 3625, 87, 3624, 3627, 87, 3633, 3635, - 3639, 4172, 3638, 3636, 4172, 3643, 3637, 87, 87, 87, - 3640, 4172, 3631, 3629, 87, 87, 87, 3634, 87, 3632, - 87, 3641, 3642, 3644, 87, 3633, 3635, 87, 87, 3638, - 3636, 3645, 3643, 3637, 3647, 87, 87, 3640, 3646, 3650, - 3648, 87, 87, 3652, 3649, 3651, 87, 3654, 3641, 3642, - 3644, 87, 87, 87, 87, 3653, 87, 3656, 3645, 3655, + 3599, 87, 87, 87, 3601, 3603, 3611, 87, 87, 87, + 87, 3613, 87, 3602, 3604, 3614, 3605, 3607, 87, 87, + 87, 3612, 3606, 87, 3609, 3615, 3616, 3619, 3618, 87, + 3622, 3621, 3624, 3611, 3620, 3625, 4206, 87, 3613, 3628, + 4206, 87, 87, 87, 87, 3626, 3627, 87, 3612, 87, + 4206, 3629, 87, 3616, 3619, 3618, 87, 3622, 3621, 3624, + 3630, 3620, 3625, 3631, 3632, 87, 3628, 87, 87, 87, + 3633, 3635, 3626, 3627, 3634, 4206, 3636, 87, 3629, 3637, + 3638, 3639, 87, 3640, 87, 87, 87, 3630, 87, 3642, + 3631, 3632, 3643, 3641, 3647, 3646, 87, 3633, 3635, 87, - 87, 3647, 87, 3657, 3661, 3646, 3650, 3648, 3658, 87, - 3652, 3649, 3651, 87, 3654, 3659, 87, 87, 3662, 3663, - 3660, 3664, 3653, 3665, 87, 3666, 3655, 3667, 3673, 87, - 87, 3661, 3668, 3669, 3670, 3658, 3672, 87, 3671, 87, - 3676, 3678, 4172, 87, 87, 3662, 87, 87, 87, 87, - 3665, 3675, 3666, 3680, 87, 87, 87, 3674, 87, 3668, - 3669, 3670, 3677, 3672, 87, 3671, 87, 3679, 87, 87, - 3681, 3682, 87, 3684, 3685, 87, 3683, 87, 3675, 87, - 3680, 87, 87, 87, 3674, 3686, 3688, 87, 3687, 3677, - 3689, 3691, 3692, 3690, 3679, 87, 87, 3681, 3682, 3693, + 3648, 3634, 87, 3636, 3644, 3645, 3637, 87, 87, 4206, + 87, 87, 87, 87, 3649, 3650, 3642, 87, 3651, 3643, + 3641, 3652, 3646, 3653, 3655, 3657, 87, 87, 3654, 3659, + 87, 3644, 3645, 3663, 87, 3656, 87, 87, 87, 3661, + 3660, 3649, 3650, 3662, 87, 87, 87, 3658, 3652, 87, + 3653, 3655, 3668, 4206, 4206, 3654, 87, 87, 3685, 87, + 3663, 87, 3656, 87, 3664, 87, 3661, 3660, 3665, 3666, + 3662, 3667, 87, 3669, 3658, 3670, 3671, 3674, 87, 87, + 87, 87, 3672, 3673, 3675, 87, 3677, 87, 87, 87, + 87, 3664, 87, 3676, 4206, 3665, 3666, 3681, 3667, 3678, - 3684, 3685, 87, 3683, 3694, 3695, 87, 3697, 87, 87, - 3698, 3696, 3686, 3688, 87, 3687, 87, 3689, 87, 3699, - 3690, 3700, 3701, 3702, 87, 3704, 3693, 87, 3707, 87, - 3709, 3708, 3695, 87, 3697, 3705, 87, 87, 3696, 87, - 3706, 87, 3703, 3711, 3710, 87, 87, 87, 3700, 3701, - 87, 87, 3704, 87, 3712, 3713, 3714, 3709, 3708, 3718, - 87, 3715, 3705, 3716, 3722, 3717, 3719, 3706, 87, 3703, - 87, 3710, 3720, 87, 87, 3721, 87, 3723, 3725, 87, - 3726, 3712, 87, 3714, 3724, 87, 3718, 87, 3715, 87, - 3716, 87, 3717, 3719, 3727, 3728, 87, 87, 3729, 3720, + 3669, 87, 3670, 3671, 3674, 87, 87, 3679, 87, 3672, + 3673, 3675, 87, 3677, 3680, 3682, 3683, 3684, 87, 3686, + 3676, 87, 87, 87, 3681, 87, 3678, 3687, 3691, 3692, + 3693, 3688, 3690, 87, 3679, 87, 3689, 3696, 3695, 3699, + 3697, 3680, 3682, 3683, 3684, 87, 87, 3694, 3701, 87, + 87, 87, 3702, 87, 3687, 3691, 87, 87, 3698, 3690, + 3700, 87, 3705, 87, 87, 3695, 3699, 3697, 3704, 87, + 87, 87, 3706, 3703, 3694, 3701, 87, 3707, 3710, 87, + 87, 3708, 4206, 3709, 3711, 3698, 87, 3700, 3713, 87, + 87, 87, 3712, 3714, 87, 3704, 87, 3715, 87, 3706, - 3731, 3730, 3721, 3734, 87, 4172, 3736, 3726, 87, 87, - 87, 3724, 3735, 3732, 3733, 87, 87, 3737, 3739, 87, - 87, 3727, 87, 87, 3738, 3729, 3740, 87, 3730, 3742, - 87, 3741, 87, 3736, 87, 3743, 3744, 3745, 87, 3735, - 3732, 3733, 87, 3746, 3737, 87, 3747, 87, 3749, 3748, - 3750, 3738, 3751, 3740, 3752, 3753, 3742, 3754, 3741, 87, - 3755, 87, 87, 87, 87, 87, 3756, 87, 3757, 3758, - 3746, 87, 87, 3747, 87, 87, 3748, 87, 3759, 87, - 3761, 3752, 3753, 3760, 87, 3762, 3764, 3755, 3769, 3763, - 3765, 87, 87, 3756, 87, 87, 3758, 87, 3766, 3768, + 3703, 3716, 3720, 3717, 87, 3710, 87, 3718, 3708, 87, + 3709, 3711, 87, 87, 3719, 3713, 3721, 3723, 3722, 3712, + 3714, 87, 3736, 87, 3715, 87, 4206, 87, 3716, 87, + 3717, 3724, 3725, 3727, 3718, 3726, 87, 87, 3728, 3729, + 3730, 3719, 3731, 3735, 4206, 3722, 3734, 87, 87, 87, + 87, 87, 3733, 87, 87, 3737, 3738, 3740, 3724, 3725, + 87, 3732, 3726, 87, 87, 87, 3729, 3730, 87, 87, + 3735, 87, 3741, 3734, 3739, 3742, 3743, 3744, 3748, 3733, + 3747, 87, 3737, 3738, 87, 3745, 87, 3746, 3732, 87, + 3752, 3749, 3753, 87, 3751, 3755, 3754, 87, 87, 3741, - 87, 3767, 3770, 87, 87, 87, 3775, 87, 3773, 87, - 3760, 3776, 87, 3764, 87, 3769, 3763, 3765, 3771, 87, - 3774, 87, 3772, 3779, 87, 3766, 3768, 87, 3767, 87, - 87, 3780, 3777, 3775, 3778, 3773, 3781, 3782, 87, 87, - 3783, 87, 3785, 87, 3784, 3771, 3786, 3774, 3787, 3772, - 87, 87, 87, 3797, 87, 87, 3790, 3791, 3780, 3777, - 3788, 3778, 3789, 3781, 3782, 87, 3793, 87, 3792, 3785, - 87, 3784, 87, 3786, 87, 3794, 3795, 3796, 87, 87, - 87, 3798, 3799, 3790, 3791, 87, 3800, 3788, 3801, 3789, - 87, 3803, 3802, 87, 3804, 3792, 87, 4172, 87, 87, + 4206, 3739, 3742, 87, 3744, 3748, 87, 3747, 3750, 87, + 3757, 87, 3745, 3758, 3746, 87, 87, 3756, 3749, 87, + 87, 3751, 87, 3754, 3759, 3760, 87, 87, 3761, 3762, + 3763, 3764, 87, 87, 3765, 3750, 3766, 3757, 3769, 87, + 87, 3767, 3770, 87, 3756, 87, 87, 3773, 3768, 87, + 87, 3759, 3760, 3771, 3772, 3774, 3762, 3763, 87, 3775, + 87, 3765, 87, 3766, 87, 87, 3776, 3778, 3767, 3770, + 3777, 3779, 87, 3780, 87, 3768, 3781, 3782, 3783, 3784, + 3771, 3772, 87, 87, 87, 3785, 87, 3787, 87, 87, + 3786, 87, 4206, 3776, 3778, 87, 3788, 3777, 87, 87, - 3805, 87, 87, 3795, 3796, 3806, 3807, 87, 3798, 3799, - 87, 3808, 87, 87, 87, 3801, 87, 4172, 3803, 3802, - 3809, 3804, 3810, 3811, 3812, 3824, 87, 3805, 87, 3813, - 4172, 87, 3806, 3807, 3814, 87, 3816, 87, 3808, 3815, - 3821, 87, 3817, 87, 87, 87, 87, 3809, 3822, 3810, - 3811, 3812, 3820, 87, 3818, 3819, 3813, 87, 87, 3827, - 3828, 3814, 87, 3816, 87, 3823, 3815, 3821, 3825, 3817, - 87, 3826, 87, 3829, 87, 3822, 3830, 3832, 87, 3820, - 4172, 3818, 3819, 87, 3831, 3834, 3827, 3828, 3833, 87, - 87, 3835, 3823, 3836, 3837, 3825, 3838, 3839, 3826, 3845, + 87, 3789, 3790, 87, 3782, 3783, 87, 3791, 3792, 3794, + 3800, 3795, 3785, 87, 3793, 87, 87, 3786, 87, 87, + 3796, 3798, 87, 3788, 3797, 87, 87, 3799, 87, 3790, + 3801, 87, 87, 3803, 87, 87, 3794, 87, 3795, 3806, + 3805, 3793, 3802, 3809, 4206, 3804, 87, 3796, 3798, 3807, + 87, 3797, 87, 87, 3799, 3808, 87, 3801, 87, 3812, + 3803, 3810, 87, 3813, 3811, 3817, 87, 3805, 4206, 3802, + 87, 87, 3804, 3814, 87, 3815, 3807, 3819, 3816, 3820, + 87, 3821, 3808, 3818, 87, 87, 3812, 87, 3810, 3823, + 87, 3811, 3824, 3822, 3826, 87, 3825, 87, 87, 87, - 87, 87, 3848, 87, 3832, 3851, 3840, 87, 87, 3849, - 87, 3831, 87, 87, 87, 3833, 3843, 3844, 3835, 3850, - 3836, 87, 3853, 3838, 87, 87, 87, 3846, 3847, 3848, - 3852, 87, 87, 3840, 3854, 87, 3849, 87, 3855, 87, - 3856, 3857, 3858, 3859, 3861, 87, 3850, 4172, 3862, 3853, - 3863, 3860, 3864, 3865, 3867, 3868, 87, 3852, 4172, 87, - 87, 87, 87, 3866, 87, 87, 3870, 3871, 87, 3872, - 3859, 87, 87, 87, 87, 87, 87, 3863, 3860, 3864, - 3865, 87, 3868, 3873, 3869, 87, 3874, 87, 3875, 3876, - 3866, 87, 87, 3870, 3871, 3877, 3872, 87, 87, 3878, + 3814, 87, 3815, 87, 3819, 3816, 3820, 87, 3821, 3827, + 3818, 3828, 3829, 3830, 4206, 3831, 87, 3832, 87, 87, + 3822, 3826, 3833, 3825, 3834, 4206, 87, 3836, 87, 87, + 3835, 87, 3842, 3838, 87, 3839, 3837, 87, 3828, 3829, + 87, 87, 3831, 87, 3832, 3843, 3840, 87, 4206, 3833, + 87, 3834, 87, 87, 3836, 87, 3841, 3835, 3844, 3842, + 3838, 87, 3839, 3837, 87, 87, 87, 3845, 3846, 3847, + 3848, 3852, 3843, 3840, 87, 87, 3849, 3850, 87, 3853, + 3854, 87, 3851, 3841, 3855, 3844, 87, 87, 87, 4206, + 3856, 3858, 3857, 87, 3845, 3846, 3847, 3848, 3852, 87, - 3879, 87, 3880, 3881, 3882, 3883, 3887, 3884, 3885, 3888, - 3873, 3869, 87, 3874, 87, 3875, 3876, 87, 87, 3886, - 87, 3891, 3877, 3892, 87, 87, 87, 3879, 87, 3880, - 87, 87, 87, 3887, 3884, 3885, 3888, 3889, 3894, 3893, - 3895, 87, 3890, 4172, 87, 3898, 3886, 3897, 3896, 3899, - 3892, 87, 3900, 87, 4172, 87, 3901, 3902, 3904, 3903, - 3905, 3907, 87, 3906, 3908, 3894, 3893, 3895, 4172, 87, - 87, 87, 87, 87, 3897, 3896, 87, 3909, 3911, 3900, - 87, 87, 3912, 87, 87, 3904, 3903, 87, 87, 3910, - 3906, 87, 3913, 3914, 3915, 87, 3916, 3917, 87, 3918, + 3859, 87, 3860, 3849, 3850, 3861, 3853, 3854, 3862, 3851, + 3863, 3864, 87, 3865, 87, 87, 87, 3856, 3858, 3857, + 3866, 3868, 87, 3870, 3869, 3876, 3867, 3859, 4206, 87, + 3882, 87, 87, 87, 87, 3862, 87, 3863, 3864, 3879, + 87, 3871, 87, 3874, 3875, 3877, 3878, 3866, 87, 87, + 87, 3869, 87, 3867, 3880, 3881, 3883, 87, 3884, 3885, + 3886, 3887, 87, 3888, 3889, 87, 3879, 3892, 3871, 4206, + 3890, 87, 87, 87, 87, 3893, 87, 3894, 3891, 3897, + 3898, 3880, 3881, 3883, 3895, 3884, 87, 87, 4206, 87, + 3903, 87, 3896, 87, 87, 87, 87, 3890, 3902, 87, - 3919, 3920, 87, 3922, 3909, 87, 3923, 3921, 3924, 87, - 4172, 3929, 4172, 87, 3925, 87, 3910, 3926, 3934, 87, - 87, 87, 3927, 87, 87, 87, 87, 87, 3920, 87, - 87, 3931, 3930, 3923, 3921, 3924, 3928, 87, 87, 3933, - 3932, 3925, 3936, 3937, 3926, 87, 87, 87, 87, 3927, - 87, 87, 3935, 3942, 3938, 87, 3939, 3941, 3931, 3930, - 87, 3940, 3943, 3928, 3944, 3952, 3933, 3932, 87, 87, - 3937, 87, 87, 3945, 87, 3947, 3946, 3948, 87, 3935, - 87, 3938, 3949, 3939, 3941, 87, 3951, 87, 3940, 3943, - 3954, 87, 3950, 3953, 4172, 87, 3956, 87, 3959, 87, + 3899, 87, 87, 87, 3894, 3891, 3897, 87, 3900, 87, + 3901, 3895, 87, 87, 3904, 87, 3905, 3903, 87, 3896, + 3906, 3908, 3909, 3907, 3910, 3902, 3913, 3899, 87, 87, + 87, 3912, 87, 3914, 3911, 3900, 3915, 3901, 4206, 3923, + 3916, 3904, 3917, 3905, 87, 87, 87, 3906, 3908, 3909, + 3907, 87, 87, 87, 87, 3918, 3919, 87, 3912, 3920, + 87, 3911, 3924, 87, 87, 3921, 3925, 3916, 3927, 3917, + 3922, 87, 3928, 3926, 87, 3930, 3929, 87, 87, 87, + 3931, 4206, 3918, 3919, 87, 4206, 3920, 3932, 3933, 3924, + 87, 3934, 3935, 3925, 87, 3927, 3937, 87, 3936, 3928, - 3945, 87, 3947, 3946, 3948, 87, 87, 3955, 87, 3949, - 87, 3957, 87, 3951, 3958, 87, 87, 3954, 3961, 3950, - 3953, 3960, 87, 3956, 3962, 3959, 3963, 87, 3966, 3964, - 87, 3967, 3965, 4172, 3955, 87, 87, 3969, 3957, 3968, - 3975, 3958, 4172, 4172, 87, 3961, 3976, 3974, 3960, 87, - 87, 3962, 87, 3963, 87, 3966, 3964, 87, 3967, 3965, - 3970, 87, 87, 3973, 3969, 3977, 3968, 87, 87, 3971, - 3972, 3978, 87, 87, 3974, 3979, 3980, 87, 3981, 87, - 3984, 3982, 3985, 3983, 3987, 3986, 4172, 3970, 87, 87, - 3973, 3988, 87, 87, 87, 87, 3971, 3972, 87, 3989, + 3926, 3939, 87, 3929, 87, 3940, 3941, 3942, 87, 3938, + 3943, 3944, 87, 3945, 3932, 87, 87, 3946, 87, 3935, + 87, 3947, 87, 87, 87, 3936, 3948, 3949, 87, 3950, + 3951, 3953, 87, 3941, 3942, 3954, 3938, 87, 87, 3955, + 87, 3952, 87, 3956, 87, 3959, 87, 4206, 87, 87, + 87, 3957, 3958, 87, 87, 3961, 87, 87, 3953, 3960, + 3963, 3965, 87, 3962, 87, 3966, 3955, 3968, 3952, 3964, + 3956, 87, 3959, 87, 87, 87, 87, 3967, 3957, 3958, + 3975, 87, 87, 3969, 3970, 87, 3960, 3963, 3965, 3972, + 3962, 3971, 87, 3973, 87, 87, 3964, 3974, 87, 3977, - 87, 87, 3979, 3980, 3990, 3981, 3991, 3984, 3982, 3992, - 3983, 3987, 3986, 87, 87, 3999, 87, 3993, 3988, 3994, - 3996, 3998, 87, 87, 87, 87, 3989, 3995, 87, 3997, - 87, 3990, 87, 3991, 4001, 4000, 3992, 4002, 87, 87, - 87, 87, 3999, 4003, 3993, 4004, 3994, 3996, 3998, 4005, - 4009, 4006, 87, 87, 3995, 4007, 3997, 87, 87, 4008, - 4010, 4001, 4000, 4011, 4002, 87, 4012, 87, 4013, 87, - 4003, 87, 4004, 87, 4014, 87, 87, 87, 4006, 4015, - 4017, 4016, 4007, 4020, 4018, 87, 4008, 4010, 87, 4019, - 4011, 4022, 87, 4012, 4023, 4013, 87, 4021, 4024, 4027, + 3978, 87, 3976, 4206, 3967, 3985, 87, 87, 3979, 3980, + 3969, 3970, 87, 3982, 87, 87, 3972, 87, 3971, 3983, + 3973, 3984, 87, 4206, 3974, 3986, 87, 3978, 87, 3976, + 3981, 87, 3987, 87, 3988, 3979, 3980, 87, 87, 87, + 3982, 3989, 87, 3991, 3990, 87, 3983, 3992, 3984, 3993, + 87, 3994, 3986, 3995, 87, 87, 4206, 3981, 4002, 3987, + 3998, 3988, 3997, 87, 87, 87, 3996, 87, 3989, 87, + 3991, 3990, 87, 3999, 3992, 4206, 3993, 4000, 3994, 87, + 3995, 4001, 87, 87, 4003, 4002, 4008, 3998, 4007, 3997, + 4004, 4005, 87, 3996, 4006, 87, 4009, 87, 87, 87, - 4172, 4014, 87, 4032, 4025, 4028, 4015, 87, 4016, 4172, - 87, 4018, 87, 87, 4029, 4026, 4019, 87, 4022, 87, - 4172, 87, 87, 87, 4021, 87, 4027, 87, 4030, 4034, - 87, 4025, 4028, 4031, 4033, 87, 87, 4035, 4036, 4037, - 4038, 4029, 4026, 4039, 87, 87, 87, 87, 4040, 4041, - 4042, 4043, 4044, 4045, 4046, 4030, 4034, 87, 4047, 87, - 4031, 4033, 4048, 4049, 4035, 87, 4037, 87, 4050, 4055, - 87, 87, 87, 87, 87, 87, 87, 4042, 4043, 87, - 4045, 87, 4051, 4052, 4053, 87, 4056, 87, 4054, 4048, - 4049, 4059, 4058, 4061, 87, 87, 87, 87, 4057, 87, + 3999, 4010, 87, 87, 4000, 4011, 4012, 4013, 4001, 4015, + 87, 4003, 4014, 87, 4016, 4007, 87, 4004, 4005, 4017, + 4019, 4006, 4020, 87, 4018, 87, 87, 4021, 87, 4206, + 4023, 87, 87, 4012, 4013, 87, 4015, 87, 4022, 4014, + 4025, 87, 4027, 87, 4024, 4026, 4017, 4029, 4206, 4020, + 87, 4018, 87, 4028, 4021, 87, 87, 4023, 87, 87, + 87, 4030, 87, 87, 4031, 4022, 87, 4025, 4032, 4027, + 4033, 4024, 4026, 4035, 4029, 4036, 87, 4034, 4039, 87, + 4028, 4037, 4040, 4043, 4038, 87, 87, 4041, 4030, 87, + 87, 4031, 87, 4042, 4048, 4032, 4206, 4033, 4046, 87, - 87, 4060, 4062, 4065, 4064, 4066, 87, 4172, 4172, 4051, - 4052, 4053, 87, 4056, 4063, 4054, 87, 87, 4073, 4058, - 4061, 4072, 87, 87, 4067, 4057, 87, 4068, 4069, 4062, - 87, 4064, 87, 87, 87, 4071, 87, 4070, 4074, 87, - 87, 4063, 87, 87, 4075, 87, 4076, 4077, 4072, 87, - 4078, 4067, 4079, 87, 4068, 4069, 4080, 4084, 87, 4082, - 4081, 4172, 4071, 4083, 4070, 4074, 87, 87, 87, 87, - 87, 4075, 4085, 4076, 4077, 4092, 4086, 4078, 87, 4079, - 4087, 87, 87, 4080, 87, 87, 4082, 4081, 4088, 87, - 4083, 4089, 4091, 4090, 4093, 87, 4094, 4095, 4099, 4085, + 4035, 87, 4036, 87, 4034, 87, 4044, 87, 4037, 4040, + 87, 4038, 4047, 87, 4041, 4045, 87, 87, 4049, 87, + 4042, 4048, 4050, 87, 4051, 4046, 4052, 4054, 4053, 87, + 4057, 87, 4056, 4044, 4055, 4058, 4060, 4206, 4059, 4047, + 4061, 4066, 4045, 87, 87, 4049, 87, 4062, 4063, 4050, + 4206, 87, 87, 4052, 87, 4053, 87, 87, 87, 4056, + 4065, 4055, 87, 4060, 87, 4059, 4064, 4061, 87, 87, + 87, 4067, 87, 87, 4062, 4063, 4068, 4069, 4070, 4071, + 4072, 4073, 4074, 4075, 87, 4206, 87, 4065, 4078, 4076, + 4077, 87, 4079, 4064, 4080, 4081, 87, 4084, 4067, 87, - 87, 87, 87, 4086, 4096, 4097, 87, 4087, 4098, 4100, - 87, 4103, 4104, 4172, 4172, 4088, 87, 4106, 4089, 4091, - 4090, 4093, 4101, 87, 4095, 4099, 87, 87, 87, 87, - 87, 4096, 4097, 4102, 87, 4098, 4105, 4107, 4103, 87, - 87, 87, 4108, 4109, 87, 4111, 87, 4110, 4112, 4101, - 4113, 87, 4115, 87, 4114, 4172, 87, 4116, 87, 4117, - 4102, 4118, 87, 4105, 4107, 87, 87, 87, 4119, 4108, - 4109, 4120, 4111, 4121, 4110, 4112, 4128, 4124, 4172, 4115, - 4172, 4114, 87, 4125, 87, 4129, 87, 4122, 87, 4126, - 4123, 87, 4127, 87, 87, 4119, 4133, 87, 4120, 87, + 4206, 4082, 4085, 4068, 4069, 87, 4071, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 4076, 4077, 4083, 4079, + 4086, 87, 87, 4088, 87, 4089, 87, 4087, 4082, 4085, + 87, 4090, 87, 4092, 4091, 4093, 87, 4094, 4095, 4206, + 4206, 87, 4206, 4099, 4098, 4083, 4100, 4086, 4096, 4206, + 4088, 87, 87, 87, 4087, 4097, 4101, 87, 4090, 4107, + 4092, 4091, 87, 87, 4102, 4095, 87, 87, 87, 87, + 87, 4098, 4103, 87, 4104, 4096, 87, 4106, 4105, 4109, + 87, 4108, 4097, 4101, 87, 87, 87, 4110, 4111, 4112, + 87, 4102, 87, 4113, 87, 4114, 4116, 87, 4118, 4103, - 87, 4130, 87, 4128, 4124, 87, 87, 87, 4131, 4138, - 4125, 4135, 4129, 4136, 4122, 87, 4126, 4123, 4134, 4127, - 4132, 87, 87, 4133, 4137, 4139, 87, 4140, 4130, 87, - 4141, 87, 4144, 87, 4142, 4131, 4138, 87, 4135, 87, - 4136, 4143, 4145, 4146, 4172, 4134, 87, 4132, 4150, 4148, - 4147, 4137, 4139, 4172, 87, 4172, 87, 87, 87, 87, - 4152, 4142, 87, 87, 4149, 4151, 87, 4153, 4143, 4145, - 4146, 87, 87, 87, 4156, 87, 4148, 4147, 4154, 4157, - 4155, 4161, 87, 4160, 4162, 4158, 87, 4152, 87, 87, - 4159, 4149, 4151, 87, 4153, 4163, 4164, 4172, 87, 4165, + 4206, 4104, 87, 4115, 4106, 4105, 4109, 87, 4108, 87, + 87, 87, 4117, 4119, 4110, 4111, 4112, 4121, 87, 87, + 4113, 4120, 4114, 4116, 4122, 87, 87, 87, 4123, 4125, + 4115, 87, 4126, 4124, 87, 4127, 4128, 87, 4129, 4117, + 4119, 87, 4133, 4134, 4121, 4130, 4135, 87, 4120, 4131, + 87, 4122, 4132, 87, 4136, 4123, 4125, 87, 4138, 87, + 4124, 87, 4127, 4137, 87, 4129, 4139, 87, 87, 4133, + 4140, 87, 4130, 4135, 87, 87, 4131, 4142, 4141, 4132, + 4147, 4136, 4144, 4143, 4145, 87, 87, 87, 87, 4150, + 4137, 87, 87, 4139, 4149, 4146, 4151, 87, 4148, 4152, - 87, 4156, 4166, 4167, 87, 4154, 87, 4155, 87, 87, - 4160, 4162, 4158, 4168, 4170, 4171, 4172, 4159, 4172, 87, - 4169, 87, 87, 87, 87, 87, 4165, 4172, 87, 4166, - 4167, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4168, 87, 87, 4172, 4172, 4172, 4172, 4169, 48, 48, - 48, 48, 48, 48, 48, 53, 53, 53, 53, 53, - 53, 53, 58, 58, 58, 58, 58, 58, 58, 64, - 64, 64, 64, 64, 64, 64, 69, 69, 69, 69, - 69, 69, 69, 75, 75, 75, 75, 75, 75, 75, - 81, 81, 81, 81, 81, 81, 81, 90, 90, 4172, + 87, 4153, 87, 87, 4142, 4141, 87, 4154, 87, 4144, + 4143, 4145, 87, 4155, 4156, 4158, 87, 4157, 4206, 4161, + 4206, 4149, 4146, 87, 4162, 4148, 87, 87, 4153, 87, + 4159, 4160, 87, 87, 4154, 4164, 4165, 87, 87, 87, + 87, 4156, 4158, 4163, 4157, 4167, 4161, 4166, 87, 87, + 87, 4162, 4168, 4206, 4169, 4206, 4170, 4159, 4160, 87, + 87, 4173, 4164, 4165, 4171, 87, 4174, 4172, 4175, 87, + 4163, 87, 4167, 4177, 4166, 4176, 4178, 4206, 4206, 4168, + 87, 4169, 87, 4170, 4179, 4180, 87, 87, 4173, 4184, + 4206, 4171, 4182, 87, 4172, 87, 4206, 87, 87, 4181, - 90, 90, 90, 90, 165, 165, 4172, 4172, 4172, 165, - 165, 167, 167, 4172, 4172, 167, 4172, 167, 169, 4172, - 4172, 4172, 4172, 4172, 169, 172, 172, 4172, 4172, 4172, - 172, 172, 174, 4172, 4172, 4172, 4172, 4172, 174, 176, - 176, 4172, 176, 176, 176, 176, 179, 4172, 4172, 4172, - 4172, 4172, 179, 182, 182, 4172, 4172, 4172, 182, 182, - 91, 91, 4172, 91, 91, 91, 91, 17, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, + 4177, 4183, 4176, 87, 87, 87, 4190, 87, 4186, 87, + 4185, 4179, 4180, 4188, 87, 4189, 87, 4187, 87, 4182, + 4191, 87, 4206, 87, 4194, 4195, 4181, 4206, 4183, 4197, + 87, 4198, 87, 4190, 4196, 4186, 4206, 4185, 4192, 87, + 4188, 4193, 4189, 4199, 4187, 4200, 87, 87, 4206, 87, + 87, 4194, 87, 4201, 87, 4204, 87, 4205, 87, 4206, + 4206, 4196, 4206, 87, 4206, 4192, 4202, 87, 4193, 4203, + 4199, 4206, 4200, 4206, 87, 87, 4206, 87, 4206, 4206, + 4201, 4206, 87, 4206, 87, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4202, 4206, 4206, 4203, 48, 48, 48, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172 + 48, 48, 48, 48, 53, 53, 53, 53, 53, 53, + 53, 58, 58, 58, 58, 58, 58, 58, 64, 64, + 64, 64, 64, 64, 64, 69, 69, 69, 69, 69, + 69, 69, 75, 75, 75, 75, 75, 75, 75, 81, + 81, 81, 81, 81, 81, 81, 90, 90, 4206, 90, + 90, 90, 90, 165, 165, 4206, 4206, 4206, 165, 165, + 167, 167, 4206, 4206, 167, 4206, 167, 169, 4206, 4206, + 4206, 4206, 4206, 169, 172, 172, 4206, 4206, 4206, 172, + 172, 174, 4206, 4206, 4206, 4206, 4206, 174, 176, 176, + 4206, 176, 176, 176, 176, 179, 4206, 4206, 4206, 4206, + + 4206, 179, 182, 182, 4206, 4206, 4206, 182, 182, 91, + 91, 4206, 91, 91, 91, 91, 17, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206 } ; -static const flex_int16_t yy_chk[11935] = +static const flex_int16_t yy_chk[12084] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3127,16 +3157,16 @@ static const flex_int16_t yy_chk[11935] = 7, 7, 7, 33, 7, 8, 8, 8, 8, 32, 8, 9, 9, 9, 10, 10, 10, 19, 52, 52, - 4180, 19, 238, 3, 32, 33, 4, 68, 68, 5, - 33, 6, 3329, 13, 13, 13, 13, 7, 13, 14, + 4214, 19, 238, 3, 32, 33, 4, 68, 68, 5, + 33, 6, 3355, 13, 13, 13, 13, 7, 13, 14, 14, 14, 14, 8, 14, 15, 15, 15, 9, 25, 238, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 16, 16, 16, 34, 28, 85, - 85, 13, 11, 46, 1252, 25, 25, 14, 12, 34, - 311, 23, 15, 23, 23, 46, 23, 1239, 28, 88, + 85, 13, 11, 46, 1260, 25, 25, 14, 12, 34, + 311, 23, 15, 23, 23, 46, 23, 1246, 28, 88, 11, 28, 23, 88, 34, 28, 12, 166, 166, 11, 46, 16, 173, 173, 57, 12, 30, 57, 29, 311, - 45, 182, 37, 73, 30, 28, 26, 1239, 37, 23, + 45, 182, 37, 73, 30, 28, 26, 1246, 37, 23, 24, 24, 29, 26, 24, 30, 73, 26, 181, 24, 26, 24, 30, 30, 29, 29, 45, 45, 24, 37, @@ -3162,10 +3192,10 @@ static const flex_int16_t yy_chk[11935] = 71, 155, 107, 76, 40, 40, 80, 40, 80, 80, 107, 80, 100, 117, 113, 106, 40, 40, 117, 75, - 188, 40, 1066, 113, 188, 87, 202, 87, 87, 107, + 188, 40, 1072, 113, 188, 87, 202, 87, 87, 107, 87, 40, 40, 71, 40, 41, 87, 90, 41, 90, 90, 113, 90, 103, 103, 41, 104, 188, 90, 41, - 41, 108, 104, 1066, 104, 114, 103, 41, 202, 105, + 41, 108, 104, 1072, 104, 114, 103, 41, 202, 105, 105, 69, 41, 64, 114, 41, 122, 104, 105, 108, 103, 103, 41, 104, 122, 90, 41, 41, 118, 104, 110, 104, 114, 108, 112, 112, 105, 105, 116, 110, @@ -3201,12 +3231,12 @@ static const flex_int16_t yy_chk[11935] = 196, 195, 193, 189, 194, 205, 198, 197, 206, 194, 189, 196, 198, 199, 200, 199, 197, 203, 201, 200, 201, 203, 207, 206, 209, 203, 208, 207, 210, 212, - 213, 205, 205, 211, 208, 206, 212, 830, 198, 198, - 199, 214, 203, 624, 201, 201, 209, 201, 211, 203, + 213, 205, 205, 211, 208, 206, 212, 834, 198, 198, + 199, 214, 203, 626, 201, 201, 209, 201, 211, 203, 210, 209, 203, 208, 207, 210, 212, 215, 213, 0, - 211, 216, 213, 217, 214, 218, 830, 239, 214, 203, - 204, 624, 216, 220, 221, 204, 217, 218, 0, 215, + 211, 216, 213, 217, 214, 218, 834, 239, 214, 203, + 204, 626, 216, 220, 221, 204, 217, 218, 0, 215, 204, 222, 220, 224, 215, 213, 204, 204, 216, 225, 217, 219, 218, 204, 219, 0, 221, 204, 225, 239, 220, 221, 204, 222, 226, 224, 219, 204, 222, 227, @@ -3286,1149 +3316,1165 @@ static const flex_int16_t yy_chk[11935] = 426, 419, 424, 423, 427, 400, 414, 418, 400, 0, 400, 425, 400, 0, 0, 433, 400, 400, 426, 400, 425, 422, 426, 423, 427, 0, 0, 426, 0, 428, - 0, 0, 400, 430, 429, 400, 428, 400, 0, 400, - 409, 409, 431, 425, 0, 426, 429, 425, 434, 0, - 409, 409, 409, 409, 409, 430, 428, 409, 432, 435, - 430, 429, 437, 438, 431, 409, 435, 409, 409, 431, - 432, 437, 436, 439, 434, 434, 438, 409, 409, 409, + 0, 0, 400, 0, 0, 400, 428, 400, 0, 400, + 409, 409, 430, 425, 431, 426, 409, 425, 434, 429, + 409, 409, 409, 409, 409, 435, 428, 409, 432, 440, + 409, 429, 435, 437, 430, 409, 431, 409, 409, 430, + 432, 431, 437, 409, 434, 434, 429, 409, 409, 409, + + 409, 409, 435, 436, 409, 432, 438, 409, 439, 442, + 437, 440, 441, 0, 441, 443, 445, 439, 436, 438, + 442, 444, 444, 445, 446, 451, 453, 447, 449, 448, + 436, 446, 450, 438, 455, 439, 442, 443, 447, 441, + 448, 449, 443, 445, 452, 452, 463, 451, 0, 453, + 444, 446, 451, 453, 447, 449, 448, 450, 454, 450, + 455, 455, 452, 457, 464, 458, 456, 460, 459, 452, + 468, 452, 452, 454, 456, 457, 458, 459, 463, 0, + 460, 454, 464, 465, 466, 454, 467, 461, 461, 452, + 457, 464, 458, 456, 460, 459, 470, 469, 471, 461, - 409, 409, 439, 440, 409, 432, 435, 436, 0, 437, - 438, 441, 442, 441, 443, 444, 444, 0, 445, 436, - 439, 446, 447, 442, 451, 445, 448, 449, 446, 453, - 450, 0, 455, 447, 0, 440, 443, 448, 441, 442, - 449, 443, 452, 452, 444, 445, 451, 463, 446, 447, - 454, 451, 453, 448, 449, 450, 453, 450, 455, 455, - 452, 458, 457, 456, 465, 454, 459, 452, 460, 452, - 452, 456, 458, 454, 457, 459, 466, 454, 477, 463, - 464, 460, 461, 461, 467, 468, 465, 452, 458, 457, - 456, 465, 454, 459, 461, 460, 461, 0, 464, 466, + 454, 461, 468, 469, 467, 465, 461, 466, 472, 473, + 465, 466, 474, 467, 461, 461, 476, 470, 482, 474, + 475, 471, 477, 470, 469, 471, 461, 481, 461, 462, + 476, 473, 472, 479, 484, 472, 473, 462, 462, 474, + 478, 462, 462, 476, 480, 462, 475, 475, 478, 477, + 482, 462, 483, 481, 481, 479, 462, 484, 480, 487, + 479, 484, 488, 485, 462, 462, 491, 478, 462, 462, + 486, 480, 462, 491, 483, 485, 486, 490, 494, 483, + 489, 487, 492, 493, 488, 495, 487, 489, 489, 488, + 485, 492, 490, 491, 497, 496, 498, 486, 493, 499, - 469, 461, 467, 466, 470, 477, 469, 464, 0, 461, - 461, 467, 471, 0, 472, 0, 476, 468, 475, 0, - 473, 461, 474, 461, 462, 470, 478, 469, 479, 474, - 476, 470, 462, 462, 478, 471, 462, 462, 472, 471, - 462, 472, 473, 476, 475, 475, 462, 473, 480, 474, - 479, 462, 481, 478, 482, 479, 485, 0, 483, 462, - 462, 484, 480, 462, 462, 486, 491, 462, 485, 487, - 0, 486, 488, 491, 489, 480, 0, 0, 481, 481, - 483, 489, 489, 485, 484, 483, 482, 490, 484, 492, - 493, 487, 486, 491, 488, 494, 487, 495, 492, 488, + 495, 496, 494, 502, 490, 494, 489, 489, 499, 492, + 493, 500, 495, 501, 489, 489, 497, 503, 498, 504, + 508, 497, 496, 498, 505, 504, 499, 506, 501, 502, + 502, 509, 506, 0, 500, 511, 512, 513, 500, 503, + 501, 511, 514, 513, 503, 516, 504, 515, 0, 517, + 505, 505, 508, 515, 506, 512, 517, 509, 509, 520, + 514, 520, 511, 512, 513, 518, 521, 516, 520, 514, + 522, 523, 516, 529, 515, 521, 517, 522, 524, 525, + 518, 527, 531, 528, 0, 531, 520, 526, 520, 530, + 526, 524, 518, 521, 532, 529, 536, 522, 526, 527, - 489, 489, 490, 497, 496, 493, 498, 503, 489, 489, - 496, 499, 495, 500, 490, 504, 492, 493, 502, 494, - 499, 504, 494, 505, 495, 497, 501, 506, 498, 503, - 497, 496, 506, 498, 503, 508, 500, 509, 499, 512, - 500, 501, 504, 514, 502, 502, 511, 516, 517, 505, - 505, 513, 511, 501, 506, 517, 515, 513, 512, 523, - 0, 514, 515, 509, 509, 518, 512, 508, 525, 516, - 514, 524, 521, 511, 516, 517, 527, 520, 513, 520, - 518, 521, 522, 515, 524, 526, 520, 528, 526, 522, - 0, 523, 518, 0, 527, 529, 526, 530, 524, 521, + 529, 531, 530, 523, 539, 524, 533, 535, 527, 531, + 534, 525, 531, 537, 526, 528, 530, 526, 532, 533, + 537, 532, 534, 538, 541, 535, 540, 539, 536, 544, + 542, 545, 543, 533, 535, 542, 539, 534, 543, 540, + 537, 545, 546, 547, 548, 0, 541, 538, 551, 549, + 538, 541, 544, 540, 539, 547, 544, 542, 545, 543, + 549, 554, 551, 557, 546, 550, 548, 556, 554, 546, + 547, 548, 555, 550, 558, 551, 549, 568, 555, 556, + 559, 0, 558, 571, 0, 0, 557, 571, 554, 568, + 557, 594, 550, 552, 556, 564, 0, 570, 552, 555, - 525, 532, 531, 527, 520, 531, 520, 533, 535, 522, - 530, 534, 526, 536, 0, 526, 538, 529, 539, 528, - 533, 531, 529, 534, 530, 532, 535, 541, 532, 531, - 537, 540, 531, 543, 533, 535, 544, 537, 534, 543, - 538, 539, 542, 538, 540, 536, 545, 542, 546, 541, - 539, 549, 547, 550, 541, 548, 545, 537, 540, 544, - 543, 550, 549, 544, 547, 554, 557, 551, 539, 542, - 546, 556, 554, 545, 561, 546, 560, 548, 549, 547, - 550, 551, 548, 556, 555, 559, 0, 560, 558, 557, - 555, 0, 554, 557, 551, 552, 558, 561, 556, 566, + 552, 558, 559, 560, 568, 561, 552, 559, 552, 562, + 571, 552, 552, 562, 560, 564, 567, 564, 552, 552, + 552, 570, 564, 594, 570, 552, 567, 552, 561, 566, + 560, 562, 561, 552, 563, 552, 562, 563, 552, 552, + 562, 565, 564, 569, 565, 552, 563, 566, 567, 573, + 572, 576, 565, 567, 569, 575, 566, 572, 574, 577, + 574, 563, 578, 576, 563, 580, 584, 579, 565, 0, + 569, 565, 581, 0, 577, 573, 573, 572, 576, 579, + 581, 575, 575, 583, 584, 574, 577, 585, 578, 578, + 582, 580, 580, 584, 579, 582, 586, 587, 588, 581, - 552, 561, 552, 560, 0, 0, 563, 559, 552, 563, - 552, 555, 559, 552, 552, 558, 0, 566, 563, 0, - 552, 552, 552, 564, 562, 0, 566, 552, 562, 552, - 570, 565, 568, 563, 565, 552, 563, 552, 573, 567, - 552, 552, 565, 564, 568, 564, 562, 552, 575, 567, - 564, 562, 569, 0, 570, 562, 571, 570, 565, 568, - 571, 565, 572, 569, 573, 573, 574, 577, 574, 572, - 564, 567, 576, 578, 575, 575, 567, 579, 580, 569, - 582, 592, 577, 571, 576, 578, 580, 581, 583, 572, - 584, 586, 581, 574, 577, 588, 585, 590, 584, 576, + 590, 595, 591, 592, 586, 583, 596, 599, 593, 587, + 583, 0, 0, 585, 585, 590, 595, 582, 596, 588, + 591, 598, 608, 586, 587, 588, 592, 590, 595, 591, + 592, 593, 597, 596, 598, 593, 601, 600, 602, 599, + 597, 603, 604, 605, 607, 601, 605, 606, 598, 600, + 610, 611, 613, 0, 608, 603, 0, 609, 612, 597, + 0, 602, 614, 601, 600, 602, 606, 604, 603, 604, + 605, 607, 609, 612, 606, 614, 613, 616, 615, 613, + 617, 621, 610, 611, 609, 612, 618, 619, 620, 614, + 615, 624, 621, 625, 627, 620, 619, 622, 620, 616, - 578, 589, 582, 579, 579, 580, 583, 582, 585, 591, - 588, 593, 586, 592, 581, 583, 596, 584, 586, 589, - 590, 594, 588, 585, 590, 597, 593, 595, 589, 596, - 606, 599, 591, 594, 598, 595, 591, 600, 593, 601, - 599, 603, 602, 596, 603, 605, 598, 608, 594, 609, - 607, 604, 0, 601, 595, 0, 610, 597, 599, 0, - 600, 598, 606, 611, 600, 607, 601, 602, 603, 602, - 604, 610, 605, 612, 614, 615, 613, 607, 604, 608, - 616, 609, 617, 610, 619, 625, 612, 611, 613, 620, - 611, 617, 621, 622, 620, 619, 614, 623, 615, 626, + 628, 629, 622, 617, 616, 615, 620, 617, 621, 623, + 618, 630, 631, 618, 619, 620, 0, 631, 624, 634, + 625, 632, 620, 623, 0, 620, 627, 628, 629, 622, + 632, 633, 635, 636, 634, 638, 623, 633, 641, 637, + 639, 640, 641, 630, 631, 642, 634, 637, 632, 644, + 643, 646, 647, 642, 638, 636, 635, 657, 633, 635, + 636, 647, 638, 640, 639, 641, 637, 639, 640, 645, + 648, 649, 642, 643, 646, 650, 645, 643, 646, 647, + 652, 644, 651, 653, 649, 654, 652, 659, 655, 657, + 0, 658, 648, 654, 651, 664, 645, 648, 649, 655, - 612, 614, 615, 613, 616, 618, 621, 616, 627, 617, - 635, 619, 618, 628, 632, 618, 630, 625, 635, 621, - 622, 620, 629, 618, 623, 630, 626, 629, 631, 632, - 0, 634, 618, 633, 631, 627, 642, 635, 637, 618, - 636, 632, 618, 630, 638, 628, 639, 641, 640, 0, - 639, 648, 0, 634, 629, 631, 640, 633, 634, 636, - 633, 644, 637, 645, 646, 637, 638, 636, 642, 643, - 641, 638, 645, 639, 641, 640, 643, 648, 648, 647, - 651, 649, 0, 650, 644, 655, 646, 652, 644, 650, - 645, 646, 647, 649, 653, 652, 643, 654, 656, 657, + 659, 650, 650, 662, 656, 653, 664, 652, 661, 651, + 653, 656, 654, 658, 659, 655, 660, 661, 658, 663, + 665, 660, 664, 666, 660, 660, 667, 0, 663, 662, + 662, 656, 668, 670, 671, 661, 672, 673, 0, 667, + 660, 677, 665, 660, 668, 666, 663, 665, 660, 674, + 666, 660, 660, 667, 672, 676, 678, 670, 679, 668, + 670, 673, 675, 672, 673, 677, 671, 681, 677, 679, + 675, 674, 674, 685, 684, 680, 674, 676, 678, 682, + 685, 683, 676, 678, 680, 679, 686, 681, 682, 675, + 690, 687, 689, 691, 681, 683, 684, 688, 674, 691, - 0, 0, 651, 0, 654, 653, 647, 651, 649, 659, - 650, 660, 657, 663, 652, 0, 669, 655, 659, 0, - 656, 653, 658, 661, 654, 656, 657, 658, 662, 664, - 658, 658, 661, 666, 665, 663, 659, 660, 660, 662, - 663, 668, 671, 0, 670, 666, 658, 665, 669, 658, - 661, 664, 672, 675, 658, 662, 664, 658, 658, 673, - 666, 665, 670, 674, 678, 668, 671, 673, 668, 671, - 676, 670, 677, 678, 672, 672, 679, 675, 680, 672, - 675, 681, 682, 677, 684, 674, 673, 680, 685, 0, - 674, 678, 676, 683, 686, 681, 679, 676, 687, 677, + 685, 684, 680, 692, 689, 688, 682, 693, 683, 687, + 694, 695, 690, 686, 697, 698, 692, 690, 687, 689, + 691, 694, 703, 699, 688, 696, 700, 700, 709, 695, + 692, 707, 701, 693, 693, 705, 698, 694, 695, 702, + 696, 711, 698, 701, 703, 704, 697, 699, 705, 703, + 699, 706, 696, 707, 704, 700, 0, 708, 707, 701, + 709, 710, 705, 702, 706, 708, 702, 712, 713, 715, + 713, 714, 704, 711, 716, 717, 720, 722, 706, 716, + 715, 719, 0, 710, 708, 718, 0, 724, 710, 717, + 720, 712, 723, 714, 712, 713, 715, 718, 714, 719, - 683, 672, 686, 679, 682, 680, 685, 688, 681, 682, - 687, 684, 689, 690, 693, 685, 691, 692, 689, 695, - 683, 686, 694, 697, 0, 687, 690, 696, 692, 688, - 698, 698, 693, 700, 688, 699, 701, 694, 707, 689, - 690, 693, 691, 691, 692, 705, 699, 697, 696, 694, - 697, 695, 702, 703, 696, 704, 706, 700, 701, 698, - 700, 702, 699, 701, 706, 708, 703, 705, 704, 709, - 707, 710, 705, 711, 720, 711, 714, 712, 713, 702, - 703, 714, 704, 706, 716, 717, 721, 708, 715, 713, - 725, 722, 708, 718, 721, 710, 716, 723, 710, 712, + 723, 0, 717, 720, 725, 724, 716, 727, 719, 722, + 0, 726, 718, 721, 724, 721, 728, 0, 726, 723, + 730, 729, 721, 0, 732, 0, 725, 731, 721, 721, + 721, 725, 0, 727, 727, 730, 728, 721, 726, 732, + 721, 729, 721, 728, 730, 0, 737, 730, 729, 721, + 733, 732, 735, 734, 746, 721, 721, 721, 734, 731, + 733, 736, 730, 736, 739, 0, 738, 741, 0, 740, + 755, 737, 733, 737, 738, 740, 741, 733, 735, 735, + 748, 742, 747, 743, 0, 734, 746, 733, 736, 739, + 742, 739, 743, 738, 741, 744, 740, 745, 748, 749, - 711, 709, 715, 717, 712, 713, 720, 718, 714, 722, - 0, 716, 717, 721, 726, 715, 725, 725, 722, 723, - 718, 719, 724, 719, 723, 730, 727, 728, 729, 724, - 719, 0, 733, 0, 726, 736, 719, 719, 719, 732, - 730, 726, 728, 736, 732, 719, 727, 735, 719, 724, - 719, 728, 730, 727, 728, 737, 731, 719, 733, 733, - 729, 738, 736, 719, 719, 719, 731, 738, 734, 728, - 734, 732, 735, 742, 735, 739, 740, 741, 731, 744, - 737, 742, 737, 731, 739, 740, 741, 743, 738, 745, - 746, 750, 749, 731, 743, 734, 751, 747, 748, 750, + 750, 0, 755, 744, 745, 747, 751, 748, 742, 747, + 743, 749, 750, 752, 753, 751, 754, 757, 756, 758, + 0, 752, 744, 753, 745, 756, 749, 750, 754, 759, + 757, 761, 762, 751, 758, 766, 760, 759, 753, 761, + 752, 753, 760, 754, 757, 756, 758, 766, 763, 764, + 753, 797, 765, 0, 814, 762, 759, 763, 761, 762, + 764, 765, 766, 760, 767, 767, 768, 770, 771, 769, + 0, 772, 774, 767, 768, 763, 764, 769, 773, 765, + 775, 771, 778, 797, 776, 774, 814, 0, 775, 770, + 777, 767, 767, 768, 770, 771, 769, 772, 772, 774, - 742, 749, 739, 740, 741, 751, 753, 756, 746, 747, - 748, 744, 745, 755, 743, 752, 745, 746, 750, 749, - 751, 754, 756, 751, 747, 748, 755, 752, 754, 757, - 758, 759, 751, 764, 756, 761, 758, 757, 753, 759, - 755, 760, 752, 762, 761, 764, 763, 768, 754, 770, - 765, 765, 769, 766, 762, 763, 757, 758, 759, 765, - 764, 766, 761, 767, 760, 769, 771, 0, 760, 768, - 762, 767, 772, 763, 768, 770, 770, 765, 765, 769, - 766, 774, 775, 773, 776, 772, 778, 777, 779, 771, - 767, 773, 780, 771, 778, 775, 781, 774, 777, 772, + 776, 773, 779, 777, 778, 773, 780, 775, 781, 778, + 782, 776, 783, 779, 780, 784, 785, 777, 786, 787, + 0, 786, 781, 784, 790, 788, 0, 0, 0, 779, + 782, 789, 792, 780, 783, 781, 785, 782, 791, 783, + 789, 787, 784, 785, 790, 786, 787, 788, 793, 794, + 792, 790, 788, 791, 795, 796, 798, 0, 789, 792, + 799, 793, 800, 0, 801, 791, 804, 794, 802, 807, + 796, 0, 795, 806, 821, 793, 794, 801, 798, 806, + 803, 795, 796, 798, 799, 800, 802, 799, 805, 800, + 804, 801, 803, 804, 808, 802, 807, 810, 809, 811, - 782, 783, 779, 784, 783, 793, 776, 785, 774, 775, - 773, 776, 780, 778, 777, 779, 787, 786, 781, 780, - 782, 788, 789, 781, 790, 784, 786, 782, 783, 785, - 784, 792, 791, 794, 785, 789, 787, 793, 795, 788, - 796, 797, 790, 787, 786, 799, 792, 800, 788, 789, - 791, 790, 798, 801, 797, 794, 803, 799, 792, 791, - 794, 810, 795, 796, 806, 795, 801, 796, 797, 802, - 798, 800, 799, 804, 800, 802, 807, 805, 812, 798, - 801, 804, 805, 803, 809, 812, 806, 811, 815, 813, - 815, 806, 809, 810, 807, 811, 802, 816, 814, 804, + 806, 805, 808, 809, 813, 815, 821, 803, 818, 816, + 817, 0, 813, 815, 822, 805, 816, 811, 825, 810, + 808, 808, 823, 818, 810, 819, 811, 819, 824, 808, + 809, 813, 815, 817, 820, 818, 816, 817, 825, 826, + 824, 823, 827, 820, 827, 825, 822, 828, 826, 823, + 831, 0, 819, 835, 828, 824, 0, 844, 0, 841, + 839, 820, 831, 835, 841, 0, 826, 845, 844, 827, + 838, 843, 0, 0, 828, 829, 852, 831, 829, 0, + 835, 839, 829, 842, 844, 829, 841, 839, 838, 843, + 845, 846, 829, 829, 845, 829, 0, 838, 843, 847, - 804, 817, 818, 807, 819, 812, 816, 848, 804, 805, - 820, 809, 813, 814, 811, 815, 813, 822, 821, 823, - 824, 823, 820, 819, 816, 814, 822, 824, 0, 827, - 831, 819, 834, 817, 818, 839, 0, 820, 821, 848, - 831, 827, 835, 838, 822, 821, 823, 824, 825, 837, - 834, 825, 872, 839, 837, 825, 827, 831, 825, 834, - 840, 841, 839, 835, 838, 825, 825, 844, 825, 835, - 838, 840, 842, 825, 843, 825, 837, 845, 825, 872, - 0, 892, 825, 844, 841, 825, 845, 840, 841, 846, - 847, 0, 825, 825, 844, 825, 850, 847, 842, 842, + 829, 850, 829, 0, 842, 829, 849, 848, 852, 829, + 842, 867, 829, 855, 850, 849, 867, 846, 846, 829, + 829, 856, 829, 848, 851, 847, 847, 856, 850, 854, + 857, 851, 861, 849, 848, 855, 854, 858, 859, 857, + 855, 859, 0, 867, 0, 0, 0, 0, 856, 863, + 860, 851, 853, 853, 861, 853, 854, 857, 853, 861, + 858, 869, 864, 853, 858, 859, 860, 862, 866, 853, + 853, 863, 853, 860, 864, 862, 863, 860, 853, 853, + 853, 865, 853, 865, 868, 853, 870, 869, 869, 864, + 853, 872, 866, 860, 862, 866, 853, 853, 870, 853, - 843, 843, 846, 850, 845, 851, 852, 854, 892, 863, - 0, 0, 852, 853, 863, 0, 846, 847, 849, 849, - 0, 849, 853, 850, 849, 855, 856, 851, 855, 849, - 854, 858, 851, 852, 854, 849, 849, 857, 849, 858, - 853, 863, 856, 860, 849, 849, 849, 862, 849, 856, - 859, 849, 855, 856, 867, 860, 849, 865, 858, 857, - 864, 866, 849, 849, 857, 849, 861, 869, 861, 856, - 860, 862, 859, 866, 862, 868, 867, 859, 871, 870, - 864, 867, 873, 865, 865, 876, 0, 864, 866, 869, - 875, 0, 878, 861, 869, 874, 0, 880, 875, 878, + 871, 873, 874, 875, 868, 876, 877, 879, 865, 878, + 881, 868, 880, 870, 882, 879, 885, 872, 872, 881, + 0, 882, 871, 873, 878, 875, 874, 871, 873, 874, + 875, 877, 876, 877, 879, 880, 878, 881, 883, 880, + 884, 882, 885, 885, 886, 887, 883, 888, 0, 889, + 892, 891, 887, 890, 893, 892, 886, 894, 896, 884, + 888, 895, 890, 897, 0, 883, 891, 884, 897, 899, + 900, 886, 887, 901, 888, 889, 889, 892, 891, 894, + 890, 902, 907, 895, 894, 896, 893, 904, 895, 903, + 902, 899, 905, 906, 904, 897, 899, 903, 901, 908, - 871, 868, 868, 870, 877, 871, 870, 873, 876, 873, - 874, 881, 876, 877, 882, 879, 880, 875, 883, 878, - 884, 886, 874, 879, 880, 883, 882, 885, 887, 888, - 886, 877, 889, 884, 888, 890, 891, 881, 881, 893, - 896, 882, 879, 887, 893, 883, 895, 884, 886, 897, - 898, 902, 899, 885, 885, 887, 888, 890, 891, 898, - 899, 0, 890, 891, 889, 901, 903, 904, 895, 906, - 905, 893, 896, 895, 897, 900, 897, 898, 901, 899, - 908, 907, 900, 902, 909, 911, 910, 913, 903, 912, - 906, 919, 901, 903, 905, 910, 906, 905, 912, 904, + 901, 910, 900, 909, 907, 905, 912, 911, 902, 907, + 913, 914, 916, 915, 904, 919, 903, 0, 0, 905, + 914, 916, 910, 917, 918, 906, 911, 909, 910, 923, + 909, 908, 915, 912, 911, 919, 924, 913, 914, 916, + 915, 922, 919, 920, 921, 917, 925, 918, 926, 922, + 917, 918, 920, 927, 924, 921, 923, 928, 0, 929, + 931, 933, 933, 924, 934, 925, 928, 929, 922, 0, + 920, 921, 932, 925, 938, 926, 936, 935, 931, 936, + 937, 932, 934, 939, 928, 927, 929, 931, 933, 935, + 940, 934, 937, 942, 941, 944, 938, 944, 943, 932, - 907, 914, 900, 915, 911, 922, 916, 908, 907, 913, - 917, 909, 911, 910, 913, 916, 912, 918, 919, 923, - 920, 917, 921, 915, 914, 918, 924, 927, 914, 0, - 915, 925, 922, 916, 928, 924, 931, 917, 920, 925, - 933, 921, 930, 928, 918, 927, 934, 920, 931, 921, - 935, 923, 933, 924, 927, 929, 929, 936, 925, 932, - 930, 928, 932, 931, 937, 938, 939, 933, 934, 930, - 945, 941, 935, 934, 940, 936, 940, 935, 943, 939, - 942, 0, 929, 943, 936, 0, 932, 938, 937, 941, - 944, 937, 938, 939, 942, 948, 945, 945, 941, 946, + 946, 938, 0, 936, 935, 939, 945, 937, 940, 949, + 939, 943, 952, 948, 946, 942, 0, 940, 941, 950, + 942, 941, 944, 947, 945, 943, 948, 946, 947, 951, + 952, 950, 957, 945, 954, 949, 949, 951, 953, 952, + 948, 953, 955, 954, 958, 959, 950, 961, 960, 0, + 955, 959, 0, 961, 962, 947, 951, 957, 965, 957, + 963, 954, 972, 965, 967, 953, 955, 963, 0, 955, + 960, 958, 959, 964, 961, 960, 962, 955, 969, 966, + 964, 962, 967, 970, 968, 965, 966, 963, 968, 971, + 973, 967, 970, 975, 972, 976, 977, 971, 974, 979, - 947, 940, 949, 944, 951, 949, 950, 942, 947, 953, - 943, 946, 951, 948, 954, 950, 956, 944, 955, 957, - 958, 0, 948, 959, 955, 957, 946, 947, 951, 949, - 959, 951, 0, 950, 953, 961, 953, 960, 956, 951, - 961, 954, 958, 956, 960, 955, 957, 958, 962, 963, - 959, 965, 964, 967, 966, 962, 964, 968, 970, 969, - 971, 967, 961, 966, 960, 975, 0, 963, 978, 977, - 973, 971, 974, 970, 965, 962, 963, 969, 965, 964, - 967, 966, 972, 973, 975, 970, 969, 971, 976, 968, - 972, 977, 975, 974, 979, 978, 977, 973, 980, 974, + 964, 969, 980, 976, 975, 969, 966, 978, 973, 977, + 970, 968, 982, 974, 981, 980, 971, 973, 979, 983, + 975, 994, 976, 977, 984, 974, 979, 983, 978, 980, + 985, 984, 0, 986, 978, 987, 981, 988, 989, 982, + 986, 981, 990, 995, 988, 989, 983, 990, 985, 992, + 991, 984, 993, 994, 987, 996, 992, 985, 991, 993, + 986, 997, 987, 999, 988, 989, 1000, 998, 996, 990, + 999, 1001, 1002, 1003, 1005, 995, 992, 991, 1006, 993, + 998, 1003, 996, 1007, 1006, 1009, 1010, 1008, 1011, 1004, + 999, 1014, 1017, 997, 998, 1002, 1005, 1004, 1000, 1002, - 981, 976, 979, 982, 983, 980, 984, 985, 990, 972, - 982, 986, 987, 984, 985, 976, 986, 988, 981, 989, - 987, 979, 991, 983, 988, 980, 989, 981, 992, 993, - 982, 983, 994, 984, 985, 995, 996, 997, 986, 987, - 990, 992, 995, 998, 988, 994, 989, 1002, 999, 1000, - 1001, 1004, 1003, 1002, 991, 992, 999, 1000, 1005, 994, - 1011, 993, 995, 1009, 1000, 1006, 998, 1008, 996, 997, - 998, 1007, 1001, 1012, 1002, 999, 1000, 1001, 1003, 1003, - 1007, 1008, 1012, 1004, 1000, 1013, 1010, 1011, 1014, 1006, - 1005, 1017, 1006, 1010, 1008, 1009, 1015, 1016, 1007, 1013, + 1003, 1005, 1012, 1001, 1004, 1006, 1008, 1013, 1015, 1007, + 1007, 1012, 1011, 1016, 1008, 1011, 1004, 1009, 1010, 1017, + 1016, 1013, 1018, 1014, 1004, 1019, 1015, 1022, 1020, 1012, + 1021, 1018, 1022, 1024, 1013, 1015, 1023, 0, 1025, 1019, + 1016, 1026, 0, 1021, 1027, 1021, 1026, 1029, 1023, 1018, + 1020, 1027, 1019, 0, 1021, 1020, 1024, 1021, 1030, 1022, + 1024, 1028, 0, 1023, 1025, 1025, 1030, 1033, 1026, 1029, + 1021, 1027, 1021, 1028, 1029, 1032, 1034, 1036, 1032, 1037, + 1033, 1041, 1042, 1038, 1043, 1030, 1037, 1034, 1028, 1038, + 0, 1036, 0, 1044, 1033, 0, 1043, 1040, 0, 1045, - 1012, 1018, 1016, 1017, 1019, 0, 0, 0, 1024, 1015, - 1014, 1015, 1013, 1010, 1020, 1014, 1024, 1023, 1017, 1020, - 1015, 1022, 0, 1015, 1018, 1021, 0, 1027, 1018, 1016, - 1019, 1019, 1021, 1022, 1026, 1024, 1015, 1026, 1015, 1023, - 1027, 1020, 1028, 1030, 1023, 1032, 1034, 1037, 1022, 1031, - 1038, 1032, 1021, 1028, 1027, 1036, 1031, 1030, 1035, 1037, - 0, 1026, 0, 1039, 1041, 1039, 1028, 0, 1034, 1028, - 1030, 1041, 1032, 1034, 1037, 1045, 1031, 1038, 1036, 1043, - 1028, 1033, 1036, 1033, 1035, 1035, 1042, 1033, 1043, 1033, - 1039, 1041, 1040, 1040, 1033, 1047, 1044, 1045, 1042, 1033, + 1034, 1045, 1032, 1034, 1036, 1042, 1037, 1041, 1041, 1042, + 1038, 1043, 0, 1051, 1034, 1039, 0, 1039, 1047, 1040, + 1044, 1039, 1048, 1039, 1040, 1047, 1045, 1049, 1039, 1046, + 1046, 1062, 1053, 1039, 1048, 1051, 1049, 1053, 1050, 1039, + 1051, 0, 1039, 1054, 1039, 1047, 1052, 0, 1039, 1048, + 1039, 1050, 1046, 1055, 1049, 1039, 1046, 1046, 1062, 1052, + 1039, 1054, 1056, 1057, 1053, 1050, 1055, 1058, 1059, 1060, + 1054, 1058, 1063, 1052, 1056, 1057, 0, 1071, 1063, 1061, + 1055, 1058, 1065, 1059, 1064, 1056, 1067, 1069, 1066, 1056, + 1057, 1060, 1061, 1058, 1058, 1059, 1060, 1064, 1058, 1063, - 1047, 1063, 1045, 0, 1046, 1033, 1043, 1048, 1033, 1044, - 1033, 1049, 1056, 1042, 1033, 1040, 1033, 1046, 1050, 1040, - 1040, 1033, 1053, 1044, 1049, 1048, 1033, 1047, 1051, 1054, - 1050, 1046, 1052, 1063, 1048, 1055, 1052, 1053, 1049, 1056, - 1051, 1050, 1060, 1059, 1057, 1050, 1052, 1058, 1055, 1053, - 1057, 1054, 1064, 1065, 1061, 1051, 1054, 1050, 1052, 1052, - 1058, 1059, 1055, 1052, 1060, 1062, 1067, 1068, 1069, 1060, - 1059, 1057, 1068, 1052, 1058, 1061, 1069, 1070, 0, 1073, - 1065, 1061, 1072, 0, 1064, 0, 1070, 1062, 1075, 1074, - 0, 0, 1062, 1076, 1068, 1069, 0, 1072, 1067, 1077, + 1065, 1056, 1068, 1070, 1071, 1073, 1061, 1067, 1058, 1065, + 1066, 1064, 1074, 1067, 1075, 1066, 1076, 1074, 1078, 1069, + 1079, 1080, 1075, 1081, 1068, 1076, 1082, 0, 1091, 1068, + 0, 0, 1083, 1078, 1080, 1070, 0, 1073, 1081, 1074, + 0, 1075, 1079, 1076, 1077, 1078, 1084, 1079, 1080, 1077, + 1081, 1077, 1082, 1082, 1083, 1085, 1086, 1077, 1088, 1083, + 1091, 1087, 1077, 1077, 1089, 1084, 1088, 1086, 1085, 1077, + 1077, 1077, 1089, 1084, 1087, 1090, 1077, 1092, 1077, 1093, + 1098, 1102, 1085, 1086, 1077, 1088, 1090, 1095, 1087, 1077, + 1077, 1089, 1094, 1099, 1093, 1105, 1077, 1103, 1095, 1092, - 0, 1073, 1074, 1075, 1070, 1071, 1073, 0, 1078, 1072, - 1071, 1085, 1071, 0, 1082, 1075, 1074, 1080, 1071, 1076, - 1076, 1077, 1082, 1071, 1071, 1079, 1077, 1078, 1080, 1081, - 1071, 1071, 1071, 1086, 1087, 1078, 1084, 1071, 1079, 1071, - 1083, 1082, 1081, 1085, 1080, 1071, 1096, 1084, 1083, 1087, - 1071, 1071, 1079, 1088, 1089, 1086, 1081, 1071, 1092, 1090, - 1086, 1087, 1088, 1084, 1091, 1089, 1093, 1083, 1090, 1094, - 1097, 1098, 0, 1091, 1100, 1101, 1094, 1099, 1096, 1098, - 1088, 1089, 1103, 1102, 1105, 1092, 1090, 0, 1100, 1093, - 1103, 1091, 1107, 1093, 1097, 1106, 1094, 1097, 1098, 1099, + 1096, 1094, 1090, 1097, 1092, 0, 1093, 1098, 1100, 1096, + 1104, 1106, 1097, 1102, 1095, 1100, 1099, 1105, 1104, 1094, + 1099, 1103, 1105, 1107, 1103, 1106, 1108, 1096, 0, 1111, + 1097, 1109, 1112, 1113, 1114, 1100, 1115, 1104, 1106, 1109, + 1118, 1117, 1115, 1116, 1113, 1119, 0, 1111, 1108, 1117, + 1112, 1120, 1119, 1108, 1121, 1107, 1111, 1124, 1109, 1112, + 1113, 1116, 1118, 1115, 1120, 1125, 1114, 1118, 1117, 1122, + 1116, 1123, 1119, 1126, 1131, 1124, 1122, 1127, 1120, 1128, + 1121, 1121, 1129, 1125, 1124, 1131, 1123, 1127, 1134, 1133, + 1138, 1135, 1125, 0, 1126, 1134, 1122, 1136, 1123, 1136, - 1108, 1100, 1105, 1107, 1099, 1102, 1109, 1101, 1110, 1103, - 1102, 1105, 1109, 1106, 1112, 1111, 1114, 1113, 1116, 1107, - 1115, 1118, 1106, 1111, 1113, 1116, 1110, 1122, 1123, 1114, - 1120, 1128, 1108, 1109, 1117, 1110, 1112, 1119, 1128, 1118, - 1121, 1112, 1111, 1114, 1113, 1116, 1115, 1115, 1118, 1117, - 1121, 1120, 1125, 1122, 1122, 1119, 1127, 1120, 1128, 1129, - 1123, 1117, 1131, 1125, 1119, 1132, 1130, 1121, 1130, 1127, - 1146, 0, 1133, 1134, 1135, 1147, 1137, 1144, 1192, 1125, - 1133, 1134, 1136, 1127, 1131, 1129, 1129, 1135, 1137, 1131, - 1138, 1136, 1139, 1130, 1142, 1144, 1143, 1132, 1145, 1133, + 1126, 1131, 1133, 1137, 1127, 1128, 1128, 1144, 1141, 1145, + 1152, 1139, 1140, 1153, 1129, 1134, 1133, 1135, 1135, 1139, + 1140, 1141, 1138, 1142, 1136, 1137, 1148, 1149, 1143, 1144, + 1137, 1145, 1142, 1150, 1144, 1141, 1145, 1151, 1139, 1140, + 1143, 1154, 1152, 1156, 1155, 1153, 1175, 1158, 1148, 1149, + 1142, 1150, 0, 1148, 1149, 1143, 1155, 1156, 1158, 1154, + 1150, 1159, 1161, 1151, 1151, 1161, 1159, 1162, 1154, 0, + 1156, 1155, 1163, 1164, 1158, 1165, 1166, 1167, 1175, 1162, + 1169, 1170, 1165, 1173, 1167, 1177, 1164, 0, 1161, 1161, + 0, 1169, 1161, 1159, 1162, 0, 1163, 1173, 1166, 1163, - 1134, 1135, 1146, 1137, 1144, 1192, 1150, 1147, 1148, 1136, - 1149, 0, 1138, 0, 1139, 0, 1142, 1138, 1143, 1139, - 1150, 1142, 1149, 1143, 1145, 1145, 1148, 1152, 1156, 1153, - 1158, 1160, 1157, 1150, 1153, 1148, 1155, 1149, 1152, 1155, - 1156, 1159, 1161, 1158, 0, 1164, 1162, 1162, 1159, 1161, - 1169, 1171, 0, 1160, 1152, 1156, 1157, 1158, 1160, 1157, - 1162, 1153, 1155, 1155, 1163, 1164, 1155, 1165, 1159, 1161, - 1166, 1167, 1164, 1162, 1162, 1163, 1168, 1170, 1165, 1166, - 1172, 0, 1169, 1171, 1170, 1167, 1173, 1174, 1168, 1176, - 0, 1163, 1172, 1177, 1165, 1178, 1179, 1166, 1167, 1180, + 1164, 1170, 1165, 1166, 1167, 1168, 1168, 1169, 1170, 1171, + 1173, 1174, 1172, 1178, 1180, 1176, 0, 1177, 1182, 1168, + 1171, 1172, 1176, 1174, 1179, 1178, 1183, 1180, 1184, 1188, + 1185, 0, 1168, 1168, 1184, 0, 1171, 1186, 1174, 1172, + 1178, 1180, 1176, 1187, 1182, 1182, 1179, 1188, 1191, 1189, + 1183, 1179, 1185, 1183, 1187, 1184, 1188, 1185, 1190, 1186, + 1193, 1194, 1195, 1191, 1186, 1197, 1198, 1196, 1199, 1200, + 1187, 1189, 1194, 1196, 1201, 1191, 1189, 1202, 1200, 0, + 1190, 1193, 1203, 1195, 1204, 1190, 1199, 1193, 1194, 1195, + 1206, 1203, 1204, 1198, 1196, 1199, 1200, 1197, 1201, 1205, - 1174, 1178, 1191, 1168, 1170, 1183, 1182, 1172, 1173, 1184, - 1185, 0, 1202, 1173, 1174, 1176, 1176, 1177, 1179, 1181, - 1177, 1180, 1178, 1179, 1182, 1185, 1180, 1183, 1187, 1188, - 1181, 1184, 1183, 1182, 1191, 1190, 1184, 1185, 1189, 1193, - 1188, 1190, 1194, 1195, 1202, 1196, 1181, 1199, 1203, 1187, - 1198, 1194, 1197, 1204, 1199, 1187, 1188, 1193, 1198, 1189, - 1200, 1197, 1190, 0, 1201, 1189, 1193, 1195, 1205, 1194, - 1195, 1196, 1196, 1207, 1199, 1206, 1208, 1198, 1201, 1197, - 1203, 1209, 1211, 1212, 1200, 1204, 1214, 1200, 0, 1213, - 1205, 1201, 1212, 1215, 1216, 1205, 1213, 1206, 1208, 1217, + 1208, 1201, 1207, 1202, 1202, 1209, 1205, 1210, 1211, 1203, + 1213, 1204, 1215, 0, 1206, 0, 1207, 1206, 1212, 1214, + 1219, 1217, 1218, 1220, 1222, 0, 1205, 1219, 0, 1207, + 1211, 1218, 1208, 0, 1221, 1211, 1224, 1209, 1223, 1210, + 1212, 1214, 1213, 1217, 1215, 1212, 1214, 1219, 1217, 1218, + 1223, 1222, 1225, 1226, 1224, 1220, 1221, 1227, 1229, 1228, + 1231, 1221, 1233, 1224, 1230, 1223, 1227, 1228, 1232, 1236, + 1225, 1233, 1239, 1235, 1237, 1226, 1231, 1234, 0, 1225, + 1226, 1235, 1229, 1240, 1227, 1229, 1228, 1231, 1230, 1233, + 1232, 1230, 1234, 1238, 1239, 1232, 1242, 1243, 1244, 1239, - 1220, 1218, 1206, 1208, 1211, 1207, 1219, 0, 1221, 1211, - 1212, 1217, 1223, 1209, 1224, 1215, 1213, 1221, 1214, 1218, - 1215, 1216, 1220, 1222, 1219, 1226, 1217, 1220, 1218, 1225, - 1230, 1222, 1231, 1219, 1227, 1221, 1223, 0, 1224, 1223, - 1228, 1224, 1234, 1227, 1233, 1225, 1229, 1226, 1232, 1235, - 1222, 0, 1226, 1237, 1229, 1228, 1225, 1235, 0, 1236, - 1232, 1227, 1230, 1241, 1231, 1238, 1233, 1228, 1237, 1234, - 1240, 1233, 1236, 1229, 1238, 1232, 1235, 1242, 1246, 1240, - 1237, 1241, 1243, 1245, 1243, 1242, 1236, 1247, 1248, 1249, - 1241, 1245, 1238, 1251, 1254, 1250, 1246, 1240, 1255, 1253, + 1235, 1236, 0, 1241, 1234, 1238, 1237, 1245, 1247, 1242, + 1240, 1241, 1255, 1244, 1248, 1250, 1245, 1247, 1249, 1251, + 1238, 1251, 1254, 1242, 1256, 1244, 1249, 0, 1253, 1243, + 1241, 1257, 1248, 0, 1245, 1247, 1253, 1258, 1250, 1255, + 1254, 1248, 1250, 1256, 1261, 1249, 1251, 1259, 1262, 1254, + 1263, 1256, 1265, 1257, 1259, 1253, 1264, 1261, 1257, 1258, + 1262, 1266, 1267, 1269, 1258, 1263, 1270, 1271, 0, 1268, + 1265, 1261, 1272, 1266, 1259, 1262, 1268, 1263, 1264, 1265, + 1273, 1274, 1276, 1264, 1272, 1275, 1271, 1277, 1266, 1267, + 1280, 1273, 1278, 1279, 1271, 1269, 1268, 0, 1270, 1272, - 1251, 1256, 1259, 1261, 1242, 1246, 1254, 1248, 1262, 1243, - 1245, 1249, 1253, 1255, 1247, 1248, 1249, 1250, 1257, 1258, - 1251, 1254, 1250, 1256, 1263, 1255, 1253, 1260, 1256, 1259, - 1264, 1258, 0, 1265, 1260, 1261, 1257, 1266, 1267, 1268, - 1262, 0, 1264, 1263, 1265, 1257, 1258, 1271, 1273, 1269, - 0, 1263, 1275, 1274, 1260, 1270, 1273, 1264, 1272, 1266, - 1265, 1268, 1269, 1267, 1266, 1267, 1268, 1279, 1270, 1271, - 1272, 1276, 1275, 1277, 1271, 1273, 1269, 1274, 1280, 1275, - 1274, 1277, 1270, 1276, 1281, 1272, 1282, 1283, 1284, 1285, - 0, 1280, 1287, 0, 1279, 1292, 1283, 1286, 1276, 1287, + 1277, 1282, 1280, 1274, 1276, 1278, 1283, 1273, 1274, 1276, + 1275, 1284, 1275, 1281, 1277, 1279, 1285, 1280, 1287, 1278, + 1279, 1281, 1288, 1284, 1285, 1282, 1283, 1289, 1282, 1290, + 1291, 1292, 1293, 1283, 1294, 1288, 0, 0, 1284, 1291, + 1281, 1295, 1300, 1285, 1293, 1287, 0, 1290, 1295, 1288, + 1289, 1296, 1298, 1301, 1289, 1294, 1290, 1291, 1299, 1293, + 1296, 1294, 1296, 1292, 1300, 1296, 1302, 1303, 1295, 1300, + 1304, 1305, 0, 1296, 1306, 1298, 1313, 0, 1296, 1298, + 1301, 1303, 1306, 1304, 1299, 1299, 1302, 1296, 1308, 1296, + 1307, 1310, 1296, 1302, 1303, 1305, 1311, 1304, 1305, 1307, - 1277, 1285, 1290, 1293, 1282, 1280, 1291, 1281, 1294, 0, - 1305, 1281, 1288, 1282, 1283, 0, 1285, 1292, 1286, 1287, - 1284, 1288, 1292, 1288, 1286, 1290, 1288, 1295, 1294, 1290, - 1293, 1296, 1291, 1291, 1288, 1294, 1297, 1298, 1299, 1288, - 1302, 1295, 1305, 1300, 1296, 1298, 1306, 1299, 1288, 1303, - 1288, 1304, 1311, 1288, 1295, 1308, 1307, 1303, 1296, 1312, - 1297, 1300, 1302, 1297, 1298, 1299, 1304, 1302, 1306, 1307, - 1300, 1308, 1309, 1306, 1313, 1315, 1303, 1314, 1304, 1311, - 1309, 1312, 1308, 1307, 1314, 1316, 1312, 1317, 1318, 0, - 1320, 1319, 0, 1323, 1322, 1324, 1313, 1315, 1320, 1309, + 1314, 1306, 1317, 1315, 1311, 1312, 1308, 1319, 1313, 1316, + 1317, 1320, 1324, 1310, 0, 1308, 1315, 1307, 1310, 1321, + 1312, 1322, 1314, 1311, 1325, 1316, 0, 1314, 1322, 1317, + 1315, 1323, 1312, 1320, 1319, 1324, 1316, 1326, 1320, 1324, + 1327, 1321, 1325, 1331, 1330, 1329, 1321, 1328, 1322, 1326, + 1332, 1325, 1327, 1323, 1329, 1328, 1330, 1335, 1323, 1336, + 1333, 1339, 0, 1331, 1326, 1332, 1335, 1327, 1333, 1329, + 1331, 1330, 1329, 1334, 1328, 1340, 1337, 1332, 1338, 1334, + 1336, 1329, 1340, 1341, 1335, 1343, 1336, 1333, 1337, 1338, + 1341, 1342, 1345, 1339, 1338, 1349, 1344, 1343, 1346, 1347, - 1318, 1313, 1315, 1319, 1314, 1317, 1322, 1321, 1316, 1328, - 1324, 1325, 1316, 1323, 1317, 1318, 1321, 1320, 1319, 1325, - 1323, 1322, 1324, 1326, 1327, 1329, 1331, 1334, 1330, 1326, - 1328, 1321, 1341, 1327, 1321, 1332, 1328, 1329, 1325, 1330, - 1333, 1335, 1332, 1321, 1330, 1334, 1337, 1333, 1336, 1338, - 1326, 1327, 1329, 1335, 1334, 1330, 1336, 1338, 1331, 1340, - 1344, 1337, 1332, 1339, 1341, 1339, 1330, 1333, 1335, 1345, - 1342, 1340, 1346, 1337, 1347, 1336, 1338, 1342, 1349, 1351, - 1348, 1345, 1350, 1352, 0, 1346, 1340, 1348, 1352, 1349, - 1339, 1356, 1344, 1347, 1351, 1353, 1345, 1342, 1354, 1346, + 1334, 1347, 1340, 1337, 1344, 1338, 1346, 1345, 1348, 1342, + 1341, 1352, 1343, 1355, 1350, 1354, 1338, 1353, 1342, 1345, + 1348, 1350, 1357, 1344, 1356, 1346, 1347, 1349, 1354, 1353, + 1358, 1356, 1355, 1357, 1360, 1348, 1363, 1361, 1359, 1360, + 1355, 1350, 1354, 1352, 1353, 1361, 1362, 0, 1364, 1357, + 1363, 1356, 1358, 1359, 1366, 1367, 0, 1358, 1369, 1362, + 1368, 1374, 1372, 1363, 1361, 1359, 1360, 0, 1373, 1367, + 1370, 0, 0, 1362, 1364, 1364, 1365, 1371, 1368, 1366, + 1365, 1366, 1367, 1365, 1365, 1372, 1373, 1368, 1365, 1372, + 1369, 1375, 1376, 1374, 1365, 1373, 1370, 1370, 1365, 1371, - 1355, 1347, 1359, 1353, 1350, 1349, 1351, 1348, 0, 1350, - 1361, 1354, 1358, 1366, 1355, 1352, 1359, 1356, 1356, 0, - 1360, 1363, 1353, 0, 1370, 1354, 1362, 1355, 1357, 1359, - 1370, 1365, 1357, 1364, 0, 1357, 1357, 1358, 1360, 1358, - 1357, 1371, 1361, 1363, 1367, 1366, 1357, 1360, 1363, 1365, - 1357, 1370, 1362, 1362, 1357, 1357, 1364, 1368, 1365, 1357, - 1364, 1369, 1357, 1357, 1371, 1374, 1367, 1357, 1371, 0, - 1372, 1367, 1374, 1357, 1373, 1376, 1373, 1357, 1372, 1368, - 1375, 1377, 1378, 1380, 1368, 1379, 0, 1369, 1369, 1375, - 1376, 1385, 1374, 1381, 1383, 1384, 1372, 1372, 1373, 1382, + 1377, 1379, 1365, 1365, 1371, 1385, 1378, 1365, 1380, 1386, + 1365, 1365, 1378, 1375, 1376, 1365, 1380, 0, 1375, 1376, + 1381, 1365, 1381, 1382, 1379, 1365, 1377, 1377, 1379, 1383, + 1382, 1384, 1388, 1378, 1380, 1380, 1387, 1385, 1383, 1389, + 1391, 1386, 1392, 1380, 1381, 1390, 1384, 1381, 1394, 1381, + 1382, 1396, 1390, 1388, 1395, 1392, 1383, 1389, 1384, 1388, + 1387, 1393, 1391, 1387, 1397, 1399, 1389, 1391, 1401, 1392, + 1393, 1398, 1390, 1405, 1402, 1395, 1403, 0, 0, 1399, + 1394, 1395, 1407, 1396, 1404, 1404, 1397, 1402, 1393, 1405, + 1401, 1397, 1399, 1412, 1398, 1401, 1411, 1413, 1398, 1400, - 1385, 1373, 1376, 1373, 1380, 1372, 1382, 1375, 1384, 1379, - 1380, 1381, 1379, 1377, 1378, 1386, 1383, 1387, 1385, 1388, - 1381, 1383, 1384, 1389, 0, 1390, 1382, 1391, 0, 1394, - 1397, 1393, 1396, 1396, 0, 0, 1399, 0, 1387, 0, - 0, 1391, 1394, 1395, 1387, 1389, 1397, 1386, 1390, 1404, - 1389, 1388, 1390, 1393, 1391, 1392, 1394, 1397, 1393, 1399, - 1392, 1396, 1392, 1399, 1392, 1400, 1392, 1401, 1403, 1395, - 1395, 1402, 1405, 1392, 1401, 0, 1404, 1400, 1406, 0, - 1402, 0, 1392, 1406, 1408, 1409, 1403, 1392, 1407, 1392, - 1410, 1392, 1400, 1392, 1401, 1403, 1413, 1408, 1402, 1405, + 1405, 1402, 1403, 1403, 1400, 1407, 1400, 1408, 1400, 1407, + 1400, 1409, 1410, 1404, 1411, 1415, 0, 1400, 1409, 1408, + 1412, 1410, 1414, 1411, 1413, 1417, 1400, 1414, 1416, 1415, + 1418, 1400, 1419, 1400, 1408, 1400, 1421, 1400, 1409, 1410, + 1420, 1416, 1415, 1417, 1428, 1420, 1423, 1419, 1418, 1422, + 1427, 1429, 1417, 1424, 1414, 1416, 1426, 1418, 1421, 1419, + 1425, 1424, 1422, 1421, 1423, 1430, 1429, 1420, 1425, 1426, + 1428, 1428, 1431, 1423, 1432, 1433, 1422, 1434, 1429, 0, + 1424, 1436, 1427, 1426, 1430, 1431, 1435, 1425, 1433, 1437, + 1436, 1437, 1430, 1438, 1439, 1434, 1432, 1440, 1441, 1431, - 1412, 1411, 1407, 1409, 1415, 1412, 1414, 1418, 1410, 1419, - 1406, 1408, 1409, 1416, 0, 1407, 1411, 1410, 1413, 1414, - 1418, 1416, 1415, 1413, 1417, 0, 1420, 1412, 1411, 1421, - 1422, 1415, 1417, 1414, 1418, 1423, 1424, 1425, 1428, 1427, - 1416, 1419, 1426, 1429, 1421, 1429, 1430, 1428, 1423, 1422, - 1425, 1417, 1420, 1420, 1431, 1432, 1421, 1422, 1424, 1427, - 1426, 1433, 1423, 1424, 1425, 1428, 1427, 1432, 1430, 1426, - 1429, 1434, 1435, 1430, 1438, 1439, 1437, 1440, 1441, 1442, - 1443, 1431, 1432, 1439, 1444, 1446, 1442, 1445, 1433, 1449, - 0, 1446, 0, 1434, 1454, 1440, 1438, 1435, 1434, 1435, + 1442, 1432, 1433, 1443, 1434, 1445, 1435, 1449, 1436, 1440, + 1447, 1446, 1450, 1435, 1451, 1438, 1437, 1448, 1447, 1450, + 1438, 1439, 1442, 1452, 1440, 1441, 1453, 1442, 1443, 1445, + 1443, 1457, 1445, 1446, 1449, 1448, 1454, 1447, 1446, 1450, + 1455, 1451, 1454, 1462, 1448, 1456, 1455, 1458, 1453, 1452, + 1452, 1456, 1459, 1453, 1458, 1463, 1460, 1461, 1457, 0, + 1464, 1465, 1459, 1454, 1461, 1468, 1469, 1455, 0, 1470, + 3795, 3795, 1456, 1472, 1458, 1462, 1466, 1463, 1464, 1459, + 1460, 1470, 1463, 1460, 1461, 1466, 1465, 1464, 1465, 1468, + 1469, 1471, 1468, 1469, 1473, 1472, 1470, 1474, 1475, 3795, - 1437, 1438, 1439, 1437, 1440, 1441, 1442, 1443, 1451, 1445, - 1444, 1444, 1446, 1447, 1445, 1448, 1449, 1450, 1451, 1447, - 1453, 1448, 1452, 1455, 1450, 1456, 1454, 1453, 1457, 1458, - 1460, 0, 0, 1478, 1461, 1451, 1462, 1463, 1458, 1479, - 1447, 0, 1448, 1456, 1450, 1455, 1452, 1453, 1462, 1452, - 1455, 1463, 1456, 1457, 1460, 1457, 1458, 1460, 1461, 1464, - 1465, 1461, 1466, 1462, 1463, 1478, 1467, 1469, 1468, 0, - 1470, 1479, 1471, 1465, 1472, 0, 1482, 0, 0, 1473, - 1475, 1464, 1474, 1480, 1466, 1467, 1464, 1465, 1473, 1466, - 1468, 1469, 1470, 1467, 1469, 1468, 1472, 1470, 1471, 1471, + 1472, 1476, 1477, 1466, 0, 1471, 1479, 1473, 1478, 1480, + 0, 1481, 1486, 1482, 1487, 1491, 0, 1475, 1471, 1474, + 1481, 1473, 1483, 1476, 1474, 1475, 1477, 1484, 1476, 1477, + 1478, 1480, 1479, 1479, 1482, 1478, 1480, 1488, 1481, 1489, + 1482, 1484, 1483, 1490, 1486, 1493, 1487, 1491, 1495, 1483, + 1492, 1494, 1496, 1493, 1484, 1497, 1502, 1506, 1500, 1503, + 0, 1489, 1497, 1488, 1488, 1490, 1489, 1494, 1492, 1498, + 1490, 1503, 1493, 1502, 1495, 1495, 1498, 1492, 1494, 1496, + 1500, 1501, 1497, 1502, 1504, 1500, 1503, 1507, 1505, 1506, + 1501, 1504, 1505, 1508, 1509, 1511, 1498, 1515, 1520, 1512, - 1475, 1472, 1476, 1474, 1481, 1480, 1473, 1475, 1482, 1474, - 1480, 1484, 1483, 1486, 1487, 1488, 1476, 1485, 0, 1484, - 1492, 1487, 1488, 1490, 1493, 1491, 1481, 1496, 1494, 1476, - 1483, 1481, 1497, 1485, 1491, 1494, 1493, 1492, 1484, 1483, - 1486, 1487, 1488, 1501, 1485, 1490, 1498, 1492, 1505, 1495, - 1490, 1493, 1491, 1495, 1499, 1494, 1502, 1504, 1512, 1496, - 1512, 1506, 1502, 0, 1497, 1503, 0, 1498, 1506, 1502, - 1499, 1503, 1507, 1498, 1510, 1501, 1495, 1508, 1503, 1504, - 1505, 1499, 1509, 1502, 1504, 1512, 1511, 1507, 1506, 1502, - 1508, 1509, 1503, 1511, 1513, 1514, 1515, 1516, 1503, 1507, + 0, 1514, 0, 1513, 1518, 1512, 1516, 1517, 1501, 1513, + 1509, 1504, 1512, 1516, 1508, 1505, 1513, 1518, 0, 1507, + 1508, 1509, 1517, 1514, 1520, 1520, 1512, 1511, 1514, 1515, + 1513, 1518, 1512, 1516, 1517, 1519, 1513, 1522, 1521, 1522, + 1523, 1524, 1525, 1526, 1519, 1521, 1527, 0, 1530, 1523, + 1527, 1525, 1528, 1531, 1533, 0, 1530, 1532, 0, 1533, + 1536, 0, 1519, 1524, 1522, 1521, 1531, 1523, 1524, 1525, + 1526, 1532, 1534, 1527, 1528, 1530, 1535, 1537, 1536, 1528, + 1531, 1534, 1538, 1543, 1532, 1535, 1533, 1536, 1539, 1540, + 1541, 1547, 1540, 1541, 1544, 1538, 1537, 1546, 1549, 1534, - 1510, 1510, 1517, 1513, 1508, 1515, 1517, 1520, 1518, 1509, - 1524, 1523, 1521, 1511, 1522, 1520, 1523, 1514, 1525, 1524, - 1526, 1513, 1514, 1515, 1516, 1521, 0, 1525, 1522, 1517, - 1518, 1527, 1529, 1528, 1520, 1518, 1532, 1524, 1526, 1521, - 1533, 1522, 1534, 1523, 1529, 1525, 1528, 1526, 1531, 1530, - 1527, 1531, 1530, 1536, 1532, 1534, 1539, 1537, 1527, 1529, - 1528, 1530, 0, 1532, 1538, 1533, 1540, 1533, 1537, 1534, - 1531, 1540, 1539, 1541, 1544, 1531, 1530, 1543, 1531, 1530, - 1545, 1541, 1552, 1539, 1537, 1536, 1543, 1538, 1542, 1542, - 1546, 1538, 1548, 1559, 1547, 1552, 1544, 1584, 1540, 1548, + 1539, 1540, 1547, 1535, 1537, 1542, 0, 1544, 1543, 1538, + 1543, 1548, 1541, 1554, 1549, 1539, 1540, 1541, 1547, 1540, + 1541, 1544, 1550, 1542, 1553, 1549, 1555, 1550, 1551, 1546, + 1552, 1552, 1542, 1553, 1548, 1554, 1551, 1556, 1548, 1558, + 1554, 1557, 1560, 1559, 1566, 1562, 1558, 1563, 1555, 1560, + 1557, 1553, 1564, 1555, 1550, 1551, 1563, 1552, 1562, 1556, + 1565, 1564, 1569, 1570, 1556, 1559, 1558, 1566, 1557, 1560, + 1559, 1566, 1562, 1567, 1563, 1568, 1572, 1571, 1570, 1564, + 1573, 0, 1567, 1568, 1572, 1574, 1565, 1565, 1571, 1575, + 1570, 1576, 1577, 1573, 1569, 1578, 1580, 1574, 1579, 1576, - 1541, 1544, 1545, 1547, 1543, 1549, 1550, 1545, 1555, 1552, - 1558, 1553, 1546, 1550, 1554, 1542, 1556, 1546, 1558, 1548, - 1553, 1547, 1557, 1554, 1584, 1559, 0, 1549, 0, 1560, - 0, 1557, 1549, 1550, 1555, 1555, 1561, 1558, 1553, 1556, - 1562, 1554, 1563, 1556, 1560, 1564, 1565, 1561, 1562, 1557, - 1568, 1566, 1567, 1569, 0, 1563, 1560, 1564, 1565, 1566, - 1572, 1580, 1570, 1561, 1581, 1574, 0, 1562, 1571, 1563, - 1568, 1570, 1564, 1565, 1567, 1569, 1575, 1568, 1566, 1567, - 1569, 1571, 1572, 1574, 1573, 1576, 1577, 1572, 1579, 1570, - 1573, 1578, 1574, 1580, 1582, 1571, 1581, 1576, 1578, 1583, + 1567, 1575, 1568, 1572, 1571, 1580, 1582, 1573, 1581, 1584, + 0, 1583, 1574, 1585, 1577, 1578, 1575, 1583, 1576, 1577, + 1579, 1581, 1578, 1580, 1587, 1579, 1589, 1584, 1582, 1586, + 1588, 1590, 1591, 1582, 1592, 1581, 1584, 1588, 1583, 1585, + 1585, 1586, 1587, 1593, 1594, 1595, 1598, 1592, 1596, 1597, + 1599, 1587, 1589, 1589, 1600, 1597, 1586, 1588, 1601, 1596, + 1605, 1592, 1602, 1590, 1591, 1607, 1595, 0, 1598, 1593, + 1593, 1594, 1595, 1598, 1603, 1596, 1597, 0, 1610, 1606, + 0, 1609, 1599, 1607, 1612, 1608, 1600, 1605, 1602, 1602, + 1601, 1610, 1607, 1603, 1608, 1603, 1609, 1611, 0, 1613, - 1587, 1585, 1575, 1575, 1577, 1586, 1587, 1582, 1588, 1589, - 1590, 1573, 1576, 1577, 1579, 1579, 1586, 1591, 1578, 1592, - 1595, 1582, 1585, 0, 0, 1583, 1583, 1587, 1585, 1593, - 1588, 1596, 1586, 1597, 1598, 1588, 1603, 1599, 1606, 1602, - 1600, 1589, 1590, 1598, 0, 1592, 1592, 1595, 1593, 1591, - 1593, 1597, 1599, 1600, 1596, 1593, 1593, 1601, 1596, 1602, - 1597, 1598, 1603, 1603, 1599, 1604, 1602, 1600, 1605, 1601, - 1606, 1607, 1604, 1608, 1609, 1593, 1610, 1593, 1611, 1612, - 1615, 1610, 1609, 1611, 1601, 1614, 1608, 1605, 1615, 1613, - 1619, 1616, 1604, 1607, 1624, 1605, 1613, 1617, 1607, 1616, + 1603, 1603, 1606, 1614, 1612, 1610, 1606, 1616, 1609, 1611, + 1614, 1612, 1608, 1615, 1617, 1618, 1620, 1624, 1621, 1619, + 1603, 1620, 1603, 1621, 1611, 1613, 1613, 1619, 1618, 1622, + 1614, 1623, 1615, 1627, 1629, 1628, 1617, 1625, 1623, 1616, + 1615, 1617, 1618, 1624, 1624, 1625, 1619, 1626, 1620, 1634, + 1621, 1627, 1622, 1630, 0, 1626, 1622, 1628, 1623, 1631, + 1627, 1630, 1628, 1632, 1625, 1635, 1629, 1631, 1633, 1636, + 1632, 1638, 1639, 1637, 1626, 1640, 1642, 1633, 1638, 1645, + 1630, 1634, 1637, 1643, 1639, 1644, 1631, 1635, 1641, 1641, + 1632, 1643, 1635, 0, 0, 1633, 1646, 1640, 1638, 1639, - 1608, 1609, 1612, 1618, 0, 1620, 1612, 1615, 1610, 1621, - 1611, 1614, 1614, 1620, 1622, 1617, 1613, 1621, 1616, 1623, - 1625, 1622, 1619, 1626, 1617, 1618, 1624, 1628, 1623, 1627, - 1618, 1629, 1620, 1632, 1628, 1630, 1621, 1633, 1627, 1631, - 1631, 1622, 1625, 1629, 1635, 1633, 1623, 1625, 1634, 0, - 1637, 1636, 1638, 1639, 1628, 1626, 1627, 1630, 1629, 1636, - 1638, 1639, 1630, 1640, 1633, 1632, 1631, 1645, 1637, 1634, - 1642, 1640, 1644, 1641, 1646, 1634, 1635, 1637, 1636, 1638, - 1639, 1641, 1643, 1642, 1644, 1650, 1651, 1647, 1643, 1652, - 1640, 1649, 1653, 1645, 1645, 1647, 1648, 1642, 1646, 1644, + 1637, 1636, 1640, 1647, 1646, 1648, 1644, 1652, 1642, 1649, + 1643, 1645, 1644, 1648, 1650, 1641, 1651, 1649, 1655, 1653, + 1652, 1647, 1650, 1646, 1651, 1653, 1654, 1656, 1660, 1657, + 1647, 1658, 1648, 1659, 1652, 1661, 1649, 1657, 1654, 1658, + 1663, 1650, 1662, 1651, 1655, 1655, 1653, 1664, 1659, 0, + 1666, 1656, 1667, 1654, 1656, 1660, 1657, 1672, 1658, 1665, + 1659, 1664, 1661, 1663, 1662, 1673, 1667, 1663, 1666, 1662, + 0, 1665, 1670, 1674, 1664, 0, 1670, 1666, 1675, 1667, + 1676, 1678, 1674, 1672, 1672, 1680, 1665, 1673, 1677, 1670, + 1681, 1682, 1673, 1678, 1679, 1683, 1680, 1670, 1676, 1670, - 1641, 1646, 1662, 1654, 1648, 1663, 1649, 1656, 1655, 1643, - 1657, 1652, 1650, 1651, 1647, 1653, 1652, 1654, 1649, 1653, - 1655, 1665, 1660, 1648, 1657, 1656, 1660, 1663, 1662, 1662, - 1654, 1664, 1663, 1666, 1656, 1655, 0, 1657, 1668, 1660, - 1664, 1667, 1671, 1670, 1673, 1665, 1676, 1660, 1665, 1660, - 1668, 1666, 1669, 1660, 1670, 1672, 0, 1675, 1664, 1669, - 1666, 1674, 1678, 1667, 1677, 1668, 1660, 1679, 1667, 1671, - 1670, 1675, 1684, 1674, 1680, 1682, 1673, 1672, 1676, 1669, - 1683, 1680, 1672, 1681, 1675, 1678, 1677, 1683, 1674, 1678, - 1679, 1677, 1681, 1682, 1679, 1685, 1687, 1689, 1691, 1693, + 1674, 1679, 1675, 1670, 1686, 1675, 1685, 1676, 1678, 0, + 1677, 1684, 1680, 1682, 0, 1677, 1670, 1681, 1682, 1687, + 1685, 1679, 1688, 1684, 1689, 1690, 1691, 1683, 1694, 1695, + 1692, 1697, 1690, 1685, 1699, 1691, 1686, 1693, 1684, 1703, + 1697, 1687, 1702, 1701, 1693, 1688, 1687, 1689, 1692, 1688, + 1706, 1689, 1690, 1691, 1708, 1700, 1695, 1692, 1697, 1709, + 1694, 1700, 1710, 0, 1693, 1701, 1699, 1704, 1702, 1702, + 1701, 1703, 1711, 1710, 1704, 1717, 1712, 1706, 1708, 1715, + 1714, 1708, 1700, 1711, 1716, 1715, 1709, 1712, 1718, 1710, + 1719, 1716, 1721, 1717, 1704, 1718, 1720, 1722, 1721, 1711, - 1690, 1680, 1682, 1696, 1684, 1687, 1690, 1683, 1692, 1694, - 1681, 1699, 1705, 1698, 0, 1700, 1694, 1701, 1705, 1704, - 1691, 1702, 1685, 1687, 0, 1691, 1700, 1690, 1701, 1689, - 1696, 1693, 1702, 1707, 1692, 1692, 1694, 1698, 1699, 1705, - 1698, 1709, 1700, 1704, 1701, 1706, 1704, 1708, 1702, 1710, - 1711, 1707, 1706, 1713, 1708, 1712, 1711, 1714, 1715, 1716, - 1707, 1710, 1717, 1712, 0, 1713, 1719, 1709, 1709, 1718, - 0, 1715, 1706, 1728, 1708, 1719, 1710, 1711, 1720, 1714, - 1713, 1721, 1712, 1721, 1714, 1715, 1723, 1718, 1717, 1717, - 1720, 1716, 1722, 1719, 1724, 1725, 1718, 1727, 1726, 1722, + 1723, 1725, 1717, 1712, 1714, 1722, 1715, 1714, 1720, 1724, + 1726, 1716, 1723, 1727, 1725, 1718, 1719, 1719, 1732, 1721, + 1728, 1729, 1730, 1720, 1722, 1732, 1733, 1723, 1725, 1736, + 1729, 1724, 1735, 1731, 1730, 1731, 1724, 1734, 1728, 1727, + 1727, 1735, 1726, 1737, 1738, 1732, 1739, 1728, 1729, 1730, + 1734, 1736, 1733, 1733, 1740, 1737, 1736, 1741, 1742, 1735, + 1731, 1740, 1743, 1745, 1734, 1742, 1744, 1743, 1746, 1739, + 1737, 1738, 1747, 1739, 1744, 1748, 1751, 1752, 1754, 1745, + 1747, 1740, 1752, 1741, 1741, 1742, 1753, 1749, 1758, 1743, + 1745, 1746, 1754, 1744, 1749, 1746, 1755, 1748, 1757, 1747, - 1728, 1731, 1734, 1729, 1725, 1720, 1732, 1724, 1721, 1727, - 1730, 1732, 1723, 1723, 1737, 1733, 1735, 1730, 1734, 1722, - 1726, 1724, 1725, 1733, 1727, 1726, 1729, 1731, 1731, 1734, - 1729, 1739, 1736, 1732, 1742, 0, 1737, 1730, 1741, 1735, - 1736, 1737, 1733, 1735, 1740, 1743, 1744, 1745, 1742, 1740, - 1746, 1748, 1747, 1747, 0, 1751, 1745, 1744, 1739, 1736, - 1747, 1742, 1741, 1746, 1748, 1741, 1749, 1743, 1749, 1750, - 1752, 1758, 1743, 1744, 1745, 1756, 1740, 1746, 1748, 1747, - 1747, 1751, 1751, 1753, 1754, 1759, 1757, 1750, 1755, 1762, - 1753, 1764, 1752, 1749, 1757, 1755, 1750, 1752, 1758, 1756, + 1756, 1758, 1748, 1751, 1763, 1754, 1760, 1757, 1762, 1752, + 1753, 1756, 1764, 1753, 1749, 1758, 1759, 1759, 1755, 1760, + 1761, 1765, 1761, 1755, 1759, 1757, 1762, 1756, 1765, 1766, + 1763, 1763, 1769, 1760, 1764, 1762, 1768, 1770, 1767, 1764, + 1769, 0, 1782, 1759, 1759, 1767, 1772, 1761, 1765, 1771, + 1773, 1766, 1775, 1774, 1776, 1777, 1766, 1773, 1778, 1769, + 1768, 1779, 1777, 1768, 1770, 1767, 0, 1771, 1772, 1782, + 1785, 1781, 1788, 1772, 1775, 1786, 1771, 1773, 1774, 1775, + 1774, 1783, 1777, 1779, 1781, 1784, 1776, 1789, 1779, 1783, + 1778, 1791, 1785, 1784, 1788, 1792, 1786, 1785, 1781, 1788, - 1760, 1761, 1756, 1759, 1763, 1766, 1754, 1767, 1761, 1770, - 1753, 1754, 1759, 1757, 1762, 1755, 1762, 1765, 1773, 1769, - 1774, 1776, 1760, 1764, 1765, 1771, 1763, 1760, 1761, 1767, - 1772, 1763, 1769, 1771, 1767, 1784, 1770, 1766, 1772, 1777, - 1773, 1774, 1779, 1776, 1765, 1773, 1769, 1774, 1776, 1780, - 1778, 1781, 1771, 1778, 1782, 1783, 1786, 1772, 1785, 1784, - 1791, 1777, 1784, 1782, 1781, 1786, 1777, 1783, 1779, 1779, - 0, 1787, 1788, 1790, 1792, 1780, 1780, 1778, 1781, 1788, - 1798, 1782, 1783, 1786, 1785, 1785, 1787, 1789, 1790, 1793, - 1789, 1795, 1791, 1796, 1799, 1797, 1792, 1797, 1787, 1788, + 1790, 1794, 1786, 1790, 1795, 1796, 1793, 1811, 1783, 1789, + 1794, 1797, 1784, 1803, 1789, 1798, 1795, 1791, 1791, 1793, + 1799, 1792, 1792, 1800, 1798, 1802, 1804, 1790, 1794, 1796, + 1800, 1795, 1796, 1793, 1811, 1799, 1801, 1797, 1797, 1801, + 1802, 1805, 1798, 1807, 0, 1803, 1816, 1799, 1804, 1808, + 1800, 1801, 1802, 1804, 1809, 1810, 1809, 1805, 1813, 1812, + 1801, 1807, 1812, 1801, 1814, 1805, 1801, 1815, 1805, 0, + 1807, 1808, 1816, 1816, 1817, 1818, 1808, 1819, 1801, 1810, + 0, 1809, 1810, 1820, 1805, 1823, 1812, 1822, 0, 1815, + 1813, 1824, 1823, 1821, 1815, 1822, 1814, 1820, 1825, 1819, - 1790, 1792, 1789, 1800, 1798, 1793, 1800, 1798, 1801, 1795, - 1802, 1789, 1803, 1793, 1789, 1796, 1793, 1789, 1795, 1804, - 1796, 1799, 1797, 1805, 1806, 1807, 1809, 1808, 1810, 1789, - 1800, 1811, 1793, 1812, 1803, 1809, 1810, 1813, 1811, 1803, - 1801, 1808, 1802, 1814, 1815, 1804, 1804, 1807, 1817, 1805, - 1805, 1816, 1807, 1809, 1808, 1810, 1806, 1812, 1811, 1818, - 1812, 1819, 1820, 1818, 1823, 1821, 1826, 1824, 1822, 1813, - 0, 1823, 1825, 1816, 1826, 1814, 1815, 1822, 1816, 1824, - 1817, 1825, 0, 1819, 1833, 1828, 1818, 1821, 1819, 1820, - 1827, 1823, 1821, 1826, 1824, 1822, 1829, 1827, 1828, 1825, + 1817, 1817, 1821, 1826, 1819, 1827, 1828, 1818, 1829, 1830, + 1820, 0, 1823, 1830, 1822, 1824, 1831, 1832, 1824, 1833, + 1821, 1838, 1834, 0, 0, 1835, 0, 1836, 1828, 1838, + 1825, 1834, 1835, 1828, 1840, 1826, 1830, 1827, 1831, 1836, + 1829, 1833, 1837, 1831, 1832, 1841, 1833, 1840, 1838, 1834, + 1839, 1837, 1835, 1842, 1836, 1843, 1845, 1839, 1841, 1846, + 1844, 1840, 1844, 1847, 1843, 1848, 1842, 1852, 1854, 1837, + 1853, 1847, 1841, 1850, 1851, 1854, 1862, 1839, 0, 1845, + 1842, 1852, 1843, 1845, 1846, 1848, 1846, 1844, 1850, 1851, + 1847, 1856, 1848, 1855, 1852, 1854, 1857, 1858, 1856, 1859, - 1830, 1831, 1832, 0, 1832, 1834, 1835, 1833, 1841, 1829, - 1831, 1833, 1828, 1830, 1835, 1836, 1838, 1827, 1842, 1839, - 1850, 0, 1840, 1829, 0, 1842, 1843, 1830, 1831, 1832, - 1834, 1838, 1834, 1835, 1839, 1836, 1840, 1843, 1845, 1846, - 1841, 1844, 1836, 1838, 1847, 1842, 1839, 1850, 1844, 1840, - 0, 1845, 1851, 1843, 1848, 1852, 1856, 1846, 1853, 1851, - 1854, 1857, 1855, 1846, 1857, 1845, 1846, 1858, 1844, 1856, - 1847, 1847, 1848, 1853, 1855, 1859, 1858, 1852, 0, 1851, - 1861, 1848, 1852, 1856, 1846, 1853, 1854, 1854, 1857, 1855, - 1860, 1862, 1861, 1859, 1858, 1863, 1870, 1864, 1863, 1871, + 1850, 1851, 1853, 1862, 1855, 1863, 0, 1864, 1869, 1857, + 1860, 1869, 1863, 1866, 1868, 1858, 1865, 0, 1856, 0, + 1855, 1858, 0, 1857, 1858, 1859, 1859, 1868, 1860, 1864, + 1871, 1865, 1863, 1867, 1864, 1869, 0, 1860, 1870, 1866, + 1866, 1868, 1858, 1865, 1873, 1867, 1880, 1870, 1871, 1874, + 1875, 1872, 1876, 1875, 1883, 1880, 1873, 1871, 1884, 1881, + 1867, 1881, 1872, 1876, 1872, 1870, 1872, 0, 1875, 1874, + 0, 1873, 1882, 1880, 1887, 1872, 1874, 1875, 1872, 1876, + 1875, 1883, 1878, 1885, 1888, 1884, 1881, 1878, 1886, 1872, + 1889, 1872, 1887, 1872, 1878, 1890, 1882, 1886, 1885, 1882, - 1872, 1860, 1859, 1860, 1866, 1860, 1868, 1861, 1864, 1866, - 1869, 1862, 1869, 1863, 1860, 1868, 1866, 1860, 1862, 1873, - 1870, 1875, 1863, 1870, 1864, 1863, 1871, 1872, 1860, 1874, - 1860, 1866, 1860, 1868, 1873, 1876, 1866, 1869, 1874, 1875, - 1877, 1878, 1880, 1879, 1881, 1882, 1873, 0, 1875, 1886, - 1880, 1883, 1877, 1884, 1885, 1882, 1874, 1879, 1886, 1876, - 1885, 1887, 1876, 1895, 1889, 0, 1881, 1877, 1878, 1880, - 1879, 1881, 1882, 1883, 1888, 1889, 1886, 1884, 1883, 1890, - 1884, 1885, 1888, 1887, 1891, 1894, 1892, 1893, 1887, 1892, - 1893, 1889, 1891, 1896, 1899, 1895, 1900, 1890, 1897, 1902, + 1896, 1887, 1889, 1893, 1891, 1892, 1894, 1895, 1888, 1878, + 1885, 1888, 1898, 1892, 1878, 1886, 1894, 1889, 1891, 1899, + 1897, 1898, 1890, 0, 1896, 1893, 1897, 1896, 1900, 1895, + 1893, 1891, 1892, 1894, 1895, 1902, 1900, 1901, 1906, 1898, + 1904, 1899, 1903, 1904, 1908, 1907, 1899, 1897, 1901, 1905, + 1903, 1912, 1905, 1902, 1909, 1900, 1906, 1914, 1904, 1910, + 1912, 1911, 1902, 0, 1901, 1906, 1910, 1904, 1914, 1903, + 1904, 1908, 1913, 1916, 1909, 1911, 1905, 1907, 1912, 1917, + 1923, 1909, 1915, 1921, 1914, 1913, 1910, 1915, 1911, 1920, + 1924, 1920, 1921, 1922, 1917, 1916, 0, 1925, 1929, 1913, - 1898, 1888, 1901, 1894, 1892, 1900, 1890, 1898, 1899, 1904, - 1902, 1891, 1894, 1892, 1893, 1901, 1892, 1903, 1897, 1905, - 1896, 1899, 1903, 1900, 1909, 1897, 1902, 1898, 1908, 1901, - 1908, 1904, 1910, 1909, 1905, 1913, 1904, 1911, 0, 1912, - 0, 1914, 0, 1915, 0, 1914, 1905, 1918, 1934, 1903, - 1912, 1909, 1917, 1913, 1919, 1908, 1920, 1915, 1910, 1910, - 1916, 1911, 1913, 1916, 1911, 1917, 1912, 1914, 1914, 1915, - 1915, 1918, 1914, 1921, 1918, 1934, 1919, 1922, 1916, 1917, - 1924, 1919, 1920, 1920, 1915, 1923, 1922, 1916, 1925, 1924, - 1916, 1923, 1927, 1925, 1928, 1930, 1929, 1921, 1931, 1932, + 1916, 1924, 1932, 1930, 1923, 1926, 1917, 1923, 1927, 1926, + 1921, 1929, 1934, 0, 1915, 1925, 1920, 1924, 1931, 1922, + 1922, 1934, 1927, 1928, 1925, 1929, 1928, 1930, 1932, 1932, + 1930, 1926, 1926, 1933, 1927, 1927, 1926, 1935, 1936, 1934, + 1931, 1928, 1939, 1935, 1940, 1931, 1937, 1936, 1942, 1927, + 1928, 1937, 1944, 1928, 1941, 1939, 1940, 1933, 1945, 1941, + 1933, 1943, 1946, 1947, 1935, 1936, 1949, 1945, 1950, 1939, + 1942, 1940, 1948, 1956, 1943, 1942, 1951, 0, 1937, 1949, + 1953, 1941, 1957, 1954, 1944, 1945, 0, 1953, 1943, 1946, + 1954, 1955, 1958, 1949, 1948, 1947, 1957, 1951, 1958, 1948, - 1921, 1929, 1935, 0, 1922, 1927, 1928, 1924, 1936, 1933, - 1938, 1931, 1923, 1937, 1943, 1944, 1939, 1930, 1933, 1927, - 1925, 1928, 1930, 1929, 1947, 1931, 1937, 1943, 0, 0, - 1936, 1932, 1941, 1955, 1935, 1936, 1933, 1939, 1942, 1941, - 1937, 1943, 1938, 1939, 1945, 1942, 1946, 1944, 1949, 1951, - 1954, 0, 1946, 1952, 1953, 1955, 1947, 1951, 1945, 1941, - 1955, 1952, 1953, 1963, 1956, 1942, 1958, 1949, 1962, 1954, - 1946, 1945, 1957, 1946, 1959, 1949, 1951, 1954, 1963, 1946, - 1952, 1953, 1956, 1960, 1958, 1961, 1957, 1964, 1959, 1962, - 1963, 1956, 1965, 1958, 1966, 1962, 1960, 0, 1961, 1957, + 1950, 1959, 1961, 1951, 1955, 1956, 1976, 1953, 1966, 1957, + 1954, 0, 1963, 1968, 1964, 1965, 1958, 0, 1955, 1958, + 1963, 1961, 1964, 1965, 1967, 1958, 1974, 1966, 1977, 1961, + 1969, 1968, 1970, 1959, 1971, 1966, 1972, 1975, 1976, 1963, + 1968, 1964, 1965, 1973, 1969, 1978, 1967, 1974, 1971, 1972, + 1970, 1967, 1975, 1974, 1979, 1980, 1973, 1969, 1981, 1970, + 1977, 1971, 1982, 1972, 1975, 1981, 1984, 1983, 1979, 1978, + 1973, 1982, 1978, 1985, 1974, 1983, 1986, 1988, 1987, 1991, + 1993, 1979, 1980, 1987, 1992, 1981, 1989, 1985, 1988, 1982, + 1994, 1992, 1995, 1984, 1983, 1989, 1997, 1994, 1998, 0, - 1967, 1959, 1968, 1972, 1969, 1971, 1970, 1974, 1973, 1979, - 1960, 1969, 1961, 1971, 1967, 1970, 1962, 1976, 1966, 1964, - 1975, 1966, 1973, 1981, 1965, 1975, 1982, 1967, 1976, 1968, - 1972, 1969, 1971, 1970, 1977, 1973, 1979, 1984, 1980, 1974, - 1985, 0, 1983, 1977, 1976, 1980, 1981, 1975, 1982, 1983, - 1981, 1987, 1986, 1982, 0, 1987, 1991, 1989, 1992, 1984, - 0, 1977, 1985, 1993, 1984, 1980, 1996, 1985, 1989, 1983, - 1986, 1994, 1991, 1998, 1997, 2000, 1992, 1995, 1987, 1986, - 0, 1989, 1997, 1991, 1989, 1992, 1994, 1993, 1998, 1995, - 1993, 1999, 2001, 1996, 2002, 1989, 2003, 2004, 1994, 1999, + 1985, 0, 1996, 1993, 1988, 1987, 1991, 1993, 1986, 1996, + 1999, 1992, 2000, 1989, 1995, 2001, 2000, 1994, 1997, 1995, + 1998, 2003, 2005, 1997, 0, 1998, 2006, 2007, 1999, 1996, + 2010, 2008, 2003, 2001, 2014, 2009, 0, 1999, 2005, 2000, + 2012, 2015, 2001, 2026, 2006, 2003, 2008, 2009, 2003, 2005, + 2017, 2007, 2011, 2006, 2007, 2012, 2013, 2010, 2008, 2003, + 2011, 2014, 2009, 2015, 2013, 2016, 2018, 2012, 2015, 2019, + 2017, 2020, 2021, 2022, 2024, 2026, 2028, 2017, 2016, 2011, + 2022, 2018, 2024, 2013, 2025, 2028, 2020, 2027, 2021, 2019, + 2030, 2025, 2016, 2018, 2029, 2031, 2019, 2032, 2020, 2021, - 1998, 1997, 2000, 2008, 1995, 2005, 2007, 2002, 2011, 2010, - 2008, 2006, 2004, 2012, 2001, 2011, 2003, 2010, 1999, 2001, - 2014, 2002, 2007, 2003, 2004, 2005, 2006, 2013, 2015, 2014, - 2008, 2016, 2005, 2007, 0, 2011, 2010, 2017, 2006, 2018, - 2019, 2021, 2013, 2022, 2023, 2012, 2018, 2014, 2026, 2015, - 2027, 2024, 2030, 0, 2013, 2015, 2023, 2028, 2016, 2025, - 2029, 2017, 0, 2021, 2017, 2048, 2018, 2019, 2021, 2024, - 2025, 2023, 2028, 2033, 2031, 2022, 2030, 2027, 2024, 2030, - 2026, 2031, 2033, 2032, 2028, 2029, 2025, 2029, 2032, 2034, - 2035, 2036, 2038, 2037, 2039, 0, 2042, 2048, 2034, 0, + 2022, 2024, 2027, 2028, 2032, 2033, 2035, 2036, 2037, 2038, + 2040, 2025, 0, 2041, 2027, 2029, 2042, 2030, 2039, 2031, + 2037, 2029, 2031, 2043, 2032, 2044, 0, 2038, 2035, 2039, + 2045, 2042, 2033, 2035, 2049, 2037, 2038, 2045, 2047, 2036, + 2041, 2046, 2040, 2042, 2048, 2039, 2046, 2047, 2043, 2044, + 2043, 2050, 2044, 2048, 2051, 2052, 2049, 2045, 2054, 0, + 2057, 2049, 2053, 2061, 2055, 2047, 2056, 2057, 2046, 2062, + 2052, 2048, 2051, 2050, 2053, 2059, 2058, 0, 2050, 2056, + 2054, 2051, 2052, 2058, 2056, 2054, 2055, 2057, 2060, 2053, + 2061, 2055, 2070, 2056, 0, 2072, 2065, 2059, 2058, 2063, - 2033, 2031, 2040, 2041, 2047, 2045, 2039, 2038, 2043, 2042, - 2032, 2037, 2035, 2036, 2042, 2043, 2034, 2035, 2036, 2038, - 2037, 2039, 2046, 2042, 2040, 2041, 2044, 2045, 2051, 2040, - 2041, 2047, 2045, 2044, 2046, 2043, 2042, 2049, 2052, 2051, - 2054, 2056, 2053, 2049, 2059, 2055, 2052, 2058, 2044, 2046, - 2053, 2054, 2055, 2044, 2060, 2051, 2061, 2057, 2062, 2057, - 2044, 2063, 2069, 2061, 2049, 2052, 2056, 2054, 2056, 2053, - 2057, 2059, 2055, 2058, 2058, 2067, 2064, 2068, 2072, 2074, - 2076, 2060, 2064, 2061, 2057, 2062, 2057, 2063, 2063, 2065, - 2066, 2070, 2073, 2075, 2069, 2065, 2066, 2075, 2076, 2077, + 2060, 2062, 2059, 2058, 2066, 2063, 2056, 2065, 2067, 2068, + 2058, 2069, 2066, 0, 2073, 2060, 2067, 2070, 2069, 2070, + 2068, 2072, 2072, 2065, 2074, 2075, 2063, 2071, 2076, 2071, + 2081, 2066, 2075, 2077, 2084, 2067, 2068, 2078, 2069, 2079, + 2071, 2073, 2080, 2078, 2082, 2079, 2083, 2086, 2080, 2088, + 2093, 2074, 2075, 2087, 2071, 2076, 2071, 2081, 2084, 2077, + 2077, 2084, 2087, 2091, 2078, 2090, 2079, 2082, 2089, 2080, + 2094, 2082, 2089, 2092, 2093, 2092, 2096, 2093, 2083, 2086, + 2087, 2088, 2095, 2090, 2097, 2091, 2100, 2098, 2099, 2095, + 2091, 0, 2090, 2102, 2099, 2089, 2101, 2094, 2096, 2098, - 2068, 2073, 2067, 2064, 2068, 2079, 2078, 2076, 2078, 2080, - 2072, 2074, 2082, 2083, 0, 2070, 2065, 2066, 2070, 2073, - 2075, 2077, 2085, 2081, 2086, 2084, 2077, 2090, 2085, 2079, - 2081, 2087, 2079, 2078, 2082, 2088, 2080, 2084, 2089, 2082, - 2083, 2091, 2091, 2091, 2095, 0, 2086, 2092, 2091, 2085, - 2081, 2086, 2084, 2087, 2092, 2093, 2091, 2098, 2087, 2090, - 2089, 2088, 2088, 2099, 2093, 2089, 2094, 2102, 2091, 2091, - 2091, 2096, 2097, 2094, 2092, 2091, 2095, 2098, 2096, 2097, - 2102, 2101, 2093, 2103, 2098, 2099, 2101, 2104, 2105, 2106, - 2099, 2107, 2110, 2094, 2102, 2103, 0, 2112, 2096, 2097, + 2092, 2104, 2103, 2096, 2109, 0, 0, 2107, 2100, 2095, + 2106, 2097, 0, 2100, 2098, 2099, 2107, 2106, 2101, 2102, + 2102, 2108, 2113, 2101, 2103, 2105, 2105, 2105, 2108, 2103, + 2112, 2110, 2105, 2104, 2107, 2111, 2109, 2106, 2110, 2117, + 2105, 2115, 2111, 2116, 2113, 2121, 2115, 2118, 2108, 2113, + 2112, 2117, 2105, 2105, 2105, 2119, 2116, 2112, 2110, 2105, + 2122, 2123, 2111, 2120, 2129, 0, 2117, 2124, 2123, 0, + 2116, 2119, 2118, 2115, 2118, 2120, 2125, 2121, 2122, 2128, + 2124, 2131, 2119, 2126, 2125, 2128, 2127, 2122, 2123, 2134, + 2120, 2129, 2126, 2132, 2124, 2127, 2130, 2130, 2135, 2133, - 2108, 2106, 2109, 2111, 2105, 2110, 2112, 2115, 2113, 2109, - 2103, 2111, 2104, 2101, 2104, 2105, 2106, 2113, 2108, 2110, - 2114, 2116, 2116, 2107, 2112, 2117, 2114, 2108, 2119, 2109, - 2111, 2118, 2121, 2119, 2115, 2113, 2120, 2122, 2118, 2123, - 2126, 2127, 2128, 2127, 2134, 2130, 2123, 2114, 2116, 0, - 2137, 2117, 2117, 2129, 2133, 2119, 2132, 2139, 2118, 2121, - 2133, 2137, 2120, 2120, 2122, 2128, 2123, 2126, 2127, 2128, - 2136, 2129, 2130, 2135, 2132, 2138, 2134, 2137, 2136, 2135, - 2129, 2133, 2140, 2132, 2141, 2143, 2142, 2147, 2138, 2139, - 2141, 2146, 2144, 2145, 2145, 2148, 2148, 2136, 2142, 2152, + 2132, 2136, 2137, 2125, 2133, 2140, 2128, 2131, 2131, 2137, + 2126, 2142, 2141, 2127, 2141, 2134, 2134, 2143, 2144, 2146, + 2132, 2147, 2148, 2130, 2149, 2135, 2133, 2147, 2136, 2137, + 2149, 2151, 2140, 2150, 2142, 2143, 2152, 2146, 2142, 2141, + 2153, 2150, 2151, 2154, 2143, 2144, 2146, 2155, 2147, 2152, + 2156, 2149, 2165, 2155, 2148, 2157, 2159, 2159, 2151, 2160, + 2150, 2158, 2156, 2152, 2161, 2162, 2162, 2163, 2166, 2167, + 2154, 2175, 2153, 2168, 2155, 2157, 2169, 2156, 2163, 2158, + 2168, 2170, 2157, 2159, 2165, 2160, 2160, 2171, 2158, 2173, + 2166, 2161, 2162, 2174, 2163, 2166, 2169, 2173, 2175, 2176, - 2135, 2151, 2138, 2153, 2149, 2143, 2156, 2155, 2160, 2140, - 2144, 2141, 2143, 2142, 2147, 2149, 2154, 2146, 2146, 2144, - 2145, 2152, 2148, 2154, 2157, 2161, 2152, 2155, 2159, 2163, - 2164, 2149, 2162, 2151, 2155, 2153, 2159, 2165, 2156, 2167, - 2160, 2169, 2164, 2154, 2165, 2166, 2168, 2163, 2172, 2157, - 2175, 2157, 2161, 2166, 2162, 2159, 2163, 2164, 2170, 2162, - 2173, 2168, 2176, 2167, 2165, 2169, 2167, 2170, 2169, 2171, - 2171, 2174, 2166, 2168, 2172, 2172, 2177, 2176, 2174, 2178, - 2180, 2179, 2175, 2173, 0, 2170, 0, 2173, 2179, 2176, - 2181, 2186, 2180, 2183, 2184, 0, 2171, 2185, 2174, 2184, + 2168, 2167, 2177, 2169, 2179, 2178, 2181, 2180, 2182, 2189, + 2184, 2179, 2171, 2170, 2171, 2180, 2173, 2178, 2183, 2184, + 2177, 2176, 2186, 2182, 2187, 2174, 2176, 2185, 2185, 2177, + 2181, 2179, 2178, 2181, 2180, 2182, 2188, 2184, 2190, 2192, + 2191, 2189, 2183, 2188, 0, 2183, 2194, 2187, 2186, 2186, + 2193, 2187, 2195, 2190, 2185, 2197, 2198, 2193, 2194, 2199, + 2200, 2198, 2197, 2188, 2203, 2190, 2191, 2191, 2195, 2201, + 2202, 2192, 2201, 2194, 2207, 2195, 2203, 2193, 2202, 2195, + 2205, 2199, 2197, 2198, 2208, 2206, 2199, 2200, 2205, 2210, + 2222, 2203, 2209, 0, 0, 2195, 2201, 2202, 2212, 2211, - 2183, 2187, 2177, 2177, 2187, 0, 2181, 2180, 2179, 2192, - 0, 2178, 2193, 2181, 2188, 2189, 2194, 2181, 2186, 2185, - 2183, 2184, 2188, 2191, 2185, 2196, 2195, 2189, 2187, 2197, - 0, 2191, 2192, 2181, 2198, 2199, 2192, 2194, 2193, 2193, - 2199, 2188, 2189, 2194, 2195, 2200, 2202, 2197, 2201, 2204, - 2191, 2199, 2196, 2195, 2201, 2203, 2197, 2198, 2205, 2202, - 2208, 2198, 2199, 2203, 2211, 2205, 0, 2199, 2210, 2209, - 2206, 2204, 2200, 2202, 2207, 2201, 2204, 2206, 2209, 2212, - 2210, 2207, 2203, 2213, 2215, 2205, 2211, 2214, 2226, 2222, - 2217, 2211, 2208, 2212, 2218, 2210, 2209, 2206, 2220, 2219, + 2207, 2207, 2214, 0, 2213, 2208, 2218, 2205, 2206, 2213, + 2209, 2208, 2206, 0, 2216, 2217, 2210, 2211, 2215, 2209, + 2213, 2212, 2222, 2217, 2215, 2212, 2211, 2216, 2218, 2214, + 2219, 2213, 2220, 2218, 2223, 2226, 2213, 2219, 2224, 2220, + 2221, 2216, 2217, 2223, 2225, 2215, 2227, 2221, 2228, 2226, + 2224, 2231, 2232, 2229, 2236, 2238, 2234, 2219, 2240, 2220, + 2232, 2223, 2226, 2234, 2235, 2224, 2225, 2221, 2242, 2231, + 0, 2225, 2233, 2227, 2228, 2228, 2229, 2233, 2231, 2232, + 2229, 2236, 2238, 2234, 2239, 2244, 2235, 2245, 2233, 2239, + 2240, 2235, 2243, 2243, 2246, 2248, 2250, 2249, 2251, 2233, - 2221, 2207, 2218, 2224, 2219, 2220, 2212, 2215, 2217, 2228, - 2213, 2215, 2230, 2214, 2214, 2219, 2222, 2217, 2225, 2232, - 2226, 2218, 2221, 2225, 2239, 2220, 2219, 2221, 2229, 2229, - 2224, 2219, 2231, 2234, 2230, 2235, 2238, 2236, 2238, 2230, - 2237, 2228, 2241, 2243, 2240, 2242, 2244, 2231, 2234, 2240, - 2225, 2232, 2236, 2245, 2247, 2229, 2239, 2242, 2235, 2231, - 2234, 2245, 2235, 2238, 2236, 2243, 2237, 2237, 2246, 2248, - 2243, 2240, 2242, 2244, 2241, 2246, 2247, 2250, 2251, 2252, - 2245, 2247, 2254, 2255, 2248, 2256, 2251, 2257, 2260, 2258, - 2259, 2261, 2250, 2263, 0, 2246, 2248, 0, 0, 0, + 2242, 2252, 2245, 2253, 2233, 2253, 2254, 2244, 2256, 2257, + 2248, 0, 2244, 2251, 2245, 2259, 2239, 2260, 2250, 2243, + 2249, 2257, 2248, 2250, 2249, 2251, 2246, 2252, 2252, 2255, + 2253, 2258, 2262, 2261, 2255, 2263, 2257, 2259, 2254, 2262, + 2256, 2261, 2259, 2258, 2260, 2267, 2264, 2268, 2266, 2270, + 2273, 2276, 2275, 2267, 2271, 2277, 2255, 2263, 2258, 2262, + 2261, 2264, 2263, 2266, 2272, 2279, 2274, 2277, 2280, 2268, + 0, 0, 2267, 2264, 2268, 2266, 2270, 2273, 2271, 2275, + 2278, 2271, 2277, 2276, 2281, 2283, 2285, 2278, 2282, 2280, + 2272, 2272, 2274, 2274, 2286, 2280, 2288, 2279, 2289, 2286, - 2264, 2252, 2265, 2261, 2250, 2251, 2252, 2255, 2269, 2254, - 2255, 2256, 2256, 2266, 2257, 2258, 2258, 2259, 2261, 2262, - 2260, 2264, 2273, 2267, 2265, 2263, 2262, 2264, 2270, 2265, - 2269, 2272, 2274, 2270, 2266, 2269, 2275, 2279, 2274, 2277, - 2266, 2267, 2276, 0, 2282, 2273, 2262, 2280, 2281, 2273, - 2267, 2275, 2279, 2286, 2276, 2272, 2284, 2287, 2272, 2274, - 2270, 2283, 2280, 2275, 2279, 2277, 2277, 2285, 2289, 2276, - 2281, 2282, 2290, 2292, 2280, 2281, 2294, 2286, 2284, 2283, - 2286, 2290, 2291, 2284, 2287, 2288, 2289, 2293, 2283, 2285, - 2291, 2295, 2288, 2296, 2285, 2289, 0, 2297, 2294, 2290, + 2297, 2291, 2292, 2283, 2290, 2298, 2281, 2278, 2285, 2282, + 2290, 2281, 2283, 2285, 2292, 2282, 2291, 2293, 2295, 2296, + 2288, 2289, 2297, 2288, 2299, 2289, 2286, 2297, 2291, 2292, + 2300, 2290, 2298, 2295, 2296, 2302, 2301, 2303, 2305, 2306, + 2304, 2307, 2299, 2293, 2293, 2295, 2296, 2304, 2306, 2307, + 2308, 2299, 2300, 2309, 2311, 0, 2305, 2300, 2301, 2302, + 2312, 2310, 2302, 2301, 2303, 2305, 2306, 2304, 2307, 2312, + 2314, 2313, 2315, 2319, 0, 2318, 2309, 2320, 2323, 2314, + 2309, 2317, 2308, 2310, 2318, 2315, 2311, 2312, 2310, 2313, + 2322, 2319, 2317, 2326, 2321, 2320, 2323, 2314, 2313, 2315, - 2301, 2305, 2296, 2294, 2298, 2292, 2299, 2302, 2305, 2291, - 2293, 2301, 2288, 2298, 2293, 2297, 2302, 2303, 2304, 2299, - 2296, 2306, 2307, 2295, 2297, 0, 2301, 2301, 2305, 0, - 2314, 2298, 2310, 2299, 2302, 2303, 2304, 2308, 2301, 2311, - 2307, 2316, 0, 2321, 2303, 2304, 0, 2306, 2306, 2307, - 2309, 2317, 2308, 2311, 2310, 2321, 2309, 2314, 2318, 2310, - 2319, 2322, 2317, 2323, 2308, 2316, 2311, 2325, 2316, 2318, - 2321, 2319, 2324, 2326, 2322, 2328, 2327, 2309, 2317, 2330, - 2333, 2329, 2324, 2334, 2338, 2318, 2331, 2319, 2322, 2327, - 2329, 2337, 0, 2325, 2325, 2323, 2328, 2336, 2326, 2324, + 2319, 2321, 2318, 2324, 2320, 2323, 2325, 2317, 2317, 2327, + 2330, 2332, 2325, 2333, 2334, 2326, 2322, 2322, 2324, 2317, + 2326, 2321, 2337, 2327, 2333, 2334, 2339, 2342, 2335, 2338, + 2324, 0, 0, 2325, 2337, 2332, 2327, 2330, 2332, 2335, + 2333, 2334, 2338, 2340, 2354, 2341, 2343, 2344, 2345, 2337, + 2346, 2349, 2342, 2340, 2342, 2335, 2338, 2345, 2339, 2343, + 2347, 0, 2350, 2352, 2353, 0, 2356, 2352, 2344, 2355, + 2340, 2341, 2341, 2343, 2344, 2345, 2354, 2346, 2349, 2347, + 2359, 0, 2355, 0, 2362, 2353, 2356, 2347, 2350, 2350, + 2352, 2353, 2357, 2356, 2358, 2363, 2355, 2357, 2361, 2362, - 2326, 2336, 2328, 2327, 2339, 2331, 2330, 2333, 2329, 2334, - 2334, 2343, 2337, 2331, 2340, 2341, 2338, 2339, 2337, 2342, - 2341, 2344, 2345, 2348, 2336, 2346, 2342, 2352, 2345, 2344, - 2347, 2339, 2350, 2350, 2340, 2348, 2349, 2343, 2343, 2352, - 2346, 2340, 2341, 2351, 2360, 2347, 2342, 2344, 2344, 2345, - 2348, 2349, 2346, 2353, 2352, 0, 2344, 2347, 2353, 2350, - 2354, 2351, 2359, 2349, 2354, 2355, 2355, 2357, 2358, 2355, - 2351, 2360, 2358, 2362, 2357, 2361, 0, 2359, 0, 2363, - 2362, 2365, 2355, 2364, 2361, 2353, 2366, 2354, 0, 2359, - 2355, 2369, 2355, 2355, 2357, 2358, 2355, 2371, 2369, 2367, + 2360, 2358, 2364, 2365, 2361, 2367, 2359, 2359, 2360, 2376, + 2363, 2362, 2366, 2366, 2364, 2369, 2368, 0, 2365, 2357, + 2369, 2358, 2363, 2367, 2373, 2361, 2360, 2360, 2368, 2364, + 2365, 2373, 2367, 2370, 2374, 2360, 2376, 2370, 2374, 2366, + 2371, 2371, 2378, 2368, 2371, 2377, 2379, 2369, 2375, 2378, + 2381, 2373, 2380, 2382, 2377, 2385, 2384, 2371, 0, 2387, + 2370, 2374, 2385, 2375, 2384, 2371, 2383, 2371, 2371, 2378, + 2379, 2371, 2377, 2379, 2380, 2375, 2381, 2381, 2383, 2380, + 2382, 2387, 2385, 2384, 2371, 2388, 2387, 2389, 2391, 2390, + 2396, 2394, 2397, 2383, 2402, 2398, 2389, 2405, 2401, 2396, - 2362, 2374, 2361, 2363, 2368, 2364, 2363, 2365, 2365, 2355, - 2364, 2367, 2368, 2366, 2372, 2375, 2373, 2381, 2369, 2371, - 2378, 2380, 2382, 2374, 2371, 2373, 2367, 2385, 2374, 2386, - 2380, 2368, 2389, 2387, 0, 2375, 2384, 2386, 2378, 2372, - 2382, 2372, 2375, 2373, 2381, 2387, 2388, 2378, 2380, 2382, - 2390, 2384, 2385, 2388, 2385, 2393, 2386, 2390, 2391, 2391, - 2387, 2394, 2395, 2384, 2389, 2397, 2391, 2396, 2396, 2400, - 2398, 2401, 2402, 2388, 2394, 2403, 2404, 2390, 2405, 2406, - 2393, 2402, 2393, 2404, 2403, 2391, 2391, 2397, 2394, 2395, - 2407, 2400, 2397, 2401, 2396, 2398, 2400, 2398, 2401, 2402, + 2404, 0, 2402, 0, 0, 2400, 0, 2404, 2391, 2394, + 2388, 2390, 2388, 2398, 2389, 2391, 2390, 2396, 2394, 2397, + 2400, 2402, 2398, 2401, 2403, 2401, 2406, 2404, 2410, 2405, + 2407, 2407, 2400, 2406, 2409, 2411, 2403, 0, 2407, 2412, + 2412, 2410, 2413, 2414, 0, 2416, 2421, 2418, 0, 2417, + 0, 2403, 0, 2406, 2419, 2410, 2418, 2407, 2407, 2409, + 2422, 2409, 2411, 2419, 2413, 2423, 2412, 2416, 2414, 2413, + 2414, 2417, 2416, 2420, 2418, 2424, 2417, 2426, 2421, 2423, + 2420, 2419, 2422, 2425, 2429, 2428, 2430, 2422, 2425, 2431, + 2424, 2432, 2423, 2428, 2433, 2434, 2426, 2429, 2435, 2436, - 2408, 2406, 2403, 2404, 2407, 2410, 2406, 2409, 2412, 2413, - 2405, 2414, 2409, 2415, 2417, 2408, 2412, 2407, 2416, 2418, - 2420, 2419, 2413, 2423, 2410, 2424, 2414, 2408, 2419, 2421, - 2417, 2418, 2410, 2422, 2425, 2412, 2413, 2426, 2414, 2409, - 2415, 2417, 2427, 2425, 2416, 2416, 2418, 0, 2419, 2429, - 2430, 2421, 2420, 2431, 2428, 2423, 2421, 2424, 2422, 2432, - 2422, 2425, 2428, 2435, 2433, 2430, 2434, 0, 0, 2426, - 2439, 2437, 2435, 2428, 2427, 0, 2429, 2430, 2441, 2431, - 2431, 2428, 2433, 2441, 2438, 2432, 2432, 2438, 2434, 2428, - 2435, 2433, 2442, 2434, 2437, 2439, 2454, 2439, 2437, 2440, + 2420, 2430, 2424, 2439, 2426, 2435, 2437, 2434, 2440, 2438, + 2433, 2429, 2428, 2430, 2441, 2425, 2431, 2432, 2432, 2442, + 2443, 2433, 2434, 2441, 0, 2435, 2445, 2446, 2437, 2444, + 0, 2436, 2447, 2437, 2438, 2439, 2438, 2444, 0, 2448, + 2440, 2441, 2446, 2449, 2454, 2450, 2451, 2454, 2444, 0, + 2455, 2442, 2443, 2445, 2446, 2451, 2444, 2453, 2447, 2447, + 2459, 2449, 2454, 2456, 2444, 2448, 2448, 2450, 2458, 2456, + 2449, 2454, 2450, 2451, 2454, 2455, 2457, 2455, 2459, 2460, + 2453, 2457, 2462, 2458, 2453, 2463, 0, 2459, 2464, 2465, + 2456, 2467, 2470, 0, 2460, 2458, 2462, 0, 2471, 2469, - 2443, 2444, 2438, 2446, 0, 2440, 2447, 2442, 2451, 2448, - 2441, 2438, 2449, 2452, 2438, 2455, 2444, 2446, 2443, 2442, - 2453, 2447, 2451, 2454, 2455, 2452, 2440, 2443, 2444, 2467, - 2446, 2448, 2452, 2447, 2449, 2451, 2448, 2456, 2453, 2449, - 2452, 2457, 2455, 2458, 2460, 2462, 2456, 2453, 2461, 2459, - 2457, 2459, 2452, 0, 2458, 2466, 2467, 2460, 2464, 2465, - 2461, 2468, 2466, 2470, 2456, 2469, 0, 2462, 2457, 2471, - 2458, 2460, 2462, 2464, 2465, 2461, 2459, 2476, 2471, 0, - 2474, 2470, 2466, 2468, 2482, 2464, 2465, 2469, 2468, 2484, - 2470, 2477, 2469, 2474, 2478, 2477, 2471, 2481, 2476, 2479, + 2463, 2468, 2475, 0, 2475, 2467, 2460, 2471, 2457, 2462, + 2464, 2465, 2463, 2468, 2472, 2464, 2465, 2469, 2467, 2470, + 2468, 2473, 2474, 2472, 2476, 2471, 2469, 2477, 2468, 2475, + 2473, 2478, 2480, 2474, 2483, 2481, 2482, 2476, 2484, 2477, + 2468, 2472, 2485, 2482, 0, 2492, 2487, 2480, 2473, 2474, + 2481, 2476, 2486, 2478, 2477, 2487, 2494, 0, 2478, 2480, + 2484, 2483, 2481, 2482, 2485, 2484, 2492, 2490, 2494, 2485, + 2486, 2493, 2492, 2487, 2497, 2493, 2495, 2498, 2499, 2486, + 2490, 2500, 2496, 2494, 2496, 2495, 2501, 2504, 2490, 2503, + 2502, 2512, 2497, 2505, 2490, 2500, 2499, 2503, 2493, 2502, - 2480, 2474, 2480, 2485, 2476, 2483, 2478, 2474, 2479, 2486, - 2487, 2482, 2485, 2488, 2489, 2481, 2484, 2486, 2477, 2490, - 2474, 2478, 2491, 2483, 2481, 2494, 2479, 2480, 2489, 2491, - 2485, 2490, 2483, 2487, 2493, 2488, 2486, 2487, 2495, 2496, - 2488, 2489, 2493, 2495, 2496, 2497, 2490, 2498, 2499, 2491, - 0, 2501, 0, 2502, 2506, 2504, 2508, 2494, 2506, 2507, - 2502, 2493, 2504, 2511, 2515, 2495, 2510, 2514, 2507, 2512, - 2501, 2496, 2499, 2509, 2513, 2499, 2514, 2497, 2501, 2498, - 2502, 2506, 2504, 2508, 2510, 2515, 2507, 2509, 2517, 2513, - 2511, 2515, 2518, 2510, 2514, 2512, 2512, 2521, 2509, 2509, + 2508, 2497, 2515, 2495, 2498, 2499, 2507, 2490, 2500, 2496, + 2504, 2506, 2508, 2501, 2504, 2505, 2503, 2502, 2511, 2507, + 2505, 2509, 2516, 2512, 2513, 2506, 2511, 2508, 2509, 2513, + 2514, 2517, 2520, 2507, 2515, 2514, 2522, 2519, 2506, 2520, + 2524, 2525, 2526, 2522, 2524, 2511, 2527, 2528, 2509, 2529, + 2525, 2513, 2530, 2535, 2516, 2517, 2519, 0, 2517, 2520, + 2527, 2532, 2514, 2522, 2519, 2528, 2531, 2524, 2525, 2526, + 2532, 2527, 2527, 2527, 2528, 2533, 2529, 2536, 2530, 2530, + 2541, 2531, 2539, 2537, 2538, 2535, 2540, 2527, 2532, 2536, + 2537, 2539, 2542, 2531, 2543, 2545, 2533, 2547, 2527, 0, - 2509, 2513, 2519, 2523, 2518, 2520, 2521, 2522, 0, 2519, - 2525, 2528, 0, 2524, 2509, 0, 2527, 0, 2528, 2518, - 2517, 2529, 2536, 0, 2521, 2509, 2532, 2520, 2532, 2519, - 2523, 2536, 2520, 2522, 2522, 2524, 2533, 2534, 2528, 2527, - 2524, 2534, 2525, 2527, 2529, 2530, 2537, 2535, 2529, 2536, - 2539, 2538, 2530, 2532, 2541, 2540, 2543, 2544, 2533, 2535, - 2538, 2539, 2540, 2533, 2534, 2542, 2546, 2545, 2537, 0, - 2542, 0, 2530, 2537, 2535, 2552, 2541, 2539, 2538, 2545, - 2544, 2541, 2540, 2543, 2544, 2550, 2547, 2549, 2546, 2548, - 2548, 2551, 2542, 2546, 2545, 2547, 2549, 2552, 2554, 2551, + 0, 2546, 2533, 2550, 2536, 2550, 2538, 2541, 2546, 2539, + 2537, 2538, 2540, 2540, 2542, 2551, 2548, 2552, 2545, 2542, + 2547, 2552, 2545, 2548, 2547, 2554, 2543, 2553, 2546, 2555, + 2550, 2556, 2561, 2559, 2554, 2557, 2560, 2551, 2558, 2553, + 2556, 2560, 2551, 2548, 2552, 2558, 2557, 2562, 2565, 2563, + 2564, 2555, 2554, 2568, 2553, 2559, 2555, 2565, 2556, 2561, + 2559, 2563, 2557, 2560, 2567, 2558, 2566, 2566, 2568, 2571, + 2562, 2569, 2564, 2567, 2562, 2565, 2563, 2564, 2570, 2569, + 2568, 2572, 2573, 2571, 2575, 0, 2576, 2577, 2579, 2578, + 2572, 2567, 2579, 2566, 2576, 2577, 2571, 2578, 2569, 2580, - 2550, 2553, 2552, 2555, 2557, 2562, 2561, 2554, 2562, 2558, - 2561, 2559, 2550, 2547, 2549, 2553, 2548, 2558, 2551, 2559, - 2567, 2560, 2565, 2557, 2568, 2554, 2563, 2569, 2553, 2560, - 2555, 2557, 2562, 2561, 2563, 2564, 2558, 2565, 2559, 2566, - 2573, 2564, 2568, 2571, 2574, 2566, 2578, 2575, 2560, 2565, - 2576, 2568, 2567, 2563, 2573, 2571, 2577, 2574, 2579, 2569, - 2580, 2586, 2564, 2577, 2581, 2584, 2566, 2573, 2575, 2582, - 2571, 2574, 2582, 2578, 2575, 2576, 2583, 2576, 2581, 2584, - 2579, 2585, 2588, 2577, 2580, 2579, 2587, 2580, 2586, 2583, - 2589, 2581, 2584, 2590, 2594, 2599, 2582, 2592, 2591, 2600, + 2570, 2582, 2580, 2575, 2581, 2570, 2583, 2582, 2572, 2573, + 2585, 2575, 2581, 2576, 2577, 2579, 2578, 2584, 2586, 2587, + 2589, 2583, 2592, 2584, 0, 2591, 2580, 2593, 2582, 2596, + 2594, 2581, 2589, 2583, 2595, 2592, 2586, 2597, 2598, 2591, + 2600, 2595, 2585, 2600, 2584, 2586, 2599, 2589, 2593, 2592, + 2601, 2587, 2591, 2603, 2593, 2594, 2596, 2594, 2602, 2597, + 2599, 2595, 2598, 2601, 2597, 2598, 2604, 2600, 2606, 2605, + 2607, 2608, 2602, 2599, 2609, 2612, 2617, 2601, 2610, 2603, + 2603, 2610, 2607, 2608, 2613, 2602, 2615, 2614, 2609, 2616, + 2618, 0, 2616, 2604, 2605, 2606, 2605, 2607, 2608, 2614, - 2592, 0, 2589, 2583, 2595, 2590, 2596, 2585, 2585, 2588, - 2597, 2587, 2591, 2587, 2611, 0, 2598, 2589, 2596, 2598, - 2590, 2594, 2599, 2592, 2592, 2591, 2600, 2592, 2601, 2603, - 2595, 2595, 2604, 2596, 2598, 2605, 2597, 2597, 2606, 2604, - 2607, 2611, 2605, 2598, 2609, 2610, 2598, 2612, 2614, 2613, - 2601, 2603, 2615, 2606, 2607, 2601, 2603, 2613, 2609, 2604, - 2616, 2615, 2605, 2610, 2618, 2606, 2617, 2607, 2620, 2621, - 2622, 2609, 2610, 2625, 2612, 2614, 2613, 2624, 2617, 2615, - 2623, 2627, 2626, 2622, 2624, 2628, 2618, 2616, 2629, 2630, - 2634, 2618, 2626, 2617, 2636, 2620, 2621, 2622, 2623, 2625, + 2619, 2609, 2612, 2617, 2610, 2610, 2621, 2616, 2610, 2624, + 2613, 2613, 2615, 2615, 2614, 2625, 2616, 2618, 2622, 2616, + 2627, 2628, 2619, 2623, 2624, 2622, 2629, 2619, 2621, 2625, + 2623, 2630, 2631, 2621, 2627, 2632, 2624, 2633, 2634, 2628, + 2631, 2636, 2625, 2635, 2638, 2622, 2633, 2627, 2628, 2639, + 2623, 2641, 2645, 2629, 2640, 2635, 2643, 0, 2630, 2631, + 2652, 0, 2632, 2636, 2633, 2634, 2642, 2640, 2636, 2641, + 2635, 2638, 2646, 2642, 2644, 2648, 2639, 2647, 2641, 2645, + 0, 2640, 2643, 2643, 2644, 2651, 2649, 2652, 2648, 2653, + 2646, 2654, 2656, 2642, 2649, 2647, 2655, 2653, 2658, 2646, - 2625, 2633, 2630, 2628, 2624, 2631, 2629, 2623, 2627, 2626, - 2635, 2637, 2628, 2631, 2638, 2629, 2630, 2634, 2635, 2639, - 2637, 2636, 2642, 2633, 2640, 2643, 0, 2641, 2633, 0, - 2645, 2644, 2631, 2643, 2649, 2647, 2638, 2635, 2637, 2650, - 2639, 2638, 2641, 2644, 0, 0, 2639, 2647, 2640, 2642, - 0, 2640, 2643, 2641, 2641, 2645, 2648, 2645, 2644, 2652, - 2653, 2649, 2647, 2654, 2648, 2655, 2652, 2654, 2656, 2641, - 2657, 2650, 2653, 2658, 2661, 2659, 2662, 2655, 2660, 0, - 0, 2658, 2659, 2648, 2667, 2660, 2652, 2653, 0, 0, - 2654, 2656, 2655, 2669, 2664, 2656, 2661, 2657, 2663, 2662, + 2657, 2644, 2648, 2660, 2647, 2655, 2663, 2651, 0, 2659, + 2667, 2668, 2651, 2649, 2656, 0, 2653, 2662, 2654, 2656, + 2661, 2657, 2658, 2655, 2659, 2658, 2665, 2657, 2661, 2662, + 2660, 2663, 2666, 2663, 2670, 2659, 2659, 2667, 2665, 2674, + 2666, 2670, 2671, 2668, 2662, 2672, 2673, 2661, 2675, 2672, + 2677, 2659, 2676, 2665, 2671, 2680, 2678, 2677, 2673, 2666, + 2676, 2670, 2674, 2678, 2679, 2685, 2674, 2686, 0, 2671, + 2683, 2681, 2672, 2673, 2686, 2675, 2688, 2677, 2680, 2676, + 2681, 2682, 2680, 2678, 2683, 2687, 2679, 2681, 2681, 2688, + 2689, 2679, 2685, 2682, 2686, 2681, 2683, 2683, 2681, 2689, - 2658, 2661, 2659, 2662, 2665, 2660, 2664, 2663, 2671, 2668, - 2670, 2667, 2673, 2669, 2663, 2663, 2668, 2671, 2665, 2672, - 2669, 2664, 2663, 2670, 2673, 2663, 2674, 2674, 2672, 2675, - 2665, 2665, 2676, 2677, 2663, 2671, 2668, 2670, 2680, 2673, - 0, 2663, 2663, 0, 0, 2665, 2672, 2678, 2681, 0, - 2676, 2682, 0, 2674, 2683, 2675, 2675, 2684, 2677, 2676, - 2677, 0, 2678, 2681, 2678, 2685, 2686, 2685, 2688, 2696, - 2680, 2678, 2689, 2682, 2678, 2681, 2683, 2687, 2682, 2684, - 2686, 2683, 0, 2687, 2684, 2692, 2688, 2690, 2690, 2678, - 2695, 2678, 2685, 2686, 2689, 2688, 2693, 2694, 2697, 2689, + 2690, 2691, 2694, 2688, 2693, 2687, 2699, 2681, 2682, 2690, + 2695, 2683, 2687, 2691, 2681, 2681, 2698, 2689, 2692, 2692, + 2694, 2699, 2700, 2696, 2701, 2704, 0, 2690, 2691, 2694, + 2693, 2693, 2702, 2699, 2703, 2695, 2703, 2695, 2696, 2704, + 2696, 2707, 2706, 0, 2700, 2692, 2701, 2696, 2698, 2700, + 2696, 2701, 2704, 2710, 2702, 2711, 2705, 2708, 2708, 2702, + 2706, 2703, 2705, 2707, 2712, 2696, 2713, 2696, 2707, 2706, + 2714, 2715, 2718, 2716, 2719, 2710, 0, 2711, 2713, 2716, + 2710, 2723, 2711, 2705, 2708, 2717, 2712, 2720, 2722, 2724, + 2722, 2712, 2725, 2713, 2731, 2723, 2719, 2717, 0, 2725, - 2698, 2696, 2695, 0, 2687, 2700, 2698, 2692, 2699, 2701, - 2713, 2702, 2692, 2704, 2690, 2704, 2708, 2695, 2693, 2694, - 2699, 2706, 2707, 2693, 2694, 2705, 2709, 2698, 2710, 2707, - 2697, 2701, 2711, 2702, 2708, 2699, 2701, 2700, 2702, 2705, - 2704, 2712, 2713, 2708, 2709, 2706, 2710, 2714, 2706, 2707, - 2711, 2715, 2705, 2709, 2712, 2710, 2717, 2719, 2720, 2711, - 2721, 2722, 2723, 2717, 2719, 2724, 0, 0, 2712, 2725, - 2723, 2731, 2726, 2728, 2715, 2727, 2720, 2733, 2715, 2714, - 2732, 2724, 2731, 2717, 2719, 2720, 2721, 2721, 2723, 2723, - 2726, 2732, 2724, 2722, 2725, 2728, 2725, 2723, 2731, 2726, + 2716, 2719, 2714, 2715, 2718, 2726, 2727, 2728, 2723, 2720, + 2729, 2732, 2717, 2724, 2720, 2722, 2724, 2730, 2733, 2725, + 2735, 2739, 2741, 2726, 2727, 2728, 2731, 2735, 2729, 2736, + 2730, 2738, 2726, 2727, 2728, 2740, 2744, 2729, 2738, 2739, + 2736, 2733, 2742, 2732, 2730, 2733, 2743, 2735, 2739, 2745, + 2742, 0, 2744, 2746, 2741, 2747, 2736, 2748, 2738, 2751, + 2753, 2740, 2740, 2744, 2752, 2749, 0, 2749, 2742, 2742, + 2751, 2746, 2749, 2754, 2745, 2752, 2745, 2742, 2743, 2748, + 2746, 2747, 2747, 2755, 2748, 2754, 2751, 2753, 2756, 2757, + 2758, 2752, 2749, 2761, 2749, 2762, 2760, 2765, 2763, 2769, - 2728, 2727, 2727, 2729, 2733, 2729, 2734, 2732, 2735, 2736, - 2729, 2741, 2737, 2740, 0, 2738, 2747, 2742, 2734, 2743, - 0, 2745, 2741, 2747, 2750, 2746, 2735, 2736, 2740, 2742, - 2729, 2737, 2729, 2734, 2743, 2735, 2736, 2738, 2741, 2737, - 2740, 2748, 2738, 2747, 2742, 2745, 2743, 2746, 2745, 2749, - 2751, 2750, 2746, 2752, 2753, 2759, 2754, 2756, 0, 2748, - 2760, 2753, 2757, 2758, 2749, 0, 2762, 0, 2748, 2764, - 2761, 0, 2766, 3765, 3765, 2770, 2749, 2751, 2763, 2765, - 2752, 2753, 2754, 2754, 2756, 2758, 2757, 2759, 2761, 2757, - 2758, 2763, 2760, 2762, 2765, 2764, 2764, 2761, 2766, 2766, + 2754, 2755, 2767, 2770, 2761, 2766, 2756, 2762, 2757, 2767, + 2755, 2760, 2758, 2763, 2769, 2756, 2757, 2758, 2768, 2771, + 2761, 2765, 2762, 2760, 2765, 2763, 2769, 2766, 2772, 2767, + 2770, 2773, 2766, 2774, 2776, 2778, 2768, 2779, 2773, 2777, + 2780, 2782, 0, 2783, 0, 2768, 2771, 2781, 2790, 2784, + 0, 2786, 2785, 0, 0, 2772, 2783, 2778, 2773, 2774, + 2774, 2776, 2778, 2777, 2789, 2781, 2777, 2785, 2782, 2779, + 2783, 2787, 2780, 2788, 2781, 2784, 2784, 2786, 2786, 2785, + 2790, 2788, 2791, 2792, 2787, 2794, 2796, 2795, 0, 0, + 2789, 2789, 0, 2797, 2798, 2791, 2801, 2803, 2787, 2799, - 2767, 2768, 3765, 2769, 2771, 2763, 2765, 2770, 2776, 2768, - 2772, 2774, 2775, 2767, 0, 2779, 0, 2771, 2777, 2778, - 2783, 0, 0, 0, 0, 2780, 2782, 2767, 2768, 2769, - 2769, 2771, 2772, 2779, 2774, 2776, 2775, 2772, 2774, 2775, - 2777, 2778, 2779, 2780, 2781, 2777, 2778, 2783, 2784, 2782, - 2786, 2781, 2780, 2782, 2787, 2790, 2788, 2789, 2793, 2792, - 0, 2787, 2784, 2788, 2789, 2791, 2792, 2794, 2790, 2795, - 2799, 2781, 2786, 0, 2796, 2784, 2797, 2786, 2798, 2799, - 2793, 2787, 2790, 2788, 2789, 2793, 2792, 2800, 2791, 2802, - 2795, 2804, 2791, 2806, 2801, 2800, 2795, 2799, 2797, 2794, + 2788, 2800, 2802, 2801, 2804, 2792, 2814, 0, 2794, 2791, + 2792, 2795, 2794, 2796, 2795, 2797, 2798, 2799, 2804, 2800, + 2797, 2798, 2806, 2801, 2803, 2802, 2799, 2807, 2800, 2802, + 2808, 2804, 2809, 2810, 2807, 2811, 2812, 2808, 2814, 2809, + 2815, 2819, 2813, 2812, 2806, 2816, 2810, 2818, 2817, 2806, + 2819, 0, 2824, 0, 2807, 0, 2822, 2808, 2811, 2809, + 2810, 2815, 2811, 2812, 2813, 2829, 2826, 2815, 2819, 2813, + 2817, 2816, 2816, 2818, 2818, 2817, 2820, 2821, 2822, 2824, + 2823, 2826, 2831, 2822, 2820, 2821, 2823, 2827, 2828, 2830, + 2834, 2832, 2836, 2826, 0, 0, 2838, 2829, 2827, 2837, - 2796, 2796, 2801, 2797, 2798, 2798, 2803, 2808, 2806, 2809, - 2810, 2802, 2803, 2807, 2800, 0, 2802, 2811, 2804, 2814, - 2806, 2801, 2812, 2823, 2807, 2816, 2817, 0, 2818, 2808, - 0, 2820, 2819, 2803, 2808, 2823, 2811, 2814, 2816, 2817, - 2807, 2809, 2810, 2822, 2811, 2824, 2814, 2812, 2826, 2812, - 2823, 2830, 2816, 2817, 2818, 2818, 2819, 2820, 2820, 2819, - 2825, 2825, 2829, 2831, 2832, 2839, 2833, 2822, 0, 2824, - 2822, 2841, 2824, 2834, 2826, 2826, 2835, 2836, 2831, 2847, - 2841, 2848, 2848, 2830, 2833, 2829, 2843, 2825, 2849, 2829, - 2831, 2832, 2839, 2833, 2835, 2834, 2844, 2836, 2841, 2843, + 2839, 2831, 2840, 2820, 2821, 2836, 2842, 2823, 2834, 2831, + 2828, 2844, 2837, 2843, 2827, 2828, 2832, 2834, 2832, 2836, + 2846, 2830, 2838, 2838, 2839, 2843, 2837, 2839, 2840, 2840, + 2842, 2845, 2845, 2842, 2849, 2844, 2850, 2851, 2844, 2852, + 2843, 0, 2853, 2854, 2855, 2859, 2846, 2846, 2868, 2868, + 2861, 0, 2851, 2856, 2863, 0, 2867, 2849, 2845, 2861, + 2853, 2849, 2855, 2864, 2851, 2854, 2852, 2863, 2850, 2853, + 2854, 2855, 2859, 2856, 2864, 2868, 2869, 2861, 2867, 2870, + 2856, 2863, 2874, 2867, 0, 2871, 2873, 2873, 2870, 2875, + 2864, 2871, 2876, 2877, 2879, 2881, 2874, 2882, 0, 2883, - 2834, 2847, 2850, 2835, 2836, 2854, 2847, 2844, 2848, 2855, - 2851, 2850, 2856, 2843, 2849, 2849, 2851, 2853, 2853, 2854, - 2857, 2859, 2861, 2844, 2863, 2869, 2862, 0, 0, 2850, - 2864, 2855, 2854, 2862, 2856, 2865, 2855, 2851, 2866, 2856, - 2865, 2864, 2872, 2870, 2853, 2874, 2871, 2857, 2859, 2869, - 2863, 2863, 2869, 2862, 2861, 2868, 2874, 2864, 2870, 2875, - 2866, 2871, 2865, 2868, 2876, 2866, 2877, 2878, 2879, 2872, - 2870, 0, 2874, 2871, 2881, 2882, 2878, 2875, 2883, 2884, - 2879, 0, 2868, 2885, 0, 2876, 2875, 2886, 2887, 2888, - 0, 2876, 2895, 2882, 2878, 2879, 2883, 2894, 2877, 2886, + 0, 2886, 2869, 2869, 2882, 2885, 2870, 2884, 2892, 2874, + 2885, 2875, 2871, 2873, 2876, 2889, 2875, 0, 2884, 2876, + 2877, 2879, 2888, 2886, 2882, 2883, 2883, 2881, 2886, 2890, + 2888, 2891, 2885, 2895, 2884, 2892, 2894, 2897, 2896, 2889, + 2899, 2898, 2889, 2901, 2890, 0, 2891, 2894, 2902, 2888, + 2898, 2895, 2899, 2903, 2904, 0, 2890, 2905, 2891, 2896, + 2895, 2906, 2907, 2894, 2908, 2896, 2902, 2899, 2898, 2897, + 2901, 2903, 2909, 2906, 2907, 2902, 2914, 2910, 2904, 2915, + 2903, 2904, 2905, 2916, 2905, 2910, 2908, 2912, 2906, 2907, + 2909, 2908, 2911, 2911, 2918, 2919, 2912, 0, 2917, 2909, - 2887, 2881, 2882, 2884, 2889, 2883, 2884, 2896, 2885, 2890, - 2885, 2888, 2891, 2891, 2886, 2887, 2888, 2890, 2892, 2895, - 2891, 2897, 2889, 2894, 2894, 2898, 2901, 2892, 2899, 2896, - 2897, 2889, 2900, 2902, 2896, 2905, 2890, 2903, 0, 2891, - 2891, 2904, 2899, 2898, 2908, 2892, 2902, 2909, 2897, 2910, - 2903, 2901, 2898, 2901, 2900, 2899, 2904, 2905, 2906, 2900, - 2902, 2910, 2905, 2907, 2903, 2906, 2908, 2911, 2904, 2912, - 2907, 2908, 2913, 2914, 2909, 0, 2910, 2915, 2916, 2917, - 0, 2918, 0, 2919, 2922, 2906, 2920, 2916, 2914, 2925, - 2907, 2922, 2927, 2929, 2911, 2925, 2912, 2930, 2932, 2913, + 2911, 2920, 2914, 2914, 2910, 2916, 2915, 2917, 2921, 2919, + 2916, 2922, 2918, 2923, 2912, 2924, 2929, 2925, 2931, 2911, + 2911, 2918, 2919, 2920, 2922, 2917, 2923, 2926, 2920, 2927, + 2924, 2928, 2932, 2921, 2926, 2921, 2927, 2930, 2922, 2925, + 2923, 2933, 2924, 2929, 2925, 2931, 2934, 2935, 2936, 2930, + 0, 0, 2938, 2928, 2926, 2937, 2927, 2936, 2928, 2932, + 2939, 2934, 2940, 2942, 2930, 2941, 2943, 0, 2933, 2944, + 2942, 2947, 2935, 2934, 2935, 2936, 2944, 2937, 2938, 2938, + 2941, 2943, 2937, 2946, 2949, 2945, 2939, 2939, 2940, 2940, + 2942, 2945, 2941, 2943, 2946, 2948, 2944, 2950, 2947, 2951, - 2914, 2917, 2915, 2921, 2915, 2916, 2917, 2918, 2918, 2919, - 2919, 2922, 2920, 2920, 2923, 2924, 2925, 2926, 2921, 2927, - 2929, 2931, 2924, 2928, 2930, 2932, 2934, 2940, 2926, 2923, - 2921, 2928, 2933, 2936, 2935, 2937, 2938, 2931, 2939, 2942, - 2936, 2923, 2924, 2938, 2926, 2939, 2934, 2933, 2931, 2935, - 2928, 2941, 2951, 2934, 2940, 2943, 2943, 2937, 2945, 2933, - 2936, 2935, 2937, 2938, 2944, 2939, 2942, 2946, 2947, 2941, - 2946, 2944, 2945, 2949, 2948, 2950, 0, 2951, 2941, 2951, - 2950, 2947, 2943, 2952, 2955, 2945, 2953, 2954, 2949, 2962, - 2958, 2944, 2948, 0, 2946, 2947, 2955, 2956, 2952, 2958, + 2952, 2953, 2955, 2948, 0, 2954, 2956, 2958, 2957, 2960, + 2946, 2949, 2945, 2956, 2958, 2951, 2953, 2955, 2963, 2961, + 0, 0, 2948, 0, 2950, 2954, 2951, 2952, 2953, 2955, + 2957, 2959, 2954, 2956, 2958, 2957, 2960, 2961, 2959, 2966, + 2962, 2964, 2964, 2965, 2968, 2963, 2961, 2962, 2967, 2971, + 2965, 2967, 2969, 2966, 2970, 2972, 2976, 2968, 2959, 2973, + 2972, 2975, 2974, 0, 2971, 0, 2966, 2962, 2964, 0, + 2965, 2968, 2970, 2977, 2976, 2967, 2971, 2974, 2969, 2969, + 2978, 2970, 2972, 2976, 2973, 2977, 2973, 2975, 2975, 2974, + 2980, 2981, 2978, 2982, 2983, 2984, 2981, 2985, 2982, 2980, - 2949, 2948, 2950, 2959, 2961, 2954, 2966, 0, 2959, 2956, - 2952, 2955, 2953, 2953, 2954, 2960, 2962, 2958, 2963, 2964, - 2960, 2965, 2963, 2968, 2956, 2967, 2961, 2969, 2966, 2970, - 2959, 2961, 2971, 2966, 2965, 2975, 0, 2976, 0, 2978, - 2979, 2980, 2960, 2964, 2970, 2963, 2964, 2967, 2965, 2979, - 2968, 0, 2967, 2975, 2969, 0, 2970, 2980, 2971, 2971, - 2982, 2981, 2975, 2976, 2976, 2978, 2978, 2979, 2980, 2981, - 2984, 2985, 2982, 2986, 2987, 2988, 2989, 2984, 2986, 2990, - 2985, 2987, 2988, 2991, 2992, 2998, 2990, 2982, 2981, 2995, - 2993, 2992, 0, 3002, 2989, 2994, 2997, 2984, 2985, 2993, + 2977, 2985, 2986, 2988, 2990, 2989, 2987, 2978, 2991, 0, + 2993, 0, 2998, 2992, 0, 0, 2983, 2980, 2981, 2987, + 2982, 2983, 2984, 2997, 2985, 2988, 2986, 2989, 2992, 2986, + 2988, 2990, 2989, 2987, 3000, 2991, 2993, 2993, 2998, 2998, + 2992, 2997, 3001, 3002, 3003, 3004, 3006, 3007, 3009, 3008, + 2997, 3001, 3003, 3006, 3008, 3009, 3007, 3004, 3010, 3002, + 3000, 3000, 3011, 3013, 0, 3010, 3017, 0, 3020, 3001, + 3002, 3003, 3004, 3006, 3007, 3009, 3008, 3012, 3015, 3014, + 3011, 3023, 3016, 3021, 3012, 3010, 3014, 3015, 3013, 3011, + 3013, 3016, 3017, 3017, 3019, 3020, 3021, 3022, 3024, 3023, - 2986, 2987, 2988, 2989, 2994, 2999, 2990, 3001, 2991, 3000, - 2991, 2992, 2998, 3004, 3000, 2995, 2995, 2993, 2999, 2997, - 3002, 3005, 2994, 2997, 3006, 3001, 3007, 3009, 3008, 3010, - 3011, 3004, 2999, 3006, 3001, 3007, 3000, 3008, 3013, 3011, - 3004, 3010, 3014, 3012, 3015, 3016, 3017, 3009, 3005, 3013, - 3014, 3006, 3012, 3007, 3009, 3008, 3010, 3011, 3018, 3019, - 3024, 3022, 3025, 3026, 3029, 3013, 3017, 3015, 3016, 3014, - 3012, 3015, 3016, 3017, 3020, 3021, 3029, 0, 3032, 3033, - 3031, 3020, 3022, 3027, 3021, 3018, 3019, 3024, 3022, 3025, - 3028, 3029, 3027, 3031, 3042, 3026, 3030, 3037, 3038, 3028, + 3026, 3027, 3022, 3028, 3012, 3015, 3014, 3029, 3023, 3016, + 3021, 3030, 3028, 3031, 3032, 0, 3029, 3019, 3026, 0, + 3030, 3019, 3033, 3034, 3022, 3024, 3032, 3026, 3027, 3036, + 3028, 3033, 3034, 3031, 3029, 3035, 3037, 3036, 3030, 3040, + 3031, 3032, 3038, 3041, 3039, 3042, 3035, 3044, 3043, 3033, + 3034, 3046, 3042, 3047, 3048, 0, 3036, 3043, 3049, 3037, + 0, 0, 3035, 3037, 3039, 3038, 3040, 3049, 3044, 3038, + 3041, 3039, 3042, 3050, 3044, 3043, 3051, 3053, 3046, 3052, + 3047, 3055, 3050, 3054, 3056, 3049, 3048, 3052, 3051, 3057, + 3053, 3056, 3058, 3059, 3061, 3062, 3057, 3060, 3063, 3058, - 3032, 3020, 3021, 3041, 3030, 3032, 3033, 3031, 3034, 3035, - 3027, 3036, 3039, 3037, 3038, 3034, 3035, 3028, 3036, 3039, - 3040, 3042, 3044, 3030, 3037, 3038, 3043, 3047, 3041, 3046, - 3041, 3049, 3048, 3052, 3051, 3034, 3035, 3046, 3036, 3039, - 3048, 3052, 3040, 3054, 3055, 3056, 3058, 3040, 3053, 3044, - 3054, 3043, 3051, 3043, 3047, 3057, 3046, 3059, 3049, 3048, - 3052, 3051, 3057, 3053, 3060, 3067, 3055, 3061, 3058, 3062, - 3054, 3055, 3056, 3058, 3061, 3053, 3065, 3062, 3066, 3059, - 3068, 3069, 3057, 3065, 3059, 3071, 3060, 3066, 3070, 3067, - 3072, 3060, 3067, 3069, 3061, 3074, 3062, 3070, 3073, 3076, + 3050, 3061, 3064, 3051, 3053, 3054, 3052, 3065, 3055, 3059, + 3054, 3056, 3066, 3060, 3069, 3071, 3057, 3062, 3068, 3058, + 3059, 3061, 3062, 3063, 3060, 3063, 3068, 3070, 3073, 3064, + 3074, 3077, 3065, 3075, 3065, 3070, 3076, 3078, 3074, 3066, + 3079, 3069, 3071, 3076, 3080, 3068, 3073, 3079, 3075, 3083, + 3081, 3082, 3087, 3077, 3070, 3073, 3083, 3074, 3077, 3087, + 3075, 3084, 3089, 3076, 3078, 3088, 3080, 3079, 3090, 3084, + 3091, 3080, 3081, 3082, 3088, 3092, 3083, 3081, 3082, 3087, + 3093, 3095, 3091, 3094, 3092, 3102, 3089, 3103, 3084, 3089, + 3096, 3098, 3088, 3095, 3099, 3090, 0, 3091, 3100, 3094, - 3078, 3077, 3080, 3065, 3086, 3066, 3072, 3068, 3069, 3079, - 3073, 3076, 3071, 3077, 0, 3070, 3081, 3072, 3074, 3083, - 3084, 3078, 3074, 3085, 0, 3073, 3076, 3078, 3077, 3080, - 3081, 3086, 3079, 3083, 3084, 3085, 3079, 3087, 3087, 3088, - 3089, 3090, 3093, 3081, 3095, 3091, 3083, 3084, 3092, 3089, - 3085, 3087, 3091, 3094, 0, 3090, 3092, 3100, 3097, 3088, - 3094, 3093, 3101, 3098, 3087, 3087, 3088, 3089, 3090, 3093, - 3099, 3095, 3091, 3097, 3102, 3092, 3103, 3104, 3105, 3107, - 3094, 3098, 3102, 3100, 3100, 3097, 3109, 3106, 3108, 3101, - 3098, 3115, 3116, 3099, 3107, 3108, 3105, 3099, 3106, 3104, + 3101, 3103, 3092, 3098, 3108, 0, 3099, 3093, 3095, 0, + 3094, 0, 3102, 3096, 3103, 3105, 3106, 3096, 3098, 3100, + 3107, 3099, 3112, 3101, 3110, 3100, 3113, 3101, 3111, 3105, + 3106, 3108, 3107, 3113, 3109, 3109, 3112, 3111, 3114, 3115, + 3117, 3119, 3105, 3106, 3110, 3116, 3114, 3107, 3109, 3112, + 3121, 3110, 3116, 3113, 3122, 3111, 3119, 3120, 3115, 3123, + 3125, 3109, 3109, 3124, 0, 3114, 3115, 3117, 3119, 3126, + 3127, 3124, 3116, 3121, 3128, 3120, 3130, 3121, 3129, 3131, + 3122, 3122, 3137, 3130, 3120, 3128, 3123, 3125, 3127, 3133, + 3124, 3126, 3138, 3129, 3139, 3133, 3126, 3127, 3140, 3139, - 3118, 3102, 3111, 3103, 3104, 3105, 3107, 3117, 3111, 3119, - 3116, 3120, 3117, 3109, 3106, 3108, 3121, 3115, 3115, 3116, - 3125, 3122, 3123, 3119, 3124, 3120, 3126, 3118, 3129, 3111, - 3121, 0, 3127, 3126, 3117, 3132, 3119, 3135, 3120, 3122, - 3123, 3134, 3124, 3121, 3127, 3136, 3137, 3125, 3122, 3123, - 3135, 3124, 3138, 3126, 3142, 3129, 3139, 3132, 3140, 3127, - 3138, 3147, 3132, 3134, 3135, 3137, 3142, 3136, 3134, 3144, - 3145, 3148, 3136, 3137, 3139, 3146, 3153, 3140, 3149, 3138, - 3156, 3142, 3150, 3139, 3151, 3140, 3155, 3146, 3147, 3156, - 3154, 3144, 3145, 3152, 3150, 3157, 3144, 3145, 3148, 3158, + 3141, 3128, 3144, 3130, 3142, 3129, 3131, 3147, 3137, 3137, + 3138, 3151, 3143, 0, 3141, 3145, 3133, 3146, 3142, 3138, + 3144, 3139, 0, 3148, 3149, 3140, 3143, 3141, 3157, 3144, + 3148, 3142, 3154, 3145, 3147, 3146, 3149, 3159, 3151, 3143, + 3156, 3157, 3145, 3158, 3146, 3160, 3164, 3167, 3161, 3162, + 3148, 3149, 3165, 3160, 3154, 3157, 3159, 3170, 3164, 3154, + 3165, 3168, 3156, 3171, 3159, 3158, 3161, 3156, 3162, 3167, + 3158, 3172, 3160, 3164, 3167, 3161, 3162, 3169, 3172, 3165, + 3173, 3174, 0, 3168, 3170, 3177, 3176, 3175, 3168, 3169, + 3171, 3178, 3180, 3174, 3176, 3179, 3181, 3182, 3172, 3183, - 3149, 3152, 3146, 3153, 3157, 3149, 3151, 3156, 3155, 3150, - 3154, 3151, 3159, 3155, 3160, 3161, 3165, 3154, 3163, 3166, - 3152, 3164, 3157, 3167, 3172, 3170, 3171, 3173, 3161, 3179, - 3175, 3158, 3174, 3164, 3159, 3175, 3160, 3172, 3165, 3159, - 3171, 3160, 3161, 3165, 3163, 3163, 3166, 3170, 3164, 3176, - 3167, 3172, 3170, 3171, 3173, 3177, 3174, 3178, 3180, 3174, - 0, 3179, 3175, 3187, 3181, 3182, 3184, 3186, 3188, 3185, - 3178, 3176, 3183, 3186, 3190, 3189, 3176, 3177, 3184, 3191, - 3195, 3180, 3177, 3193, 3178, 3180, 3181, 3182, 3185, 3190, - 3183, 3181, 3182, 3184, 3186, 3187, 3185, 3189, 3194, 3183, + 3190, 3180, 3173, 3184, 3169, 3181, 3187, 3173, 3174, 3175, + 3191, 3178, 3177, 3176, 3175, 3185, 3189, 3179, 3178, 3180, + 3195, 3183, 3179, 3181, 3188, 3184, 3183, 3190, 3185, 3182, + 3184, 3194, 3187, 3187, 3195, 3196, 3188, 3191, 3189, 3197, + 3198, 3199, 3185, 3189, 0, 0, 3199, 3195, 3196, 3200, + 3201, 3188, 3202, 3194, 3203, 3204, 0, 3207, 3194, 3211, + 3212, 3205, 3196, 3206, 3198, 3202, 3197, 3198, 3208, 0, + 3209, 3200, 3201, 3199, 3213, 3207, 3200, 3201, 3204, 3202, + 3208, 3210, 3204, 3205, 3207, 3206, 3203, 3210, 3205, 3209, + 3206, 3211, 3212, 3215, 3214, 3208, 3213, 3209, 3217, 3219, - 3188, 3190, 3189, 3193, 3195, 3199, 3191, 3195, 3197, 3200, - 3193, 3201, 3202, 0, 3203, 0, 3204, 0, 3206, 3205, - 3194, 3202, 3207, 3197, 3208, 3194, 3209, 3199, 3203, 3214, - 3210, 3200, 3199, 3201, 3204, 3197, 3200, 3205, 3201, 3202, - 3207, 3203, 3215, 3204, 3206, 3206, 3205, 3208, 3218, 3207, - 3213, 3208, 3210, 3219, 3222, 3220, 3218, 3210, 3209, 3213, - 3219, 3214, 3220, 3215, 3221, 3223, 3224, 3229, 3226, 3215, - 3227, 3230, 3221, 3228, 3224, 3218, 3232, 3213, 3231, 3229, - 3219, 3222, 3220, 3239, 3242, 3223, 3226, 3244, 3227, 3230, - 3231, 3221, 3223, 3224, 3229, 3226, 3233, 3227, 3230, 3228, + 3218, 3213, 3221, 0, 3226, 0, 3223, 0, 3210, 3214, + 3224, 0, 3225, 3226, 3230, 3233, 3227, 3221, 3217, 0, + 3215, 3214, 3218, 3219, 3228, 3217, 3219, 3218, 3223, 3221, + 3227, 3226, 3224, 3223, 3225, 3229, 3231, 3224, 3232, 3225, + 3230, 3230, 3228, 3227, 3234, 3238, 3237, 3233, 3239, 3242, + 0, 3228, 3243, 3229, 3231, 3237, 3245, 3242, 3246, 3243, + 3244, 3232, 3229, 3231, 3245, 3232, 3234, 3244, 3247, 3239, + 3248, 3234, 3250, 3237, 3251, 3239, 3242, 3238, 3248, 3243, + 3252, 3253, 3254, 3245, 3255, 3246, 3256, 3244, 3247, 3265, + 3250, 3259, 3251, 3253, 3257, 3247, 3255, 3248, 3261, 3250, - 3228, 3235, 3237, 3232, 3233, 3231, 3245, 3239, 3241, 3237, - 3239, 3242, 3243, 3235, 3243, 3249, 3247, 3248, 3250, 3244, - 3251, 3252, 3253, 3233, 3247, 0, 3248, 3260, 3235, 3237, - 3254, 3241, 3254, 3255, 3261, 3241, 3257, 3258, 3245, 3243, - 3264, 3253, 3249, 3247, 3248, 3250, 3262, 3263, 3252, 3253, - 3265, 3258, 3251, 3264, 3257, 3255, 3263, 3254, 3261, 3260, - 3255, 3261, 3268, 3257, 3258, 3269, 3266, 3264, 3270, 3262, - 3271, 3273, 3278, 3262, 3263, 3276, 0, 3265, 3266, 3271, - 3276, 3274, 3275, 3277, 3280, 3273, 3281, 3269, 3268, 3268, - 3270, 3283, 3269, 3266, 3274, 3270, 3284, 3271, 3273, 3278, + 3254, 3251, 3257, 3259, 3263, 3261, 3252, 3252, 3253, 3254, + 3266, 3255, 3265, 3256, 3268, 3267, 3265, 3267, 3259, 3269, + 3272, 3257, 3271, 3273, 3275, 3261, 3274, 3276, 3263, 3272, + 3271, 3263, 3278, 3277, 3278, 3279, 0, 3266, 3284, 3285, + 3281, 3282, 3267, 0, 0, 3289, 3268, 3272, 3286, 3271, + 3273, 3269, 3277, 3274, 3276, 3282, 3275, 3279, 3281, 3278, + 3277, 3288, 3279, 3285, 3287, 3290, 3285, 3281, 3282, 3292, + 3284, 3286, 3289, 3287, 3288, 3286, 3293, 3290, 3294, 3297, + 3295, 3298, 3300, 3299, 3302, 0, 3304, 3300, 3288, 3295, + 3301, 3287, 3290, 3297, 3298, 3292, 3292, 3305, 3293, 3307, - 3275, 3288, 3276, 3279, 3285, 3277, 3286, 3279, 3274, 3275, - 3277, 3280, 3291, 3281, 3290, 3293, 3301, 3292, 3283, 3284, - 3293, 3290, 3294, 3284, 3286, 3299, 3285, 3302, 3288, 3296, - 3279, 3285, 3292, 3286, 3291, 3297, 3296, 3294, 3298, 3291, - 3303, 3290, 3297, 3301, 3292, 3298, 3304, 3293, 3308, 3294, - 3305, 3299, 3299, 3311, 3302, 3306, 3296, 3309, 3312, 3314, - 3311, 3313, 3297, 3316, 3305, 3298, 3309, 3303, 3320, 3306, - 3304, 3315, 3318, 3304, 3321, 3308, 3319, 3305, 3317, 3322, - 3311, 3318, 3306, 3315, 3309, 3312, 3314, 3313, 3313, 3319, - 3316, 3325, 3317, 3326, 3327, 3334, 3325, 3328, 3315, 3318, + 3294, 3299, 3308, 3293, 3310, 3294, 3297, 3295, 3298, 3300, + 3299, 3302, 3301, 3304, 3303, 3309, 3312, 3301, 3303, 3316, + 3314, 3318, 3310, 3315, 3305, 3308, 3307, 3314, 3317, 3308, + 3325, 3310, 3320, 3317, 3316, 3323, 3318, 3309, 3326, 3320, + 3327, 3303, 3309, 3312, 3321, 3315, 3316, 3314, 3318, 3322, + 3315, 3321, 3329, 3328, 3330, 3332, 3322, 3325, 0, 3320, + 3317, 3323, 3323, 3333, 3336, 3326, 3329, 3327, 3330, 3337, + 3338, 3321, 3333, 3340, 3339, 3341, 3322, 3328, 3335, 3329, + 3328, 3330, 3332, 3342, 3344, 3335, 3339, 3345, 3346, 3341, + 3333, 3336, 3342, 3343, 3347, 3337, 3337, 3338, 3351, 3352, - 3320, 3321, 3322, 3319, 3330, 3317, 3322, 3331, 3332, 3330, - 3335, 3331, 3336, 3337, 3333, 3332, 3334, 3326, 3452, 3328, - 3326, 3333, 3334, 3325, 3328, 3338, 3327, 3338, 3339, 3340, - 3343, 3344, 0, 0, 3331, 3332, 3330, 3348, 3350, 3345, - 3350, 3333, 3335, 3347, 3336, 3337, 3352, 3351, 3356, 0, - 3452, 3339, 3338, 3344, 3354, 3339, 3340, 3343, 3344, 3345, - 3355, 3348, 3347, 3359, 3348, 3350, 3345, 3353, 3353, 3355, - 3347, 3351, 3352, 3352, 3351, 3356, 3354, 3353, 3357, 3358, - 3360, 3354, 3364, 3363, 3362, 3357, 3369, 3355, 3361, 0, - 3359, 3363, 3358, 3360, 3353, 3353, 3361, 3362, 3366, 3367, + 3340, 3339, 3341, 3351, 3353, 3335, 3343, 3350, 0, 3361, + 3342, 3344, 3357, 3354, 3350, 3346, 3357, 3347, 3358, 3345, + 3343, 3347, 3356, 3352, 3359, 3358, 3352, 3356, 3360, 3362, + 3351, 3359, 3363, 3365, 3350, 3354, 3353, 0, 3366, 3357, + 3354, 3361, 3364, 3369, 3364, 3358, 3370, 3371, 3374, 3360, + 0, 3359, 3373, 3377, 3356, 3360, 3365, 3376, 0, 3376, + 3365, 3362, 3378, 3380, 3363, 3366, 3382, 3371, 3370, 3364, + 3369, 3373, 3374, 3370, 3371, 3374, 3383, 3377, 3381, 3373, + 3377, 3379, 3379, 3383, 3376, 3380, 3384, 3381, 3378, 3378, + 3380, 3379, 3385, 3382, 3386, 3390, 3387, 3388, 3389, 3384, - 3368, 3364, 3370, 3366, 3367, 3357, 3358, 3360, 3368, 3364, - 3363, 3362, 3361, 3369, 3371, 3361, 3372, 0, 3373, 0, - 3374, 3375, 0, 3361, 3378, 3378, 3381, 3368, 3370, 3370, - 3366, 3367, 3375, 3376, 3379, 0, 3382, 3380, 0, 3381, - 3371, 3371, 3372, 3372, 3373, 3373, 3374, 3374, 3375, 3377, - 3384, 3378, 3379, 3381, 3383, 3376, 3377, 3380, 3382, 3386, - 3376, 3379, 3383, 3382, 3380, 3385, 3386, 3387, 3388, 3390, - 3391, 3394, 3384, 3393, 3387, 3388, 3377, 3384, 3392, 3397, - 3395, 3383, 3396, 3385, 3399, 3393, 3386, 3401, 3397, 3405, - 3400, 3403, 3385, 3402, 3387, 3388, 3390, 3391, 3394, 3402, + 3395, 3478, 3396, 3383, 3387, 3381, 3389, 3386, 3379, 3379, + 3388, 3392, 3393, 3384, 3390, 3397, 3392, 3393, 3394, 3385, + 3387, 3386, 3390, 3387, 3388, 3389, 3394, 3395, 3396, 3396, + 3398, 3387, 3399, 3478, 3400, 3401, 3404, 3404, 3407, 0, + 0, 3397, 3397, 3392, 3393, 3394, 3401, 3402, 3403, 3405, + 3406, 3407, 0, 0, 3411, 3403, 3398, 3398, 3399, 3399, + 3400, 3400, 3401, 3404, 3408, 3407, 3410, 3405, 3416, 3402, + 3406, 3409, 3411, 3412, 3402, 3403, 3405, 3406, 3413, 3409, + 3412, 3411, 3414, 3417, 3418, 3413, 3408, 3419, 3410, 3414, + 3420, 3408, 3421, 3410, 3422, 3416, 3425, 3423, 3409, 3419, - 3393, 3395, 3392, 3406, 3396, 3392, 3397, 3395, 3407, 3396, - 3400, 3399, 3408, 3403, 3401, 3409, 3405, 3400, 3403, 3412, - 3402, 3406, 3414, 3415, 3416, 3417, 3407, 3418, 3419, 0, - 3406, 3414, 3421, 3409, 3422, 3407, 3419, 3412, 3423, 3408, - 3420, 3422, 3409, 3423, 3421, 3418, 3412, 3426, 3417, 3414, - 3415, 3416, 3417, 3429, 3418, 3419, 3420, 3425, 3432, 3421, - 3427, 3422, 3430, 3428, 3431, 3426, 3434, 3420, 0, 3436, - 3423, 3425, 3427, 3433, 3426, 3428, 3429, 3440, 3434, 3441, - 3429, 3436, 3432, 3444, 3425, 3432, 3431, 3427, 3430, 3430, - 3428, 3431, 3442, 3434, 3445, 3433, 3436, 3449, 3450, 3440, + 3412, 3427, 3426, 3429, 3431, 3413, 3423, 3434, 3418, 3414, + 3417, 3418, 3428, 3421, 3419, 3432, 3422, 3420, 3428, 3421, + 3433, 3422, 3426, 3425, 3423, 3429, 3435, 3438, 3427, 3426, + 3429, 3431, 3440, 3432, 3434, 3441, 3442, 3443, 3433, 3428, + 3444, 3440, 3432, 3445, 3435, 3438, 0, 3433, 3448, 3446, + 3488, 3445, 3449, 3435, 3438, 3448, 3447, 3449, 3444, 3440, + 3443, 3452, 3441, 3442, 3443, 3446, 3451, 3444, 3447, 3453, + 3445, 3455, 3467, 3454, 0, 3448, 3446, 3456, 3458, 3452, + 3451, 3453, 3488, 3447, 3449, 3454, 3457, 3459, 3452, 3460, + 3466, 3470, 0, 3451, 3455, 3462, 3453, 3468, 3455, 3467, - 3433, 3446, 3447, 3446, 3440, 3442, 3441, 3445, 3451, 3458, - 3444, 3447, 3453, 3457, 3459, 3457, 3461, 3462, 3464, 3442, - 3468, 3445, 0, 3461, 3449, 3450, 3451, 3453, 3446, 3447, - 3469, 3458, 3459, 3464, 3470, 3451, 3458, 3471, 3466, 3453, - 3457, 3459, 3468, 3461, 3466, 3464, 3473, 3468, 3477, 3462, - 3474, 3476, 3469, 3478, 3481, 3471, 3479, 3469, 3482, 3479, - 3470, 3470, 3477, 3474, 3471, 3466, 3478, 3476, 3473, 3483, - 3484, 3492, 3485, 3473, 3493, 3477, 0, 3474, 3476, 3485, - 3478, 3481, 3479, 3479, 3486, 3482, 3479, 3487, 3484, 0, - 3488, 3486, 3496, 3489, 3494, 3487, 3483, 3484, 3488, 3485, + 3454, 3460, 3458, 3456, 3456, 3458, 3471, 3462, 3457, 3459, + 3468, 3473, 3466, 3457, 3459, 3475, 3460, 3466, 3470, 3471, + 3473, 3472, 3462, 3472, 3468, 3476, 3477, 3483, 3479, 3483, + 3487, 3485, 3490, 3471, 3484, 3492, 0, 3487, 3473, 3496, + 0, 3492, 3475, 3479, 3477, 3494, 3495, 3490, 3472, 3485, + 0, 3498, 3476, 3477, 3483, 3479, 3484, 3487, 3485, 3490, + 3500, 3484, 3492, 3501, 3502, 3496, 3496, 3494, 3495, 3498, + 3504, 3506, 3494, 3495, 3505, 0, 3507, 3502, 3498, 3507, + 3509, 3510, 3500, 3511, 3506, 3501, 3504, 3500, 3505, 3513, + 3501, 3502, 3514, 3512, 3520, 3517, 3513, 3504, 3506, 3514, - 3495, 3493, 3500, 3492, 3497, 3502, 3499, 3505, 3498, 3501, - 0, 3486, 3499, 3497, 3487, 3489, 3494, 3488, 3501, 3496, - 3489, 3494, 3495, 3498, 3500, 3507, 3504, 3495, 3504, 3500, - 3510, 3497, 3508, 3499, 3505, 3498, 3501, 3502, 3509, 3511, - 3517, 0, 3515, 3512, 0, 3522, 3513, 3511, 3507, 3515, - 3519, 0, 3507, 3504, 3508, 3512, 3510, 3510, 3513, 3508, - 3509, 3520, 3521, 3523, 3519, 3509, 3511, 3517, 3522, 3515, - 3512, 3524, 3522, 3513, 3526, 3520, 3521, 3519, 3525, 3529, - 3527, 3523, 3524, 3531, 3528, 3530, 3525, 3533, 3520, 3521, - 3523, 3528, 3530, 3526, 3529, 3532, 3533, 3535, 3524, 3534, + 3521, 3505, 3507, 3507, 3515, 3516, 3507, 3509, 3510, 0, + 3511, 3512, 3515, 3516, 3522, 3523, 3513, 3517, 3524, 3514, + 3512, 3525, 3517, 3526, 3528, 3530, 3520, 3521, 3527, 3533, + 3525, 3515, 3516, 3538, 3527, 3529, 3522, 3523, 3526, 3536, + 3535, 3522, 3523, 3537, 3529, 3524, 3528, 3532, 3525, 3532, + 3526, 3528, 3545, 0, 0, 3527, 3533, 3530, 3563, 3538, + 3538, 3536, 3529, 3535, 3539, 3537, 3536, 3535, 3540, 3541, + 3537, 3543, 3539, 3547, 3532, 3548, 3549, 3552, 3543, 3545, + 3540, 3541, 3550, 3551, 3553, 3563, 3555, 3547, 3552, 3548, + 3549, 3539, 3553, 3554, 0, 3540, 3541, 3559, 3543, 3556, - 3534, 3526, 3527, 3536, 3541, 3525, 3529, 3527, 3537, 3531, - 3531, 3528, 3530, 3532, 3533, 3540, 3537, 3541, 3543, 3544, - 3540, 3545, 3532, 3547, 3535, 3549, 3534, 3550, 3560, 3547, - 3536, 3541, 3552, 3553, 3555, 3537, 3557, 3549, 3556, 3543, - 3563, 3565, 0, 3552, 3553, 3543, 3544, 3540, 3545, 3556, - 3547, 3562, 3549, 3568, 3550, 3560, 3555, 3561, 3557, 3552, - 3553, 3555, 3564, 3557, 3561, 3556, 3564, 3566, 3565, 3562, - 3569, 3570, 3563, 3572, 3573, 3566, 3571, 3570, 3562, 3568, - 3568, 3572, 3571, 3569, 3561, 3574, 3576, 3573, 3575, 3564, - 3577, 3579, 3581, 3578, 3566, 3576, 3577, 3569, 3570, 3583, + 3547, 3551, 3548, 3549, 3552, 3550, 3556, 3557, 3555, 3550, + 3551, 3553, 3554, 3555, 3558, 3560, 3561, 3562, 3562, 3564, + 3554, 3558, 3557, 3559, 3559, 3561, 3556, 3565, 3571, 3572, + 3573, 3568, 3569, 3560, 3557, 3565, 3568, 3578, 3577, 3583, + 3580, 3558, 3560, 3561, 3562, 3569, 3564, 3575, 3585, 3571, + 3577, 3580, 3588, 3575, 3565, 3571, 3572, 3573, 3581, 3569, + 3584, 3583, 3591, 3568, 3578, 3577, 3583, 3580, 3590, 3581, + 3585, 3584, 3592, 3589, 3575, 3585, 3592, 3593, 3597, 3588, + 3589, 3594, 0, 3596, 3598, 3581, 3590, 3584, 3600, 3594, + 3598, 3597, 3599, 3601, 3591, 3590, 3600, 3602, 3599, 3592, - 3572, 3573, 3578, 3571, 3584, 3585, 3583, 3589, 3589, 3574, - 3590, 3588, 3574, 3576, 3575, 3575, 3588, 3577, 3579, 3591, - 3578, 3592, 3593, 3594, 3581, 3595, 3583, 3585, 3598, 3593, - 3600, 3599, 3585, 3592, 3589, 3596, 3584, 3590, 3588, 3599, - 3597, 3595, 3594, 3602, 3601, 3600, 3591, 3597, 3592, 3593, - 3594, 3601, 3595, 3596, 3603, 3604, 3605, 3600, 3599, 3612, - 3598, 3606, 3596, 3607, 3616, 3608, 3613, 3597, 3605, 3594, - 3602, 3601, 3614, 3613, 3612, 3615, 3603, 3617, 3620, 3614, - 3621, 3603, 3604, 3605, 3618, 3606, 3612, 3607, 3606, 3621, - 3607, 3608, 3608, 3613, 3623, 3624, 3616, 3615, 3625, 3614, + 3589, 3603, 3607, 3604, 3593, 3597, 3601, 3605, 3594, 3596, + 3596, 3598, 3604, 3605, 3606, 3600, 3609, 3612, 3611, 3599, + 3601, 3602, 3626, 3606, 3602, 3611, 0, 3603, 3603, 3607, + 3604, 3613, 3616, 3618, 3605, 3617, 3617, 3616, 3619, 3620, + 3621, 3606, 3622, 3625, 0, 3611, 3624, 3621, 3609, 3612, + 3625, 3620, 3623, 3613, 3626, 3627, 3628, 3630, 3613, 3616, + 3618, 3622, 3617, 3627, 3624, 3619, 3620, 3621, 3623, 3622, + 3625, 3628, 3631, 3624, 3629, 3632, 3633, 3634, 3641, 3623, + 3637, 3629, 3627, 3628, 3630, 3635, 3631, 3636, 3622, 3634, + 3645, 3642, 3646, 3641, 3644, 3649, 3647, 3632, 3642, 3631, - 3627, 3626, 3615, 3629, 3617, 0, 3632, 3621, 3618, 3626, - 3620, 3618, 3631, 3628, 3628, 3632, 3623, 3633, 3635, 3633, - 3625, 3623, 3624, 3628, 3634, 3625, 3636, 3631, 3626, 3638, - 3629, 3637, 3627, 3632, 3636, 3640, 3641, 3642, 3634, 3631, - 3628, 3628, 3637, 3643, 3633, 3635, 3644, 3638, 3646, 3645, - 3647, 3634, 3648, 3636, 3649, 3650, 3638, 3651, 3637, 3644, - 3652, 3650, 3640, 3641, 3642, 3643, 3653, 3653, 3654, 3655, - 3643, 3645, 3649, 3644, 3652, 3646, 3645, 3647, 3658, 3648, - 3661, 3649, 3650, 3659, 3651, 3662, 3666, 3652, 3672, 3665, - 3668, 3655, 3666, 3653, 3659, 3668, 3655, 3665, 3669, 3671, + 0, 3629, 3632, 3633, 3634, 3641, 3637, 3637, 3643, 3635, + 3652, 3636, 3635, 3653, 3636, 3643, 3644, 3650, 3642, 3646, + 3647, 3644, 3645, 3647, 3654, 3655, 3650, 3649, 3656, 3657, + 3657, 3658, 3652, 3655, 3660, 3643, 3661, 3652, 3664, 3657, + 3653, 3662, 3665, 3662, 3650, 3661, 3654, 3669, 3663, 3660, + 3665, 3654, 3655, 3666, 3667, 3670, 3657, 3657, 3658, 3671, + 3656, 3660, 3663, 3661, 3666, 3664, 3672, 3674, 3662, 3665, + 3673, 3675, 3667, 3676, 3669, 3663, 3677, 3678, 3679, 3680, + 3666, 3667, 3670, 3673, 3679, 3681, 3671, 3683, 3672, 3674, + 3682, 3682, 0, 3672, 3674, 3678, 3684, 3673, 3675, 3681, - 3654, 3670, 3674, 3669, 3671, 3658, 3680, 3661, 3677, 3670, - 3659, 3681, 3662, 3666, 3672, 3672, 3665, 3668, 3675, 3675, - 3679, 3677, 3676, 3684, 3680, 3669, 3671, 3679, 3670, 3674, - 3676, 3685, 3682, 3680, 3683, 3677, 3686, 3687, 3681, 3682, - 3688, 3683, 3690, 3686, 3689, 3675, 3692, 3679, 3693, 3676, - 3684, 3689, 3687, 3706, 3685, 3692, 3696, 3697, 3685, 3682, - 3694, 3683, 3695, 3686, 3687, 3690, 3701, 3694, 3700, 3690, - 3695, 3689, 3688, 3692, 3700, 3703, 3704, 3705, 3696, 3697, - 3693, 3707, 3708, 3696, 3697, 3706, 3709, 3694, 3710, 3695, - 3705, 3714, 3712, 3701, 3715, 3700, 3707, 0, 3704, 3712, + 3676, 3687, 3688, 3677, 3678, 3679, 3680, 3690, 3691, 3695, + 3703, 3697, 3681, 3688, 3694, 3695, 3697, 3682, 3684, 3683, + 3698, 3700, 3694, 3684, 3699, 3698, 3700, 3701, 3687, 3688, + 3704, 3704, 3699, 3706, 3690, 3691, 3695, 3703, 3697, 3710, + 3709, 3694, 3705, 3713, 0, 3708, 3706, 3698, 3700, 3711, + 3705, 3699, 3708, 3701, 3701, 3712, 3711, 3704, 3709, 3716, + 3706, 3714, 3712, 3717, 3715, 3722, 3710, 3709, 0, 3705, + 3713, 3715, 3708, 3718, 3716, 3719, 3711, 3724, 3721, 3725, + 3718, 3726, 3712, 3723, 3714, 3724, 3716, 3721, 3714, 3730, + 3723, 3715, 3732, 3729, 3734, 3717, 3733, 3722, 3719, 3729, - 3716, 3708, 3703, 3704, 3705, 3717, 3718, 3716, 3707, 3708, - 3710, 3719, 3717, 3709, 3714, 3710, 3715, 0, 3714, 3712, - 3720, 3715, 3721, 3722, 3724, 3737, 3719, 3716, 3718, 3725, - 0, 3721, 3717, 3718, 3726, 3720, 3729, 3725, 3719, 3727, - 3733, 3726, 3730, 3724, 3722, 3729, 3727, 3720, 3735, 3721, - 3722, 3724, 3732, 3730, 3731, 3731, 3725, 3737, 3732, 3741, - 3742, 3726, 3733, 3729, 3731, 3736, 3727, 3733, 3738, 3730, - 3735, 3740, 3736, 3746, 3742, 3735, 3747, 3752, 3740, 3732, - 0, 3731, 3731, 3741, 3748, 3755, 3741, 3742, 3753, 3752, - 3738, 3756, 3736, 3757, 3758, 3738, 3760, 3763, 3740, 3767, + 3718, 3725, 3719, 3726, 3724, 3721, 3725, 3734, 3726, 3735, + 3723, 3736, 3737, 3738, 0, 3739, 3730, 3741, 3733, 3732, + 3729, 3734, 3742, 3733, 3744, 0, 3736, 3746, 3741, 3742, + 3745, 3737, 3752, 3748, 3746, 3749, 3747, 3739, 3736, 3737, + 3738, 3735, 3739, 3747, 3741, 3754, 3750, 3744, 0, 3742, + 3749, 3744, 3745, 3752, 3746, 3748, 3751, 3745, 3755, 3752, + 3748, 3750, 3749, 3747, 3754, 3751, 3755, 3756, 3757, 3759, + 3760, 3763, 3754, 3750, 3756, 3757, 3761, 3761, 3759, 3765, + 3766, 3760, 3762, 3751, 3767, 3755, 3761, 3766, 3762, 0, + 3768, 3771, 3770, 3763, 3756, 3757, 3759, 3760, 3763, 3770, - 3746, 3757, 3769, 3747, 3752, 3773, 3764, 3748, 3760, 3771, - 3753, 3748, 3755, 3756, 3764, 3753, 3766, 3766, 3756, 3772, - 3757, 3758, 3775, 3760, 3763, 3769, 3767, 3768, 3768, 3769, - 3774, 3771, 3773, 3764, 3777, 3775, 3771, 3772, 3778, 3774, - 3780, 3781, 3782, 3783, 3784, 3766, 3772, 0, 3785, 3775, - 3786, 3783, 3787, 3788, 3790, 3791, 3768, 3774, 0, 3787, - 3788, 3777, 3783, 3789, 3791, 3778, 3795, 3796, 3795, 3797, - 3783, 3784, 3780, 3781, 3782, 3785, 3786, 3786, 3783, 3787, - 3788, 3790, 3791, 3798, 3792, 3789, 3799, 3796, 3801, 3802, - 3789, 3792, 3797, 3795, 3796, 3803, 3797, 3801, 3799, 3804, + 3772, 3765, 3776, 3761, 3761, 3777, 3765, 3766, 3778, 3762, + 3782, 3783, 3768, 3785, 3772, 3771, 3767, 3768, 3771, 3770, + 3786, 3788, 3782, 3793, 3790, 3797, 3787, 3772, 0, 3776, + 3803, 3778, 3777, 3783, 3787, 3778, 3790, 3782, 3783, 3799, + 3785, 3794, 3786, 3796, 3796, 3798, 3798, 3786, 3788, 3794, + 3793, 3790, 3797, 3787, 3801, 3802, 3804, 3803, 3805, 3807, + 3808, 3810, 3799, 3811, 3812, 3804, 3799, 3814, 3794, 0, + 3813, 3805, 3796, 3802, 3798, 3815, 3801, 3816, 3813, 3819, + 3820, 3801, 3802, 3804, 3817, 3805, 3807, 3808, 0, 3813, + 3827, 3817, 3818, 3810, 3814, 3811, 3812, 3813, 3826, 3818, - 3805, 3798, 3806, 3807, 3808, 3809, 3813, 3810, 3811, 3813, - 3798, 3792, 3810, 3799, 3802, 3801, 3802, 3803, 3805, 3812, - 3811, 3815, 3803, 3816, 3813, 3816, 3804, 3805, 3806, 3806, - 3807, 3808, 3809, 3813, 3810, 3811, 3813, 3814, 3818, 3817, - 3819, 3812, 3814, 0, 3818, 3822, 3812, 3821, 3820, 3823, - 3816, 3817, 3824, 3815, 0, 3821, 3825, 3826, 3828, 3827, - 3831, 3833, 3819, 3832, 3835, 3818, 3817, 3819, 0, 3814, - 3820, 3827, 3822, 3824, 3821, 3820, 3832, 3836, 3840, 3824, - 3828, 3823, 3841, 3825, 3826, 3828, 3827, 3831, 3833, 3838, - 3832, 3835, 3842, 3843, 3844, 3836, 3846, 3847, 3838, 3848, + 3821, 3819, 3815, 3816, 3816, 3813, 3819, 3820, 3822, 3821, + 3825, 3817, 3825, 3827, 3828, 3822, 3829, 3827, 3826, 3818, + 3831, 3833, 3834, 3832, 3835, 3826, 3838, 3821, 3829, 3831, + 3832, 3837, 3828, 3839, 3836, 3822, 3840, 3825, 0, 3846, + 3841, 3828, 3842, 3829, 3834, 3841, 3833, 3831, 3833, 3834, + 3832, 3835, 3836, 3838, 3842, 3843, 3844, 3837, 3837, 3844, + 3839, 3836, 3847, 3840, 3847, 3845, 3848, 3841, 3850, 3842, + 3845, 3846, 3851, 3849, 3844, 3853, 3852, 3843, 3848, 3849, + 3854, 0, 3843, 3844, 3852, 0, 3844, 3855, 3856, 3847, + 3850, 3857, 3858, 3848, 3851, 3850, 3862, 3845, 3859, 3851, - 3849, 3850, 3850, 3853, 3836, 3840, 3856, 3852, 3857, 3841, - 0, 3863, 0, 3856, 3858, 3857, 3838, 3859, 3869, 3842, - 3843, 3844, 3860, 3846, 3847, 3852, 3848, 3849, 3850, 3859, - 3853, 3865, 3864, 3856, 3852, 3857, 3860, 3858, 3863, 3868, - 3866, 3858, 3871, 3872, 3859, 3869, 3865, 3866, 3860, 3860, - 3864, 3868, 3870, 3877, 3873, 3872, 3874, 3876, 3865, 3864, - 3870, 3875, 3879, 3860, 3880, 3892, 3868, 3866, 3873, 3871, - 3872, 3874, 3876, 3884, 3879, 3886, 3885, 3887, 3887, 3870, - 3877, 3873, 3888, 3874, 3876, 3885, 3891, 3875, 3875, 3879, - 3894, 3880, 3889, 3893, 0, 3884, 3896, 3892, 3900, 3886, + 3849, 3864, 3853, 3852, 3858, 3866, 3867, 3869, 3855, 3863, + 3871, 3872, 3854, 3873, 3855, 3856, 3869, 3874, 3857, 3858, + 3859, 3875, 3863, 3862, 3867, 3859, 3877, 3878, 3864, 3879, + 3880, 3883, 3866, 3867, 3869, 3884, 3863, 3871, 3872, 3887, + 3873, 3881, 3881, 3888, 3874, 3891, 3887, 0, 3875, 3883, + 3888, 3889, 3890, 3877, 3878, 3894, 3879, 3880, 3883, 3891, + 3896, 3899, 3884, 3895, 3890, 3900, 3887, 3902, 3881, 3897, + 3888, 3891, 3891, 3899, 3889, 3896, 3897, 3901, 3889, 3890, + 3909, 3895, 3894, 3903, 3904, 3901, 3891, 3896, 3899, 3906, + 3895, 3905, 3900, 3907, 3902, 3903, 3897, 3908, 3904, 3912, - 3884, 3889, 3886, 3885, 3887, 3896, 3893, 3895, 3888, 3888, - 3891, 3897, 3894, 3891, 3899, 3895, 3900, 3894, 3904, 3889, - 3893, 3903, 3897, 3896, 3906, 3900, 3909, 3909, 3921, 3910, - 3904, 3923, 3920, 0, 3895, 3899, 3910, 3925, 3897, 3924, - 3931, 3899, 0, 0, 3903, 3904, 3932, 3930, 3903, 3923, - 3906, 3906, 3921, 3909, 3920, 3921, 3910, 3924, 3923, 3920, - 3926, 3930, 3925, 3928, 3925, 3933, 3924, 3931, 3926, 3927, - 3927, 3935, 3928, 3932, 3930, 3937, 3938, 3927, 3939, 3937, - 3943, 3940, 3945, 3941, 3947, 3946, 0, 3926, 3940, 3946, - 3928, 3948, 3933, 3943, 3938, 3941, 3927, 3927, 3935, 3949, + 3916, 3907, 3911, 0, 3901, 3924, 3905, 3909, 3917, 3918, + 3903, 3904, 3908, 3920, 3911, 3906, 3906, 3917, 3905, 3921, + 3907, 3923, 3916, 0, 3908, 3925, 3912, 3916, 3921, 3911, + 3919, 3919, 3926, 3918, 3927, 3917, 3918, 3924, 3925, 3920, + 3920, 3928, 3927, 3931, 3929, 3923, 3921, 3932, 3923, 3935, + 3928, 3936, 3925, 3938, 3926, 3929, 0, 3919, 3957, 3926, + 3952, 3927, 3942, 3936, 3931, 3932, 3941, 3941, 3928, 3942, + 3931, 3929, 3935, 3953, 3932, 0, 3935, 3955, 3936, 3938, + 3938, 3956, 3952, 3957, 3958, 3957, 3963, 3952, 3962, 3942, + 3959, 3959, 3958, 3941, 3960, 3955, 3964, 3953, 3959, 3956, - 3947, 3939, 3937, 3938, 3950, 3939, 3951, 3943, 3940, 3952, - 3941, 3947, 3946, 3948, 3945, 3959, 3950, 3953, 3948, 3954, - 3956, 3958, 3956, 3952, 3949, 3953, 3949, 3955, 3954, 3957, - 3959, 3950, 3951, 3951, 3961, 3960, 3952, 3962, 3955, 3958, - 3961, 3957, 3959, 3963, 3953, 3964, 3954, 3956, 3958, 3965, - 3969, 3966, 3962, 3964, 3955, 3967, 3957, 3960, 3966, 3968, - 3970, 3961, 3960, 3971, 3962, 3963, 3972, 3970, 3973, 3967, - 3963, 3971, 3964, 3968, 3974, 3973, 3965, 3969, 3966, 3979, - 3981, 3980, 3967, 3984, 3982, 3972, 3968, 3970, 3980, 3983, - 3971, 3986, 3979, 3972, 3987, 3973, 3974, 3985, 3988, 3991, + 3953, 3965, 3962, 3960, 3955, 3967, 3969, 3970, 3956, 3972, + 3969, 3958, 3971, 3963, 3973, 3962, 3972, 3959, 3959, 3974, + 3978, 3960, 3979, 3964, 3976, 3970, 3979, 3980, 3965, 0, + 3982, 3974, 3967, 3969, 3970, 3971, 3972, 3976, 3981, 3971, + 3984, 3973, 3986, 3980, 3983, 3985, 3974, 3988, 0, 3979, + 3986, 3976, 3978, 3987, 3980, 3982, 3983, 3982, 3988, 3985, + 3981, 3989, 3987, 3989, 3990, 3981, 3984, 3984, 3991, 3986, + 3992, 3983, 3985, 3994, 3988, 3995, 3990, 3993, 3998, 3994, + 3987, 3996, 3999, 4002, 3997, 3992, 3991, 4000, 3989, 3999, + 3995, 3990, 3997, 4001, 4007, 3991, 0, 3992, 4005, 3993, - 0, 3974, 3982, 3996, 3989, 3992, 3979, 3981, 3980, 0, - 3984, 3982, 3989, 3983, 3993, 3990, 3983, 3986, 3986, 3985, - 0, 3987, 3990, 3991, 3985, 3988, 3991, 3992, 3994, 3998, - 3994, 3989, 3992, 3995, 3997, 3996, 3993, 3999, 4000, 4001, - 4002, 3993, 3990, 4003, 3998, 3995, 4001, 3997, 4004, 4006, - 4007, 4008, 4010, 4011, 4012, 3994, 3998, 4011, 4013, 3999, - 3995, 3997, 4014, 4015, 3999, 4000, 4001, 4002, 4016, 4025, - 4003, 4015, 4007, 4008, 4014, 4004, 4006, 4007, 4008, 4010, - 4011, 4012, 4018, 4019, 4021, 4013, 4026, 4021, 4022, 4014, - 4015, 4029, 4028, 4031, 4018, 4016, 4025, 4022, 4027, 4019, + 3994, 4000, 3995, 3996, 3993, 3998, 4003, 4001, 3996, 3999, + 4002, 3997, 4006, 4003, 4000, 4004, 4007, 4005, 4012, 4006, + 4001, 4007, 4013, 4004, 4014, 4005, 4015, 4018, 4017, 4013, + 4021, 4012, 4020, 4003, 4019, 4022, 4024, 0, 4023, 4006, + 4025, 4030, 4004, 4024, 4015, 4012, 4023, 4026, 4027, 4013, + 0, 4014, 4017, 4015, 4018, 4017, 4019, 4021, 4020, 4020, + 4029, 4019, 4022, 4024, 4025, 4023, 4028, 4025, 4028, 4026, + 4027, 4031, 4029, 4030, 4026, 4027, 4032, 4033, 4034, 4035, + 4036, 4037, 4038, 4040, 4031, 0, 4035, 4029, 4044, 4041, + 4042, 4032, 4045, 4028, 4046, 4047, 4045, 4050, 4031, 4033, - 4028, 4030, 4032, 4035, 4034, 4037, 4031, 0, 0, 4018, - 4019, 4021, 4026, 4026, 4033, 4022, 4032, 4027, 4052, 4028, - 4031, 4051, 4033, 4029, 4042, 4027, 4034, 4043, 4045, 4032, - 4035, 4034, 4037, 4030, 4051, 4049, 4042, 4048, 4053, 4043, - 4045, 4033, 4049, 4048, 4054, 4052, 4056, 4057, 4051, 4053, - 4058, 4042, 4059, 4056, 4043, 4045, 4060, 4064, 4058, 4062, - 4061, 0, 4049, 4063, 4048, 4053, 4059, 4054, 4061, 4057, - 4060, 4054, 4067, 4056, 4057, 4075, 4068, 4058, 4067, 4059, - 4069, 4062, 4068, 4060, 4064, 4063, 4062, 4061, 4070, 4069, - 4063, 4071, 4074, 4072, 4076, 4070, 4077, 4078, 4082, 4067, + 0, 4048, 4052, 4032, 4033, 4034, 4035, 4036, 4037, 4038, + 4040, 4041, 4042, 4048, 4052, 4044, 4041, 4042, 4049, 4045, + 4053, 4046, 4047, 4056, 4050, 4059, 4049, 4055, 4048, 4052, + 4055, 4060, 4056, 4062, 4061, 4063, 4053, 4064, 4065, 0, + 0, 4062, 0, 4069, 4068, 4049, 4071, 4053, 4066, 0, + 4056, 4065, 4059, 4061, 4055, 4067, 4076, 4060, 4060, 4086, + 4062, 4061, 4066, 4067, 4077, 4065, 4068, 4063, 4076, 4064, + 4069, 4068, 4079, 4071, 4082, 4066, 4077, 4085, 4083, 4088, + 4082, 4087, 4067, 4076, 4079, 4083, 4086, 4090, 4091, 4092, + 4085, 4077, 4087, 4093, 4090, 4094, 4096, 4092, 4098, 4079, - 4071, 4072, 4075, 4068, 4079, 4080, 4082, 4069, 4081, 4083, - 4074, 4087, 4088, 0, 0, 4070, 4076, 4090, 4071, 4074, - 4072, 4076, 4085, 4078, 4078, 4082, 4079, 4080, 4077, 4085, - 4081, 4079, 4080, 4086, 4087, 4081, 4089, 4091, 4087, 4088, - 4086, 4083, 4093, 4094, 4090, 4096, 4091, 4095, 4097, 4085, - 4098, 4094, 4100, 4096, 4099, 0, 4097, 4101, 4089, 4102, - 4086, 4103, 4099, 4089, 4091, 4093, 4100, 4095, 4105, 4093, - 4094, 4107, 4096, 4108, 4095, 4097, 4114, 4110, 0, 4100, - 0, 4099, 4098, 4111, 4101, 4115, 4102, 4109, 4103, 4112, - 4109, 4111, 4113, 4107, 4105, 4105, 4123, 4112, 4107, 4110, + 0, 4082, 4088, 4095, 4085, 4083, 4088, 4093, 4087, 4094, + 4091, 4095, 4097, 4101, 4090, 4091, 4092, 4103, 4096, 4101, + 4093, 4102, 4094, 4096, 4104, 4098, 4103, 4102, 4105, 4108, + 4095, 4104, 4109, 4106, 4097, 4110, 4111, 4105, 4112, 4097, + 4101, 4106, 4116, 4117, 4103, 4113, 4119, 4108, 4102, 4114, + 4116, 4104, 4115, 4119, 4120, 4105, 4108, 4110, 4122, 4109, + 4106, 4120, 4110, 4121, 4112, 4112, 4123, 4113, 4111, 4116, + 4124, 4114, 4113, 4119, 4115, 4117, 4114, 4127, 4125, 4115, + 4132, 4120, 4129, 4128, 4130, 4122, 4121, 4125, 4123, 4135, + 4121, 4128, 4130, 4123, 4134, 4131, 4136, 4124, 4133, 4137, - 4108, 4119, 4114, 4114, 4110, 4109, 4113, 4115, 4120, 4128, - 4111, 4125, 4115, 4126, 4109, 4119, 4112, 4109, 4124, 4113, - 4122, 4122, 4123, 4123, 4127, 4129, 4124, 4130, 4119, 4128, - 4131, 4120, 4134, 4129, 4132, 4120, 4128, 4125, 4125, 4126, - 4126, 4133, 4135, 4136, 0, 4124, 4127, 4122, 4142, 4138, - 4137, 4127, 4129, 0, 4130, 0, 4132, 4131, 4137, 4134, - 4145, 4132, 4135, 4136, 4139, 4143, 4133, 4146, 4133, 4135, - 4136, 4138, 4139, 4143, 4149, 4142, 4138, 4137, 4147, 4151, - 4148, 4155, 4145, 4154, 4156, 4152, 4147, 4145, 4148, 4146, - 4153, 4139, 4143, 4152, 4146, 4158, 4159, 0, 4153, 4160, + 4127, 4139, 4129, 4131, 4127, 4125, 4133, 4141, 4134, 4129, + 4128, 4130, 4132, 4142, 4143, 4144, 4135, 4143, 0, 4147, + 0, 4134, 4131, 4136, 4148, 4133, 4137, 4139, 4139, 4141, + 4145, 4146, 4143, 4147, 4141, 4153, 4154, 4144, 4145, 4146, + 4142, 4143, 4144, 4149, 4143, 4157, 4147, 4156, 4156, 4153, + 4148, 4148, 4158, 0, 4159, 0, 4160, 4145, 4146, 4154, + 4158, 4163, 4153, 4154, 4161, 4149, 4164, 4162, 4165, 4163, + 4149, 4157, 4157, 4167, 4156, 4166, 4168, 0, 0, 4158, + 4159, 4159, 4160, 4160, 4169, 4170, 4161, 4162, 4163, 4176, + 0, 4161, 4172, 4164, 4162, 4165, 0, 4166, 4167, 4171, - 4149, 4149, 4162, 4165, 4156, 4147, 4151, 4148, 4155, 4154, - 4154, 4156, 4152, 4166, 4168, 4169, 0, 4153, 0, 4160, - 4167, 4166, 4158, 4159, 4162, 4165, 4160, 0, 4167, 4162, - 4165, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4166, 4168, 4169, 0, 0, 0, 0, 4167, 4173, 4173, - 4173, 4173, 4173, 4173, 4173, 4174, 4174, 4174, 4174, 4174, - 4174, 4174, 4175, 4175, 4175, 4175, 4175, 4175, 4175, 4176, - 4176, 4176, 4176, 4176, 4176, 4176, 4177, 4177, 4177, 4177, - 4177, 4177, 4177, 4178, 4178, 4178, 4178, 4178, 4178, 4178, - 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4181, 4181, 0, + 4167, 4173, 4166, 4168, 4169, 4170, 4183, 4171, 4179, 4173, + 4177, 4169, 4170, 4181, 4172, 4182, 4176, 4180, 4177, 4172, + 4185, 4181, 0, 4182, 4188, 4189, 4171, 0, 4173, 4192, + 4179, 4193, 4183, 4183, 4190, 4179, 0, 4177, 4186, 4180, + 4181, 4187, 4182, 4194, 4180, 4196, 4186, 4185, 0, 4187, + 4188, 4188, 4189, 4199, 4190, 4202, 4192, 4203, 4193, 0, + 0, 4190, 0, 4194, 0, 4186, 4200, 4196, 4187, 4201, + 4194, 0, 4196, 0, 4200, 4199, 0, 4201, 0, 0, + 4199, 0, 4202, 0, 4203, 0, 0, 0, 0, 0, + 0, 0, 0, 4200, 0, 0, 4201, 4207, 4207, 4207, - 4181, 4181, 4181, 4181, 4182, 4182, 0, 0, 0, 4182, - 4182, 4183, 4183, 0, 0, 4183, 0, 4183, 4184, 0, - 0, 0, 0, 0, 4184, 4185, 4185, 0, 0, 0, - 4185, 4185, 4186, 0, 0, 0, 0, 0, 4186, 4187, - 4187, 0, 4187, 4187, 4187, 4187, 4188, 0, 0, 0, - 0, 0, 4188, 4189, 4189, 0, 0, 0, 4189, 4189, - 4190, 4190, 0, 4190, 4190, 4190, 4190, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, + 4207, 4207, 4207, 4207, 4208, 4208, 4208, 4208, 4208, 4208, + 4208, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4210, 4210, + 4210, 4210, 4210, 4210, 4210, 4211, 4211, 4211, 4211, 4211, + 4211, 4211, 4212, 4212, 4212, 4212, 4212, 4212, 4212, 4213, + 4213, 4213, 4213, 4213, 4213, 4213, 4215, 4215, 0, 4215, + 4215, 4215, 4215, 4216, 4216, 0, 0, 0, 4216, 4216, + 4217, 4217, 0, 0, 4217, 0, 4217, 4218, 0, 0, + 0, 0, 0, 4218, 4219, 4219, 0, 0, 0, 4219, + 4219, 4220, 0, 0, 0, 0, 0, 4220, 4221, 4221, + 0, 4221, 4221, 4221, 4221, 4222, 0, 0, 0, 0, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4172, - 4172, 4172, 4172, 4172 + 0, 4222, 4223, 4223, 0, 0, 0, 4223, 4223, 4224, + 4224, 0, 4224, 4224, 4224, 4224, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, 4206, + 4206, 4206, 4206 } ; static yy_state_type yy_last_accepting_state; @@ -4633,7 +4679,7 @@ static void config_end_include(void) } #endif -#line 4634 "<stdout>" +#line 4680 "<stdout>" #define YY_NO_INPUT 1 #line 190 "util/configlexer.lex" #ifndef YY_NO_UNPUT @@ -4642,9 +4688,9 @@ static void config_end_include(void) #ifndef YY_NO_INPUT #define YY_NO_INPUT 1 #endif -#line 4643 "<stdout>" +#line 4689 "<stdout>" -#line 4645 "<stdout>" +#line 4691 "<stdout>" #define INITIAL 0 #define quotedstring 1 @@ -4868,7 +4914,7 @@ YY_DECL { #line 210 "util/configlexer.lex" -#line 4869 "<stdout>" +#line 4915 "<stdout>" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -4901,13 +4947,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 >= 4173 ) + if ( yy_current_state >= 4207 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 11868 ); + while ( yy_base[yy_current_state] != 12017 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -6878,53 +6924,63 @@ YY_RULE_SETUP case 387: YY_RULE_SETUP #line 611 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_TRANSFER_SIZE) } +{ YDVAR(1, VAR_VAL_VALIDATION_ATTEMPTS) } YY_BREAK case 388: YY_RULE_SETUP #line 612 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_TRANSFER_TIME) } +{ YDVAR(1, VAR_VAL_HASH_ATTEMPTS) } YY_BREAK case 389: YY_RULE_SETUP #line 613 "util/configlexer.lex" -{ YDVAR(1, VAR_ITER_SCRUB_PROMISCUOUS) } +{ YDVAR(1, VAR_MAX_TRANSFER_SIZE) } YY_BREAK case 390: -/* rule 390 can match eol */ YY_RULE_SETUP #line 614 "util/configlexer.lex" +{ YDVAR(1, VAR_MAX_TRANSFER_TIME) } + YY_BREAK +case 391: +YY_RULE_SETUP +#line 615 "util/configlexer.lex" +{ YDVAR(1, VAR_ITER_SCRUB_PROMISCUOUS) } + YY_BREAK +case 392: +/* rule 392 can match eol */ +YY_RULE_SETUP +#line 616 "util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 391: +case 393: YY_RULE_SETUP -#line 617 "util/configlexer.lex" +#line 619 "util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 618 "util/configlexer.lex" +#line 620 "util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 392: +case 394: YY_RULE_SETUP -#line 623 "util/configlexer.lex" +#line 625 "util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 393: -/* rule 393 can match eol */ +case 395: +/* rule 395 can match eol */ YY_RULE_SETUP -#line 624 "util/configlexer.lex" +#line 626 "util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 394: +case 396: YY_RULE_SETUP -#line 626 "util/configlexer.lex" +#line 628 "util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -6937,34 +6993,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 395: +case 397: YY_RULE_SETUP -#line 638 "util/configlexer.lex" +#line 640 "util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 639 "util/configlexer.lex" +#line 641 "util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 396: +case 398: YY_RULE_SETUP -#line 644 "util/configlexer.lex" +#line 646 "util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 397: -/* rule 397 can match eol */ +case 399: +/* rule 399 can match eol */ YY_RULE_SETUP -#line 645 "util/configlexer.lex" +#line 647 "util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 398: +case 400: YY_RULE_SETUP -#line 647 "util/configlexer.lex" +#line 649 "util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -6977,38 +7033,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 399: +case 401: YY_RULE_SETUP -#line 659 "util/configlexer.lex" +#line 661 "util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 661 "util/configlexer.lex" +#line 663 "util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 400: +case 402: YY_RULE_SETUP -#line 665 "util/configlexer.lex" +#line 667 "util/configlexer.lex" { LEXOUT(("ISP ")); /* ignore */ } YY_BREAK -case 401: -/* rule 401 can match eol */ +case 403: +/* rule 403 can match eol */ YY_RULE_SETUP -#line 666 "util/configlexer.lex" +#line 668 "util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK -case 402: +case 404: YY_RULE_SETUP -#line 667 "util/configlexer.lex" +#line 669 "util/configlexer.lex" { LEXOUT(("IQS ")); BEGIN(include_quoted); } YY_BREAK -case 403: +case 405: YY_RULE_SETUP -#line 668 "util/configlexer.lex" +#line 670 "util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext, 0); @@ -7016,27 +7072,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 673 "util/configlexer.lex" +#line 675 "util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 404: +case 406: YY_RULE_SETUP -#line 677 "util/configlexer.lex" +#line 679 "util/configlexer.lex" { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } YY_BREAK -case 405: -/* rule 405 can match eol */ +case 407: +/* rule 407 can match eol */ YY_RULE_SETUP -#line 678 "util/configlexer.lex" +#line 680 "util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 406: +case 408: YY_RULE_SETUP -#line 680 "util/configlexer.lex" +#line 682 "util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -7046,7 +7102,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 686 "util/configlexer.lex" +#line 688 "util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -7061,39 +7117,39 @@ case YY_STATE_EOF(val): } YY_BREAK /* include-toplevel: directive */ -case 407: +case 409: YY_RULE_SETUP -#line 700 "util/configlexer.lex" +#line 702 "util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel); } YY_BREAK case YY_STATE_EOF(include_toplevel): -#line 703 "util/configlexer.lex" +#line 705 "util/configlexer.lex" { yyerror("EOF inside include_toplevel directive"); BEGIN(inc_prev); } YY_BREAK -case 408: +case 410: YY_RULE_SETUP -#line 707 "util/configlexer.lex" +#line 709 "util/configlexer.lex" { LEXOUT(("ITSP ")); /* ignore */ } YY_BREAK -case 409: -/* rule 409 can match eol */ +case 411: +/* rule 411 can match eol */ YY_RULE_SETUP -#line 708 "util/configlexer.lex" +#line 710 "util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK -case 410: +case 412: YY_RULE_SETUP -#line 709 "util/configlexer.lex" +#line 711 "util/configlexer.lex" { LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); } YY_BREAK -case 411: +case 413: YY_RULE_SETUP -#line 710 "util/configlexer.lex" +#line 712 "util/configlexer.lex" { LEXOUT(("ITunquotedstr(%s) ", yytext)); config_start_include_glob(yytext, 1); @@ -7102,29 +7158,29 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_toplevel_quoted): -#line 716 "util/configlexer.lex" +#line 718 "util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 412: +case 414: YY_RULE_SETUP -#line 720 "util/configlexer.lex" +#line 722 "util/configlexer.lex" { LEXOUT(("ITSTR(%s) ", yytext)); yymore(); } YY_BREAK -case 413: -/* rule 413 can match eol */ +case 415: +/* rule 415 can match eol */ YY_RULE_SETUP -#line 721 "util/configlexer.lex" +#line 723 "util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 414: +case 416: YY_RULE_SETUP -#line 725 "util/configlexer.lex" +#line 727 "util/configlexer.lex" { LEXOUT(("ITQE ")); yytext[yyleng - 1] = '\0'; @@ -7133,33 +7189,33 @@ YY_RULE_SETUP return (VAR_FORCE_TOPLEVEL); } YY_BREAK -case 415: +case 417: YY_RULE_SETUP -#line 733 "util/configlexer.lex" +#line 735 "util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 416: +case 418: YY_RULE_SETUP -#line 737 "util/configlexer.lex" +#line 739 "util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 417: +case 419: YY_RULE_SETUP -#line 741 "util/configlexer.lex" +#line 743 "util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 418: +case 420: YY_RULE_SETUP -#line 745 "util/configlexer.lex" +#line 747 "util/configlexer.lex" ECHO; YY_BREAK -#line 7160 "<stdout>" +#line 7216 "<stdout>" case YY_END_OF_BUFFER: { @@ -7454,7 +7510,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 >= 4173 ) + if ( yy_current_state >= 4207 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -7482,11 +7538,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 >= 4173 ) + if ( yy_current_state >= 4207 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 4172); + yy_is_jam = (yy_current_state == 4206); return yy_is_jam ? 0 : yy_current_state; } @@ -8125,6 +8181,6 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 745 "util/configlexer.lex" +#line 747 "util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index 196575bdb8a5..84e353d5e988 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -608,6 +608,8 @@ iter-scrub-ns{COLON} { YDVAR(1, VAR_ITER_SCRUB_NS) } iter-scrub-cname{COLON} { YDVAR(1, VAR_ITER_SCRUB_CNAME) } iter-scrub-rrsig{COLON} { YDVAR(1, VAR_ITER_SCRUB_RRSIG) } max-global-quota{COLON} { YDVAR(1, VAR_MAX_GLOBAL_QUOTA) } +val-validation-attempts{COLON} { YDVAR(1, VAR_VAL_VALIDATION_ATTEMPTS) } +val-hash-attempts{COLON} { YDVAR(1, VAR_VAL_HASH_ATTEMPTS) } max-transfer-size{COLON} { YDVAR(1, VAR_MAX_TRANSFER_SIZE) } max-transfer-time{COLON} { YDVAR(1, VAR_MAX_TRANSFER_TIME) } iter-scrub-promiscuous{COLON} { YDVAR(1, VAR_ITER_SCRUB_PROMISCUOUS) } diff --git a/util/configparser.c b/util/configparser.c index f5ff34eca6ab..e6f28d126ce2 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -507,419 +507,423 @@ enum yysymbol_kind_t YYSYMBOL_VAR_MAX_GLOBAL_QUOTA = 378, /* VAR_MAX_GLOBAL_QUOTA */ YYSYMBOL_VAR_HARDEN_UNVERIFIED_GLUE = 379, /* VAR_HARDEN_UNVERIFIED_GLUE */ YYSYMBOL_VAR_LOG_TIME_ISO = 380, /* VAR_LOG_TIME_ISO */ - YYSYMBOL_VAR_ITER_SCRUB_PROMISCUOUS = 381, /* VAR_ITER_SCRUB_PROMISCUOUS */ - YYSYMBOL_VAR_LOG_THREAD_ID = 382, /* VAR_LOG_THREAD_ID */ - YYSYMBOL_YYACCEPT = 383, /* $accept */ - YYSYMBOL_toplevelvars = 384, /* toplevelvars */ - YYSYMBOL_toplevelvar = 385, /* toplevelvar */ - YYSYMBOL_force_toplevel = 386, /* force_toplevel */ - YYSYMBOL_serverstart = 387, /* serverstart */ - YYSYMBOL_contents_server = 388, /* contents_server */ - YYSYMBOL_content_server = 389, /* content_server */ - YYSYMBOL_stub_clause = 390, /* stub_clause */ - YYSYMBOL_stubstart = 391, /* stubstart */ - YYSYMBOL_contents_stub = 392, /* contents_stub */ - YYSYMBOL_content_stub = 393, /* content_stub */ - YYSYMBOL_forward_clause = 394, /* forward_clause */ - YYSYMBOL_forwardstart = 395, /* forwardstart */ - YYSYMBOL_contents_forward = 396, /* contents_forward */ - YYSYMBOL_content_forward = 397, /* content_forward */ - YYSYMBOL_view_clause = 398, /* view_clause */ - YYSYMBOL_viewstart = 399, /* viewstart */ - YYSYMBOL_contents_view = 400, /* contents_view */ - YYSYMBOL_content_view = 401, /* content_view */ - YYSYMBOL_authstart = 402, /* authstart */ - YYSYMBOL_contents_auth = 403, /* contents_auth */ - YYSYMBOL_content_auth = 404, /* content_auth */ - YYSYMBOL_rpz_tag = 405, /* rpz_tag */ - YYSYMBOL_rpz_action_override = 406, /* rpz_action_override */ - YYSYMBOL_rpz_cname_override = 407, /* rpz_cname_override */ - YYSYMBOL_rpz_log = 408, /* rpz_log */ - YYSYMBOL_rpz_log_name = 409, /* rpz_log_name */ - YYSYMBOL_rpz_signal_nxdomain_ra = 410, /* rpz_signal_nxdomain_ra */ - YYSYMBOL_rpzstart = 411, /* rpzstart */ - YYSYMBOL_contents_rpz = 412, /* contents_rpz */ - YYSYMBOL_content_rpz = 413, /* content_rpz */ - YYSYMBOL_server_num_threads = 414, /* server_num_threads */ - YYSYMBOL_server_verbosity = 415, /* server_verbosity */ - YYSYMBOL_server_statistics_interval = 416, /* server_statistics_interval */ - YYSYMBOL_server_statistics_cumulative = 417, /* server_statistics_cumulative */ - YYSYMBOL_server_extended_statistics = 418, /* server_extended_statistics */ - YYSYMBOL_server_statistics_inhibit_zero = 419, /* server_statistics_inhibit_zero */ - YYSYMBOL_server_shm_enable = 420, /* server_shm_enable */ - YYSYMBOL_server_shm_key = 421, /* server_shm_key */ - YYSYMBOL_server_port = 422, /* server_port */ - YYSYMBOL_server_send_client_subnet = 423, /* server_send_client_subnet */ - YYSYMBOL_server_client_subnet_zone = 424, /* server_client_subnet_zone */ - YYSYMBOL_server_client_subnet_always_forward = 425, /* server_client_subnet_always_forward */ - YYSYMBOL_server_client_subnet_opcode = 426, /* server_client_subnet_opcode */ - YYSYMBOL_server_max_client_subnet_ipv4 = 427, /* server_max_client_subnet_ipv4 */ - YYSYMBOL_server_max_client_subnet_ipv6 = 428, /* server_max_client_subnet_ipv6 */ - YYSYMBOL_server_min_client_subnet_ipv4 = 429, /* server_min_client_subnet_ipv4 */ - YYSYMBOL_server_min_client_subnet_ipv6 = 430, /* server_min_client_subnet_ipv6 */ - YYSYMBOL_server_max_ecs_tree_size_ipv4 = 431, /* server_max_ecs_tree_size_ipv4 */ - YYSYMBOL_server_max_ecs_tree_size_ipv6 = 432, /* server_max_ecs_tree_size_ipv6 */ - YYSYMBOL_server_interface = 433, /* server_interface */ - YYSYMBOL_server_outgoing_interface = 434, /* server_outgoing_interface */ - YYSYMBOL_server_outgoing_range = 435, /* server_outgoing_range */ - YYSYMBOL_server_outgoing_port_permit = 436, /* server_outgoing_port_permit */ - YYSYMBOL_server_outgoing_port_avoid = 437, /* server_outgoing_port_avoid */ - YYSYMBOL_server_outgoing_num_tcp = 438, /* server_outgoing_num_tcp */ - YYSYMBOL_server_incoming_num_tcp = 439, /* server_incoming_num_tcp */ - YYSYMBOL_server_interface_automatic = 440, /* server_interface_automatic */ - YYSYMBOL_server_interface_automatic_ports = 441, /* server_interface_automatic_ports */ - YYSYMBOL_server_do_ip4 = 442, /* server_do_ip4 */ - YYSYMBOL_server_do_ip6 = 443, /* server_do_ip6 */ - YYSYMBOL_server_do_nat64 = 444, /* server_do_nat64 */ - YYSYMBOL_server_do_udp = 445, /* server_do_udp */ - YYSYMBOL_server_do_tcp = 446, /* server_do_tcp */ - YYSYMBOL_server_prefer_ip4 = 447, /* server_prefer_ip4 */ - YYSYMBOL_server_prefer_ip6 = 448, /* server_prefer_ip6 */ - YYSYMBOL_server_tcp_mss = 449, /* server_tcp_mss */ - YYSYMBOL_server_outgoing_tcp_mss = 450, /* server_outgoing_tcp_mss */ - YYSYMBOL_server_tcp_idle_timeout = 451, /* server_tcp_idle_timeout */ - YYSYMBOL_server_max_reuse_tcp_queries = 452, /* server_max_reuse_tcp_queries */ - YYSYMBOL_server_tcp_reuse_timeout = 453, /* server_tcp_reuse_timeout */ - YYSYMBOL_server_tcp_auth_query_timeout = 454, /* server_tcp_auth_query_timeout */ - YYSYMBOL_server_tcp_keepalive = 455, /* server_tcp_keepalive */ - YYSYMBOL_server_tcp_keepalive_timeout = 456, /* server_tcp_keepalive_timeout */ - YYSYMBOL_server_sock_queue_timeout = 457, /* server_sock_queue_timeout */ - YYSYMBOL_server_tcp_upstream = 458, /* server_tcp_upstream */ - YYSYMBOL_server_udp_upstream_without_downstream = 459, /* server_udp_upstream_without_downstream */ - YYSYMBOL_server_ssl_upstream = 460, /* server_ssl_upstream */ - YYSYMBOL_server_ssl_service_key = 461, /* server_ssl_service_key */ - YYSYMBOL_server_ssl_service_pem = 462, /* server_ssl_service_pem */ - YYSYMBOL_server_ssl_port = 463, /* server_ssl_port */ - YYSYMBOL_server_tls_cert_bundle = 464, /* server_tls_cert_bundle */ - YYSYMBOL_server_tls_win_cert = 465, /* server_tls_win_cert */ - YYSYMBOL_server_tls_additional_port = 466, /* server_tls_additional_port */ - YYSYMBOL_server_tls_ciphers = 467, /* server_tls_ciphers */ - YYSYMBOL_server_tls_ciphersuites = 468, /* server_tls_ciphersuites */ - YYSYMBOL_server_tls_session_ticket_keys = 469, /* server_tls_session_ticket_keys */ - YYSYMBOL_server_tls_use_sni = 470, /* server_tls_use_sni */ - YYSYMBOL_server_tls_protocols = 471, /* server_tls_protocols */ - YYSYMBOL_server_https_port = 472, /* server_https_port */ - YYSYMBOL_server_http_endpoint = 473, /* server_http_endpoint */ - YYSYMBOL_server_http_max_streams = 474, /* server_http_max_streams */ - YYSYMBOL_server_http_query_buffer_size = 475, /* server_http_query_buffer_size */ - YYSYMBOL_server_http_response_buffer_size = 476, /* server_http_response_buffer_size */ - YYSYMBOL_server_http_nodelay = 477, /* server_http_nodelay */ - YYSYMBOL_server_http_notls_downstream = 478, /* server_http_notls_downstream */ - YYSYMBOL_server_quic_port = 479, /* server_quic_port */ - YYSYMBOL_server_quic_size = 480, /* server_quic_size */ - YYSYMBOL_server_use_systemd = 481, /* server_use_systemd */ - YYSYMBOL_server_do_daemonize = 482, /* server_do_daemonize */ - YYSYMBOL_server_use_syslog = 483, /* server_use_syslog */ - YYSYMBOL_server_log_time_ascii = 484, /* server_log_time_ascii */ - YYSYMBOL_server_log_time_iso = 485, /* server_log_time_iso */ - YYSYMBOL_server_log_queries = 486, /* server_log_queries */ - YYSYMBOL_server_log_replies = 487, /* server_log_replies */ - YYSYMBOL_server_log_tag_queryreply = 488, /* server_log_tag_queryreply */ - YYSYMBOL_server_log_servfail = 489, /* server_log_servfail */ - YYSYMBOL_server_log_destaddr = 490, /* server_log_destaddr */ - YYSYMBOL_server_log_thread_id = 491, /* server_log_thread_id */ - YYSYMBOL_server_log_local_actions = 492, /* server_log_local_actions */ - YYSYMBOL_server_chroot = 493, /* server_chroot */ - YYSYMBOL_server_username = 494, /* server_username */ - YYSYMBOL_server_directory = 495, /* server_directory */ - YYSYMBOL_server_logfile = 496, /* server_logfile */ - YYSYMBOL_server_pidfile = 497, /* server_pidfile */ - YYSYMBOL_server_root_hints = 498, /* server_root_hints */ - YYSYMBOL_server_dlv_anchor_file = 499, /* server_dlv_anchor_file */ - YYSYMBOL_server_dlv_anchor = 500, /* server_dlv_anchor */ - YYSYMBOL_server_auto_trust_anchor_file = 501, /* server_auto_trust_anchor_file */ - YYSYMBOL_server_trust_anchor_file = 502, /* server_trust_anchor_file */ - YYSYMBOL_server_trusted_keys_file = 503, /* server_trusted_keys_file */ - YYSYMBOL_server_trust_anchor = 504, /* server_trust_anchor */ - YYSYMBOL_server_trust_anchor_signaling = 505, /* server_trust_anchor_signaling */ - YYSYMBOL_server_root_key_sentinel = 506, /* server_root_key_sentinel */ - YYSYMBOL_server_domain_insecure = 507, /* server_domain_insecure */ - YYSYMBOL_server_hide_identity = 508, /* server_hide_identity */ - YYSYMBOL_server_hide_version = 509, /* server_hide_version */ - YYSYMBOL_server_hide_trustanchor = 510, /* server_hide_trustanchor */ - YYSYMBOL_server_hide_http_user_agent = 511, /* server_hide_http_user_agent */ - YYSYMBOL_server_identity = 512, /* server_identity */ - YYSYMBOL_server_version = 513, /* server_version */ - YYSYMBOL_server_http_user_agent = 514, /* server_http_user_agent */ - YYSYMBOL_server_nsid = 515, /* server_nsid */ - YYSYMBOL_server_so_rcvbuf = 516, /* server_so_rcvbuf */ - YYSYMBOL_server_so_sndbuf = 517, /* server_so_sndbuf */ - YYSYMBOL_server_so_reuseport = 518, /* server_so_reuseport */ - YYSYMBOL_server_ip_transparent = 519, /* server_ip_transparent */ - YYSYMBOL_server_ip_freebind = 520, /* server_ip_freebind */ - YYSYMBOL_server_ip_dscp = 521, /* server_ip_dscp */ - YYSYMBOL_server_stream_wait_size = 522, /* server_stream_wait_size */ - YYSYMBOL_server_edns_buffer_size = 523, /* server_edns_buffer_size */ - YYSYMBOL_server_msg_buffer_size = 524, /* server_msg_buffer_size */ - YYSYMBOL_server_msg_cache_size = 525, /* server_msg_cache_size */ - YYSYMBOL_server_msg_cache_slabs = 526, /* server_msg_cache_slabs */ - YYSYMBOL_server_num_queries_per_thread = 527, /* server_num_queries_per_thread */ - YYSYMBOL_server_jostle_timeout = 528, /* server_jostle_timeout */ - YYSYMBOL_server_delay_close = 529, /* server_delay_close */ - YYSYMBOL_server_udp_connect = 530, /* server_udp_connect */ - YYSYMBOL_server_unblock_lan_zones = 531, /* server_unblock_lan_zones */ - YYSYMBOL_server_insecure_lan_zones = 532, /* server_insecure_lan_zones */ - YYSYMBOL_server_rrset_cache_size = 533, /* server_rrset_cache_size */ - YYSYMBOL_server_rrset_cache_slabs = 534, /* server_rrset_cache_slabs */ - YYSYMBOL_server_infra_host_ttl = 535, /* server_infra_host_ttl */ - YYSYMBOL_server_infra_lame_ttl = 536, /* server_infra_lame_ttl */ - YYSYMBOL_server_infra_cache_numhosts = 537, /* server_infra_cache_numhosts */ - YYSYMBOL_server_infra_cache_lame_size = 538, /* server_infra_cache_lame_size */ - YYSYMBOL_server_infra_cache_slabs = 539, /* server_infra_cache_slabs */ - YYSYMBOL_server_infra_cache_min_rtt = 540, /* server_infra_cache_min_rtt */ - YYSYMBOL_server_infra_cache_max_rtt = 541, /* server_infra_cache_max_rtt */ - YYSYMBOL_server_infra_keep_probing = 542, /* server_infra_keep_probing */ - YYSYMBOL_server_target_fetch_policy = 543, /* server_target_fetch_policy */ - YYSYMBOL_server_harden_short_bufsize = 544, /* server_harden_short_bufsize */ - YYSYMBOL_server_harden_large_queries = 545, /* server_harden_large_queries */ - YYSYMBOL_server_harden_glue = 546, /* server_harden_glue */ - YYSYMBOL_server_harden_unverified_glue = 547, /* server_harden_unverified_glue */ - YYSYMBOL_server_harden_dnssec_stripped = 548, /* server_harden_dnssec_stripped */ - YYSYMBOL_server_harden_below_nxdomain = 549, /* server_harden_below_nxdomain */ - YYSYMBOL_server_harden_referral_path = 550, /* server_harden_referral_path */ - YYSYMBOL_server_harden_algo_downgrade = 551, /* server_harden_algo_downgrade */ - YYSYMBOL_server_harden_unknown_additional = 552, /* server_harden_unknown_additional */ - YYSYMBOL_server_use_caps_for_id = 553, /* server_use_caps_for_id */ - YYSYMBOL_server_caps_whitelist = 554, /* server_caps_whitelist */ - YYSYMBOL_server_private_address = 555, /* server_private_address */ - YYSYMBOL_server_private_domain = 556, /* server_private_domain */ - YYSYMBOL_server_prefetch = 557, /* server_prefetch */ - YYSYMBOL_server_prefetch_key = 558, /* server_prefetch_key */ - YYSYMBOL_server_deny_any = 559, /* server_deny_any */ - YYSYMBOL_server_unwanted_reply_threshold = 560, /* server_unwanted_reply_threshold */ - YYSYMBOL_server_do_not_query_address = 561, /* server_do_not_query_address */ - YYSYMBOL_server_do_not_query_localhost = 562, /* server_do_not_query_localhost */ - YYSYMBOL_server_access_control = 563, /* server_access_control */ - YYSYMBOL_server_interface_action = 564, /* server_interface_action */ - YYSYMBOL_server_module_conf = 565, /* server_module_conf */ - YYSYMBOL_server_val_override_date = 566, /* server_val_override_date */ - YYSYMBOL_server_val_sig_skew_min = 567, /* server_val_sig_skew_min */ - YYSYMBOL_server_val_sig_skew_max = 568, /* server_val_sig_skew_max */ - YYSYMBOL_server_val_max_restart = 569, /* server_val_max_restart */ - YYSYMBOL_server_cache_max_ttl = 570, /* server_cache_max_ttl */ - YYSYMBOL_server_cache_max_negative_ttl = 571, /* server_cache_max_negative_ttl */ - YYSYMBOL_server_cache_min_negative_ttl = 572, /* server_cache_min_negative_ttl */ - YYSYMBOL_server_cache_min_ttl = 573, /* server_cache_min_ttl */ - YYSYMBOL_server_bogus_ttl = 574, /* server_bogus_ttl */ - YYSYMBOL_server_val_clean_additional = 575, /* server_val_clean_additional */ - YYSYMBOL_server_val_permissive_mode = 576, /* server_val_permissive_mode */ - YYSYMBOL_server_aggressive_nsec = 577, /* server_aggressive_nsec */ - YYSYMBOL_server_ignore_cd_flag = 578, /* server_ignore_cd_flag */ - YYSYMBOL_server_disable_edns_do = 579, /* server_disable_edns_do */ - YYSYMBOL_server_serve_expired = 580, /* server_serve_expired */ - YYSYMBOL_server_serve_expired_ttl = 581, /* server_serve_expired_ttl */ - YYSYMBOL_server_serve_expired_ttl_reset = 582, /* server_serve_expired_ttl_reset */ - YYSYMBOL_server_serve_expired_reply_ttl = 583, /* server_serve_expired_reply_ttl */ - YYSYMBOL_server_serve_expired_client_timeout = 584, /* server_serve_expired_client_timeout */ - YYSYMBOL_server_ede_serve_expired = 585, /* server_ede_serve_expired */ - YYSYMBOL_server_serve_original_ttl = 586, /* server_serve_original_ttl */ - YYSYMBOL_server_fake_dsa = 587, /* server_fake_dsa */ - YYSYMBOL_server_fake_sha1 = 588, /* server_fake_sha1 */ - YYSYMBOL_server_val_log_level = 589, /* server_val_log_level */ - YYSYMBOL_server_val_nsec3_keysize_iterations = 590, /* server_val_nsec3_keysize_iterations */ - YYSYMBOL_server_zonemd_permissive_mode = 591, /* server_zonemd_permissive_mode */ - YYSYMBOL_server_add_holddown = 592, /* server_add_holddown */ - YYSYMBOL_server_del_holddown = 593, /* server_del_holddown */ - YYSYMBOL_server_keep_missing = 594, /* server_keep_missing */ - YYSYMBOL_server_permit_small_holddown = 595, /* server_permit_small_holddown */ - YYSYMBOL_server_key_cache_size = 596, /* server_key_cache_size */ - YYSYMBOL_server_key_cache_slabs = 597, /* server_key_cache_slabs */ - YYSYMBOL_server_neg_cache_size = 598, /* server_neg_cache_size */ - YYSYMBOL_server_local_zone = 599, /* server_local_zone */ - YYSYMBOL_server_local_data = 600, /* server_local_data */ - YYSYMBOL_server_local_data_ptr = 601, /* server_local_data_ptr */ - YYSYMBOL_server_minimal_responses = 602, /* server_minimal_responses */ - YYSYMBOL_server_rrset_roundrobin = 603, /* server_rrset_roundrobin */ - YYSYMBOL_server_unknown_server_time_limit = 604, /* server_unknown_server_time_limit */ - YYSYMBOL_server_discard_timeout = 605, /* server_discard_timeout */ - YYSYMBOL_server_wait_limit = 606, /* server_wait_limit */ - YYSYMBOL_server_wait_limit_cookie = 607, /* server_wait_limit_cookie */ - YYSYMBOL_server_wait_limit_netblock = 608, /* server_wait_limit_netblock */ - YYSYMBOL_server_wait_limit_cookie_netblock = 609, /* server_wait_limit_cookie_netblock */ - YYSYMBOL_server_max_udp_size = 610, /* server_max_udp_size */ - YYSYMBOL_server_dns64_prefix = 611, /* server_dns64_prefix */ - YYSYMBOL_server_dns64_synthall = 612, /* server_dns64_synthall */ - YYSYMBOL_server_dns64_ignore_aaaa = 613, /* server_dns64_ignore_aaaa */ - YYSYMBOL_server_nat64_prefix = 614, /* server_nat64_prefix */ - YYSYMBOL_server_define_tag = 615, /* server_define_tag */ - YYSYMBOL_server_local_zone_tag = 616, /* server_local_zone_tag */ - YYSYMBOL_server_access_control_tag = 617, /* server_access_control_tag */ - YYSYMBOL_server_access_control_tag_action = 618, /* server_access_control_tag_action */ - YYSYMBOL_server_access_control_tag_data = 619, /* server_access_control_tag_data */ - YYSYMBOL_server_local_zone_override = 620, /* server_local_zone_override */ - YYSYMBOL_server_access_control_view = 621, /* server_access_control_view */ - YYSYMBOL_server_interface_tag = 622, /* server_interface_tag */ - YYSYMBOL_server_interface_tag_action = 623, /* server_interface_tag_action */ - YYSYMBOL_server_interface_tag_data = 624, /* server_interface_tag_data */ - YYSYMBOL_server_interface_view = 625, /* server_interface_view */ - YYSYMBOL_server_response_ip_tag = 626, /* server_response_ip_tag */ - YYSYMBOL_server_ip_ratelimit = 627, /* server_ip_ratelimit */ - YYSYMBOL_server_ip_ratelimit_cookie = 628, /* server_ip_ratelimit_cookie */ - YYSYMBOL_server_ratelimit = 629, /* server_ratelimit */ - YYSYMBOL_server_ip_ratelimit_size = 630, /* server_ip_ratelimit_size */ - YYSYMBOL_server_ratelimit_size = 631, /* server_ratelimit_size */ - YYSYMBOL_server_ip_ratelimit_slabs = 632, /* server_ip_ratelimit_slabs */ - YYSYMBOL_server_ratelimit_slabs = 633, /* server_ratelimit_slabs */ - YYSYMBOL_server_ratelimit_for_domain = 634, /* server_ratelimit_for_domain */ - YYSYMBOL_server_ratelimit_below_domain = 635, /* server_ratelimit_below_domain */ - YYSYMBOL_server_ip_ratelimit_factor = 636, /* server_ip_ratelimit_factor */ - YYSYMBOL_server_ratelimit_factor = 637, /* server_ratelimit_factor */ - YYSYMBOL_server_ip_ratelimit_backoff = 638, /* server_ip_ratelimit_backoff */ - YYSYMBOL_server_ratelimit_backoff = 639, /* server_ratelimit_backoff */ - YYSYMBOL_server_outbound_msg_retry = 640, /* server_outbound_msg_retry */ - YYSYMBOL_server_max_sent_count = 641, /* server_max_sent_count */ - YYSYMBOL_server_max_query_restarts = 642, /* server_max_query_restarts */ - YYSYMBOL_server_low_rtt = 643, /* server_low_rtt */ - YYSYMBOL_server_fast_server_num = 644, /* server_fast_server_num */ - YYSYMBOL_server_fast_server_permil = 645, /* server_fast_server_permil */ - YYSYMBOL_server_qname_minimisation = 646, /* server_qname_minimisation */ - YYSYMBOL_server_qname_minimisation_strict = 647, /* server_qname_minimisation_strict */ - YYSYMBOL_server_pad_responses = 648, /* server_pad_responses */ - YYSYMBOL_server_pad_responses_block_size = 649, /* server_pad_responses_block_size */ - YYSYMBOL_server_pad_queries = 650, /* server_pad_queries */ - YYSYMBOL_server_pad_queries_block_size = 651, /* server_pad_queries_block_size */ - YYSYMBOL_server_ipsecmod_enabled = 652, /* server_ipsecmod_enabled */ - YYSYMBOL_server_ipsecmod_ignore_bogus = 653, /* server_ipsecmod_ignore_bogus */ - YYSYMBOL_server_ipsecmod_hook = 654, /* server_ipsecmod_hook */ - YYSYMBOL_server_ipsecmod_max_ttl = 655, /* server_ipsecmod_max_ttl */ - YYSYMBOL_server_ipsecmod_whitelist = 656, /* server_ipsecmod_whitelist */ - YYSYMBOL_server_ipsecmod_strict = 657, /* server_ipsecmod_strict */ - YYSYMBOL_server_edns_client_string = 658, /* server_edns_client_string */ - YYSYMBOL_server_edns_client_string_opcode = 659, /* server_edns_client_string_opcode */ - YYSYMBOL_server_ede = 660, /* server_ede */ - YYSYMBOL_server_dns_error_reporting = 661, /* server_dns_error_reporting */ - YYSYMBOL_server_proxy_protocol_port = 662, /* server_proxy_protocol_port */ - YYSYMBOL_stub_name = 663, /* stub_name */ - YYSYMBOL_stub_host = 664, /* stub_host */ - YYSYMBOL_stub_addr = 665, /* stub_addr */ - YYSYMBOL_stub_first = 666, /* stub_first */ - YYSYMBOL_stub_no_cache = 667, /* stub_no_cache */ - YYSYMBOL_stub_ssl_upstream = 668, /* stub_ssl_upstream */ - YYSYMBOL_stub_tcp_upstream = 669, /* stub_tcp_upstream */ - YYSYMBOL_stub_prime = 670, /* stub_prime */ - YYSYMBOL_forward_name = 671, /* forward_name */ - YYSYMBOL_forward_host = 672, /* forward_host */ - YYSYMBOL_forward_addr = 673, /* forward_addr */ - YYSYMBOL_forward_first = 674, /* forward_first */ - YYSYMBOL_forward_no_cache = 675, /* forward_no_cache */ - YYSYMBOL_forward_ssl_upstream = 676, /* forward_ssl_upstream */ - YYSYMBOL_forward_tcp_upstream = 677, /* forward_tcp_upstream */ - YYSYMBOL_auth_name = 678, /* auth_name */ - YYSYMBOL_auth_zonefile = 679, /* auth_zonefile */ - YYSYMBOL_auth_master = 680, /* auth_master */ - YYSYMBOL_auth_url = 681, /* auth_url */ - YYSYMBOL_auth_allow_notify = 682, /* auth_allow_notify */ - YYSYMBOL_auth_zonemd_check = 683, /* auth_zonemd_check */ - YYSYMBOL_auth_zonemd_reject_absence = 684, /* auth_zonemd_reject_absence */ - YYSYMBOL_auth_for_downstream = 685, /* auth_for_downstream */ - YYSYMBOL_auth_for_upstream = 686, /* auth_for_upstream */ - YYSYMBOL_auth_fallback_enabled = 687, /* auth_fallback_enabled */ - YYSYMBOL_auth_max_transfer_size = 688, /* auth_max_transfer_size */ - YYSYMBOL_auth_max_transfer_time = 689, /* auth_max_transfer_time */ - YYSYMBOL_view_name = 690, /* view_name */ - YYSYMBOL_view_local_zone = 691, /* view_local_zone */ - YYSYMBOL_view_response_ip = 692, /* view_response_ip */ - YYSYMBOL_view_response_ip_data = 693, /* view_response_ip_data */ - YYSYMBOL_view_local_data = 694, /* view_local_data */ - YYSYMBOL_view_local_data_ptr = 695, /* view_local_data_ptr */ - YYSYMBOL_view_first = 696, /* view_first */ - YYSYMBOL_rcstart = 697, /* rcstart */ - YYSYMBOL_contents_rc = 698, /* contents_rc */ - YYSYMBOL_content_rc = 699, /* content_rc */ - YYSYMBOL_rc_control_enable = 700, /* rc_control_enable */ - YYSYMBOL_rc_control_port = 701, /* rc_control_port */ - YYSYMBOL_rc_control_interface = 702, /* rc_control_interface */ - YYSYMBOL_rc_control_use_cert = 703, /* rc_control_use_cert */ - YYSYMBOL_rc_server_key_file = 704, /* rc_server_key_file */ - YYSYMBOL_rc_server_cert_file = 705, /* rc_server_cert_file */ - YYSYMBOL_rc_control_key_file = 706, /* rc_control_key_file */ - YYSYMBOL_rc_control_cert_file = 707, /* rc_control_cert_file */ - YYSYMBOL_dtstart = 708, /* dtstart */ - YYSYMBOL_contents_dt = 709, /* contents_dt */ - YYSYMBOL_content_dt = 710, /* content_dt */ - YYSYMBOL_dt_dnstap_enable = 711, /* dt_dnstap_enable */ - YYSYMBOL_dt_dnstap_bidirectional = 712, /* dt_dnstap_bidirectional */ - YYSYMBOL_dt_dnstap_socket_path = 713, /* dt_dnstap_socket_path */ - YYSYMBOL_dt_dnstap_ip = 714, /* dt_dnstap_ip */ - YYSYMBOL_dt_dnstap_tls = 715, /* dt_dnstap_tls */ - YYSYMBOL_dt_dnstap_tls_server_name = 716, /* dt_dnstap_tls_server_name */ - YYSYMBOL_dt_dnstap_tls_cert_bundle = 717, /* dt_dnstap_tls_cert_bundle */ - YYSYMBOL_dt_dnstap_tls_client_key_file = 718, /* dt_dnstap_tls_client_key_file */ - YYSYMBOL_dt_dnstap_tls_client_cert_file = 719, /* dt_dnstap_tls_client_cert_file */ - YYSYMBOL_dt_dnstap_send_identity = 720, /* dt_dnstap_send_identity */ - YYSYMBOL_dt_dnstap_send_version = 721, /* dt_dnstap_send_version */ - YYSYMBOL_dt_dnstap_identity = 722, /* dt_dnstap_identity */ - YYSYMBOL_dt_dnstap_version = 723, /* dt_dnstap_version */ - YYSYMBOL_dt_dnstap_log_resolver_query_messages = 724, /* dt_dnstap_log_resolver_query_messages */ - YYSYMBOL_dt_dnstap_log_resolver_response_messages = 725, /* dt_dnstap_log_resolver_response_messages */ - YYSYMBOL_dt_dnstap_log_client_query_messages = 726, /* dt_dnstap_log_client_query_messages */ - YYSYMBOL_dt_dnstap_log_client_response_messages = 727, /* dt_dnstap_log_client_response_messages */ - YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 728, /* dt_dnstap_log_forwarder_query_messages */ - YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 729, /* dt_dnstap_log_forwarder_response_messages */ - YYSYMBOL_dt_dnstap_sample_rate = 730, /* dt_dnstap_sample_rate */ - YYSYMBOL_pythonstart = 731, /* pythonstart */ - YYSYMBOL_contents_py = 732, /* contents_py */ - YYSYMBOL_content_py = 733, /* content_py */ - YYSYMBOL_py_script = 734, /* py_script */ - YYSYMBOL_dynlibstart = 735, /* dynlibstart */ - YYSYMBOL_contents_dl = 736, /* contents_dl */ - YYSYMBOL_content_dl = 737, /* content_dl */ - YYSYMBOL_dl_file = 738, /* dl_file */ - YYSYMBOL_server_disable_dnssec_lame_check = 739, /* server_disable_dnssec_lame_check */ - YYSYMBOL_server_log_identity = 740, /* server_log_identity */ - YYSYMBOL_server_response_ip = 741, /* server_response_ip */ - YYSYMBOL_server_response_ip_data = 742, /* server_response_ip_data */ - YYSYMBOL_dnscstart = 743, /* dnscstart */ - YYSYMBOL_contents_dnsc = 744, /* contents_dnsc */ - YYSYMBOL_content_dnsc = 745, /* content_dnsc */ - YYSYMBOL_dnsc_dnscrypt_enable = 746, /* dnsc_dnscrypt_enable */ - YYSYMBOL_dnsc_dnscrypt_port = 747, /* dnsc_dnscrypt_port */ - YYSYMBOL_dnsc_dnscrypt_provider = 748, /* dnsc_dnscrypt_provider */ - YYSYMBOL_dnsc_dnscrypt_provider_cert = 749, /* dnsc_dnscrypt_provider_cert */ - YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 750, /* dnsc_dnscrypt_provider_cert_rotated */ - YYSYMBOL_dnsc_dnscrypt_secret_key = 751, /* dnsc_dnscrypt_secret_key */ - YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 752, /* dnsc_dnscrypt_shared_secret_cache_size */ - YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 753, /* dnsc_dnscrypt_shared_secret_cache_slabs */ - YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 754, /* dnsc_dnscrypt_nonce_cache_size */ - YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 755, /* dnsc_dnscrypt_nonce_cache_slabs */ - YYSYMBOL_cachedbstart = 756, /* cachedbstart */ - YYSYMBOL_contents_cachedb = 757, /* contents_cachedb */ - YYSYMBOL_content_cachedb = 758, /* content_cachedb */ - YYSYMBOL_cachedb_backend_name = 759, /* cachedb_backend_name */ - YYSYMBOL_cachedb_secret_seed = 760, /* cachedb_secret_seed */ - YYSYMBOL_cachedb_no_store = 761, /* cachedb_no_store */ - YYSYMBOL_cachedb_check_when_serve_expired = 762, /* cachedb_check_when_serve_expired */ - YYSYMBOL_redis_server_host = 763, /* redis_server_host */ - YYSYMBOL_redis_replica_server_host = 764, /* redis_replica_server_host */ - YYSYMBOL_redis_server_port = 765, /* redis_server_port */ - YYSYMBOL_redis_replica_server_port = 766, /* redis_replica_server_port */ - YYSYMBOL_redis_server_path = 767, /* redis_server_path */ - YYSYMBOL_redis_replica_server_path = 768, /* redis_replica_server_path */ - YYSYMBOL_redis_server_password = 769, /* redis_server_password */ - YYSYMBOL_redis_replica_server_password = 770, /* redis_replica_server_password */ - YYSYMBOL_redis_timeout = 771, /* redis_timeout */ - YYSYMBOL_redis_replica_timeout = 772, /* redis_replica_timeout */ - YYSYMBOL_redis_command_timeout = 773, /* redis_command_timeout */ - YYSYMBOL_redis_replica_command_timeout = 774, /* redis_replica_command_timeout */ - YYSYMBOL_redis_connect_timeout = 775, /* redis_connect_timeout */ - YYSYMBOL_redis_replica_connect_timeout = 776, /* redis_replica_connect_timeout */ - YYSYMBOL_redis_expire_records = 777, /* redis_expire_records */ - YYSYMBOL_redis_logical_db = 778, /* redis_logical_db */ - YYSYMBOL_redis_replica_logical_db = 779, /* redis_replica_logical_db */ - YYSYMBOL_server_tcp_connection_limit = 780, /* server_tcp_connection_limit */ - YYSYMBOL_server_answer_cookie = 781, /* server_answer_cookie */ - YYSYMBOL_server_cookie_secret = 782, /* server_cookie_secret */ - YYSYMBOL_server_cookie_secret_file = 783, /* server_cookie_secret_file */ - YYSYMBOL_server_iter_scrub_ns = 784, /* server_iter_scrub_ns */ - YYSYMBOL_server_iter_scrub_cname = 785, /* server_iter_scrub_cname */ - YYSYMBOL_server_iter_scrub_rrsig = 786, /* server_iter_scrub_rrsig */ - YYSYMBOL_server_max_global_quota = 787, /* server_max_global_quota */ - YYSYMBOL_server_iter_scrub_promiscuous = 788, /* server_iter_scrub_promiscuous */ - YYSYMBOL_ipsetstart = 789, /* ipsetstart */ - YYSYMBOL_contents_ipset = 790, /* contents_ipset */ - YYSYMBOL_content_ipset = 791, /* content_ipset */ - YYSYMBOL_ipset_name_v4 = 792, /* ipset_name_v4 */ - YYSYMBOL_ipset_name_v6 = 793 /* ipset_name_v6 */ + YYSYMBOL_VAR_VAL_VALIDATION_ATTEMPTS = 381, /* VAR_VAL_VALIDATION_ATTEMPTS */ + YYSYMBOL_VAR_VAL_HASH_ATTEMPTS = 382, /* VAR_VAL_HASH_ATTEMPTS */ + YYSYMBOL_VAR_ITER_SCRUB_PROMISCUOUS = 383, /* VAR_ITER_SCRUB_PROMISCUOUS */ + YYSYMBOL_VAR_LOG_THREAD_ID = 384, /* VAR_LOG_THREAD_ID */ + YYSYMBOL_YYACCEPT = 385, /* $accept */ + YYSYMBOL_toplevelvars = 386, /* toplevelvars */ + YYSYMBOL_toplevelvar = 387, /* toplevelvar */ + YYSYMBOL_force_toplevel = 388, /* force_toplevel */ + YYSYMBOL_serverstart = 389, /* serverstart */ + YYSYMBOL_contents_server = 390, /* contents_server */ + YYSYMBOL_content_server = 391, /* content_server */ + YYSYMBOL_stub_clause = 392, /* stub_clause */ + YYSYMBOL_stubstart = 393, /* stubstart */ + YYSYMBOL_contents_stub = 394, /* contents_stub */ + YYSYMBOL_content_stub = 395, /* content_stub */ + YYSYMBOL_forward_clause = 396, /* forward_clause */ + YYSYMBOL_forwardstart = 397, /* forwardstart */ + YYSYMBOL_contents_forward = 398, /* contents_forward */ + YYSYMBOL_content_forward = 399, /* content_forward */ + YYSYMBOL_view_clause = 400, /* view_clause */ + YYSYMBOL_viewstart = 401, /* viewstart */ + YYSYMBOL_contents_view = 402, /* contents_view */ + YYSYMBOL_content_view = 403, /* content_view */ + YYSYMBOL_authstart = 404, /* authstart */ + YYSYMBOL_contents_auth = 405, /* contents_auth */ + YYSYMBOL_content_auth = 406, /* content_auth */ + YYSYMBOL_rpz_tag = 407, /* rpz_tag */ + YYSYMBOL_rpz_action_override = 408, /* rpz_action_override */ + YYSYMBOL_rpz_cname_override = 409, /* rpz_cname_override */ + YYSYMBOL_rpz_log = 410, /* rpz_log */ + YYSYMBOL_rpz_log_name = 411, /* rpz_log_name */ + YYSYMBOL_rpz_signal_nxdomain_ra = 412, /* rpz_signal_nxdomain_ra */ + YYSYMBOL_rpzstart = 413, /* rpzstart */ + YYSYMBOL_contents_rpz = 414, /* contents_rpz */ + YYSYMBOL_content_rpz = 415, /* content_rpz */ + YYSYMBOL_server_num_threads = 416, /* server_num_threads */ + YYSYMBOL_server_verbosity = 417, /* server_verbosity */ + YYSYMBOL_server_statistics_interval = 418, /* server_statistics_interval */ + YYSYMBOL_server_statistics_cumulative = 419, /* server_statistics_cumulative */ + YYSYMBOL_server_extended_statistics = 420, /* server_extended_statistics */ + YYSYMBOL_server_statistics_inhibit_zero = 421, /* server_statistics_inhibit_zero */ + YYSYMBOL_server_shm_enable = 422, /* server_shm_enable */ + YYSYMBOL_server_shm_key = 423, /* server_shm_key */ + YYSYMBOL_server_port = 424, /* server_port */ + YYSYMBOL_server_send_client_subnet = 425, /* server_send_client_subnet */ + YYSYMBOL_server_client_subnet_zone = 426, /* server_client_subnet_zone */ + YYSYMBOL_server_client_subnet_always_forward = 427, /* server_client_subnet_always_forward */ + YYSYMBOL_server_client_subnet_opcode = 428, /* server_client_subnet_opcode */ + YYSYMBOL_server_max_client_subnet_ipv4 = 429, /* server_max_client_subnet_ipv4 */ + YYSYMBOL_server_max_client_subnet_ipv6 = 430, /* server_max_client_subnet_ipv6 */ + YYSYMBOL_server_min_client_subnet_ipv4 = 431, /* server_min_client_subnet_ipv4 */ + YYSYMBOL_server_min_client_subnet_ipv6 = 432, /* server_min_client_subnet_ipv6 */ + YYSYMBOL_server_max_ecs_tree_size_ipv4 = 433, /* server_max_ecs_tree_size_ipv4 */ + YYSYMBOL_server_max_ecs_tree_size_ipv6 = 434, /* server_max_ecs_tree_size_ipv6 */ + YYSYMBOL_server_interface = 435, /* server_interface */ + YYSYMBOL_server_outgoing_interface = 436, /* server_outgoing_interface */ + YYSYMBOL_server_outgoing_range = 437, /* server_outgoing_range */ + YYSYMBOL_server_outgoing_port_permit = 438, /* server_outgoing_port_permit */ + YYSYMBOL_server_outgoing_port_avoid = 439, /* server_outgoing_port_avoid */ + YYSYMBOL_server_outgoing_num_tcp = 440, /* server_outgoing_num_tcp */ + YYSYMBOL_server_incoming_num_tcp = 441, /* server_incoming_num_tcp */ + YYSYMBOL_server_interface_automatic = 442, /* server_interface_automatic */ + YYSYMBOL_server_interface_automatic_ports = 443, /* server_interface_automatic_ports */ + YYSYMBOL_server_do_ip4 = 444, /* server_do_ip4 */ + YYSYMBOL_server_do_ip6 = 445, /* server_do_ip6 */ + YYSYMBOL_server_do_nat64 = 446, /* server_do_nat64 */ + YYSYMBOL_server_do_udp = 447, /* server_do_udp */ + YYSYMBOL_server_do_tcp = 448, /* server_do_tcp */ + YYSYMBOL_server_prefer_ip4 = 449, /* server_prefer_ip4 */ + YYSYMBOL_server_prefer_ip6 = 450, /* server_prefer_ip6 */ + YYSYMBOL_server_tcp_mss = 451, /* server_tcp_mss */ + YYSYMBOL_server_outgoing_tcp_mss = 452, /* server_outgoing_tcp_mss */ + YYSYMBOL_server_tcp_idle_timeout = 453, /* server_tcp_idle_timeout */ + YYSYMBOL_server_max_reuse_tcp_queries = 454, /* server_max_reuse_tcp_queries */ + YYSYMBOL_server_tcp_reuse_timeout = 455, /* server_tcp_reuse_timeout */ + YYSYMBOL_server_tcp_auth_query_timeout = 456, /* server_tcp_auth_query_timeout */ + YYSYMBOL_server_tcp_keepalive = 457, /* server_tcp_keepalive */ + YYSYMBOL_server_tcp_keepalive_timeout = 458, /* server_tcp_keepalive_timeout */ + YYSYMBOL_server_sock_queue_timeout = 459, /* server_sock_queue_timeout */ + YYSYMBOL_server_tcp_upstream = 460, /* server_tcp_upstream */ + YYSYMBOL_server_udp_upstream_without_downstream = 461, /* server_udp_upstream_without_downstream */ + YYSYMBOL_server_ssl_upstream = 462, /* server_ssl_upstream */ + YYSYMBOL_server_ssl_service_key = 463, /* server_ssl_service_key */ + YYSYMBOL_server_ssl_service_pem = 464, /* server_ssl_service_pem */ + YYSYMBOL_server_ssl_port = 465, /* server_ssl_port */ + YYSYMBOL_server_tls_cert_bundle = 466, /* server_tls_cert_bundle */ + YYSYMBOL_server_tls_win_cert = 467, /* server_tls_win_cert */ + YYSYMBOL_server_tls_additional_port = 468, /* server_tls_additional_port */ + YYSYMBOL_server_tls_ciphers = 469, /* server_tls_ciphers */ + YYSYMBOL_server_tls_ciphersuites = 470, /* server_tls_ciphersuites */ + YYSYMBOL_server_tls_session_ticket_keys = 471, /* server_tls_session_ticket_keys */ + YYSYMBOL_server_tls_use_sni = 472, /* server_tls_use_sni */ + YYSYMBOL_server_tls_protocols = 473, /* server_tls_protocols */ + YYSYMBOL_server_https_port = 474, /* server_https_port */ + YYSYMBOL_server_http_endpoint = 475, /* server_http_endpoint */ + YYSYMBOL_server_http_max_streams = 476, /* server_http_max_streams */ + YYSYMBOL_server_http_query_buffer_size = 477, /* server_http_query_buffer_size */ + YYSYMBOL_server_http_response_buffer_size = 478, /* server_http_response_buffer_size */ + YYSYMBOL_server_http_nodelay = 479, /* server_http_nodelay */ + YYSYMBOL_server_http_notls_downstream = 480, /* server_http_notls_downstream */ + YYSYMBOL_server_quic_port = 481, /* server_quic_port */ + YYSYMBOL_server_quic_size = 482, /* server_quic_size */ + YYSYMBOL_server_use_systemd = 483, /* server_use_systemd */ + YYSYMBOL_server_do_daemonize = 484, /* server_do_daemonize */ + YYSYMBOL_server_use_syslog = 485, /* server_use_syslog */ + YYSYMBOL_server_log_time_ascii = 486, /* server_log_time_ascii */ + YYSYMBOL_server_log_time_iso = 487, /* server_log_time_iso */ + YYSYMBOL_server_log_queries = 488, /* server_log_queries */ + YYSYMBOL_server_log_replies = 489, /* server_log_replies */ + YYSYMBOL_server_log_tag_queryreply = 490, /* server_log_tag_queryreply */ + YYSYMBOL_server_log_servfail = 491, /* server_log_servfail */ + YYSYMBOL_server_log_destaddr = 492, /* server_log_destaddr */ + YYSYMBOL_server_log_thread_id = 493, /* server_log_thread_id */ + YYSYMBOL_server_log_local_actions = 494, /* server_log_local_actions */ + YYSYMBOL_server_chroot = 495, /* server_chroot */ + YYSYMBOL_server_username = 496, /* server_username */ + YYSYMBOL_server_directory = 497, /* server_directory */ + YYSYMBOL_server_logfile = 498, /* server_logfile */ + YYSYMBOL_server_pidfile = 499, /* server_pidfile */ + YYSYMBOL_server_root_hints = 500, /* server_root_hints */ + YYSYMBOL_server_dlv_anchor_file = 501, /* server_dlv_anchor_file */ + YYSYMBOL_server_dlv_anchor = 502, /* server_dlv_anchor */ + YYSYMBOL_server_auto_trust_anchor_file = 503, /* server_auto_trust_anchor_file */ + YYSYMBOL_server_trust_anchor_file = 504, /* server_trust_anchor_file */ + YYSYMBOL_server_trusted_keys_file = 505, /* server_trusted_keys_file */ + YYSYMBOL_server_trust_anchor = 506, /* server_trust_anchor */ + YYSYMBOL_server_trust_anchor_signaling = 507, /* server_trust_anchor_signaling */ + YYSYMBOL_server_root_key_sentinel = 508, /* server_root_key_sentinel */ + YYSYMBOL_server_domain_insecure = 509, /* server_domain_insecure */ + YYSYMBOL_server_hide_identity = 510, /* server_hide_identity */ + YYSYMBOL_server_hide_version = 511, /* server_hide_version */ + YYSYMBOL_server_hide_trustanchor = 512, /* server_hide_trustanchor */ + YYSYMBOL_server_hide_http_user_agent = 513, /* server_hide_http_user_agent */ + YYSYMBOL_server_identity = 514, /* server_identity */ + YYSYMBOL_server_version = 515, /* server_version */ + YYSYMBOL_server_http_user_agent = 516, /* server_http_user_agent */ + YYSYMBOL_server_nsid = 517, /* server_nsid */ + YYSYMBOL_server_so_rcvbuf = 518, /* server_so_rcvbuf */ + YYSYMBOL_server_so_sndbuf = 519, /* server_so_sndbuf */ + YYSYMBOL_server_so_reuseport = 520, /* server_so_reuseport */ + YYSYMBOL_server_ip_transparent = 521, /* server_ip_transparent */ + YYSYMBOL_server_ip_freebind = 522, /* server_ip_freebind */ + YYSYMBOL_server_ip_dscp = 523, /* server_ip_dscp */ + YYSYMBOL_server_stream_wait_size = 524, /* server_stream_wait_size */ + YYSYMBOL_server_edns_buffer_size = 525, /* server_edns_buffer_size */ + YYSYMBOL_server_msg_buffer_size = 526, /* server_msg_buffer_size */ + YYSYMBOL_server_msg_cache_size = 527, /* server_msg_cache_size */ + YYSYMBOL_server_msg_cache_slabs = 528, /* server_msg_cache_slabs */ + YYSYMBOL_server_num_queries_per_thread = 529, /* server_num_queries_per_thread */ + YYSYMBOL_server_jostle_timeout = 530, /* server_jostle_timeout */ + YYSYMBOL_server_delay_close = 531, /* server_delay_close */ + YYSYMBOL_server_udp_connect = 532, /* server_udp_connect */ + YYSYMBOL_server_unblock_lan_zones = 533, /* server_unblock_lan_zones */ + YYSYMBOL_server_insecure_lan_zones = 534, /* server_insecure_lan_zones */ + YYSYMBOL_server_rrset_cache_size = 535, /* server_rrset_cache_size */ + YYSYMBOL_server_rrset_cache_slabs = 536, /* server_rrset_cache_slabs */ + YYSYMBOL_server_infra_host_ttl = 537, /* server_infra_host_ttl */ + YYSYMBOL_server_infra_lame_ttl = 538, /* server_infra_lame_ttl */ + YYSYMBOL_server_infra_cache_numhosts = 539, /* server_infra_cache_numhosts */ + YYSYMBOL_server_infra_cache_lame_size = 540, /* server_infra_cache_lame_size */ + YYSYMBOL_server_infra_cache_slabs = 541, /* server_infra_cache_slabs */ + YYSYMBOL_server_infra_cache_min_rtt = 542, /* server_infra_cache_min_rtt */ + YYSYMBOL_server_infra_cache_max_rtt = 543, /* server_infra_cache_max_rtt */ + YYSYMBOL_server_infra_keep_probing = 544, /* server_infra_keep_probing */ + YYSYMBOL_server_target_fetch_policy = 545, /* server_target_fetch_policy */ + YYSYMBOL_server_harden_short_bufsize = 546, /* server_harden_short_bufsize */ + YYSYMBOL_server_harden_large_queries = 547, /* server_harden_large_queries */ + YYSYMBOL_server_harden_glue = 548, /* server_harden_glue */ + YYSYMBOL_server_harden_unverified_glue = 549, /* server_harden_unverified_glue */ + YYSYMBOL_server_harden_dnssec_stripped = 550, /* server_harden_dnssec_stripped */ + YYSYMBOL_server_harden_below_nxdomain = 551, /* server_harden_below_nxdomain */ + YYSYMBOL_server_harden_referral_path = 552, /* server_harden_referral_path */ + YYSYMBOL_server_harden_algo_downgrade = 553, /* server_harden_algo_downgrade */ + YYSYMBOL_server_harden_unknown_additional = 554, /* server_harden_unknown_additional */ + YYSYMBOL_server_use_caps_for_id = 555, /* server_use_caps_for_id */ + YYSYMBOL_server_caps_whitelist = 556, /* server_caps_whitelist */ + YYSYMBOL_server_private_address = 557, /* server_private_address */ + YYSYMBOL_server_private_domain = 558, /* server_private_domain */ + YYSYMBOL_server_prefetch = 559, /* server_prefetch */ + YYSYMBOL_server_prefetch_key = 560, /* server_prefetch_key */ + YYSYMBOL_server_deny_any = 561, /* server_deny_any */ + YYSYMBOL_server_unwanted_reply_threshold = 562, /* server_unwanted_reply_threshold */ + YYSYMBOL_server_do_not_query_address = 563, /* server_do_not_query_address */ + YYSYMBOL_server_do_not_query_localhost = 564, /* server_do_not_query_localhost */ + YYSYMBOL_server_access_control = 565, /* server_access_control */ + YYSYMBOL_server_interface_action = 566, /* server_interface_action */ + YYSYMBOL_server_module_conf = 567, /* server_module_conf */ + YYSYMBOL_server_val_override_date = 568, /* server_val_override_date */ + YYSYMBOL_server_val_sig_skew_min = 569, /* server_val_sig_skew_min */ + YYSYMBOL_server_val_sig_skew_max = 570, /* server_val_sig_skew_max */ + YYSYMBOL_server_val_max_restart = 571, /* server_val_max_restart */ + YYSYMBOL_server_cache_max_ttl = 572, /* server_cache_max_ttl */ + YYSYMBOL_server_cache_max_negative_ttl = 573, /* server_cache_max_negative_ttl */ + YYSYMBOL_server_cache_min_negative_ttl = 574, /* server_cache_min_negative_ttl */ + YYSYMBOL_server_cache_min_ttl = 575, /* server_cache_min_ttl */ + YYSYMBOL_server_bogus_ttl = 576, /* server_bogus_ttl */ + YYSYMBOL_server_val_clean_additional = 577, /* server_val_clean_additional */ + YYSYMBOL_server_val_permissive_mode = 578, /* server_val_permissive_mode */ + YYSYMBOL_server_aggressive_nsec = 579, /* server_aggressive_nsec */ + YYSYMBOL_server_ignore_cd_flag = 580, /* server_ignore_cd_flag */ + YYSYMBOL_server_disable_edns_do = 581, /* server_disable_edns_do */ + YYSYMBOL_server_serve_expired = 582, /* server_serve_expired */ + YYSYMBOL_server_serve_expired_ttl = 583, /* server_serve_expired_ttl */ + YYSYMBOL_server_serve_expired_ttl_reset = 584, /* server_serve_expired_ttl_reset */ + YYSYMBOL_server_serve_expired_reply_ttl = 585, /* server_serve_expired_reply_ttl */ + YYSYMBOL_server_serve_expired_client_timeout = 586, /* server_serve_expired_client_timeout */ + YYSYMBOL_server_ede_serve_expired = 587, /* server_ede_serve_expired */ + YYSYMBOL_server_serve_original_ttl = 588, /* server_serve_original_ttl */ + YYSYMBOL_server_fake_dsa = 589, /* server_fake_dsa */ + YYSYMBOL_server_fake_sha1 = 590, /* server_fake_sha1 */ + YYSYMBOL_server_val_log_level = 591, /* server_val_log_level */ + YYSYMBOL_server_val_nsec3_keysize_iterations = 592, /* server_val_nsec3_keysize_iterations */ + YYSYMBOL_server_zonemd_permissive_mode = 593, /* server_zonemd_permissive_mode */ + YYSYMBOL_server_add_holddown = 594, /* server_add_holddown */ + YYSYMBOL_server_del_holddown = 595, /* server_del_holddown */ + YYSYMBOL_server_keep_missing = 596, /* server_keep_missing */ + YYSYMBOL_server_permit_small_holddown = 597, /* server_permit_small_holddown */ + YYSYMBOL_server_key_cache_size = 598, /* server_key_cache_size */ + YYSYMBOL_server_key_cache_slabs = 599, /* server_key_cache_slabs */ + YYSYMBOL_server_neg_cache_size = 600, /* server_neg_cache_size */ + YYSYMBOL_server_local_zone = 601, /* server_local_zone */ + YYSYMBOL_server_local_data = 602, /* server_local_data */ + YYSYMBOL_server_local_data_ptr = 603, /* server_local_data_ptr */ + YYSYMBOL_server_minimal_responses = 604, /* server_minimal_responses */ + YYSYMBOL_server_rrset_roundrobin = 605, /* server_rrset_roundrobin */ + YYSYMBOL_server_unknown_server_time_limit = 606, /* server_unknown_server_time_limit */ + YYSYMBOL_server_discard_timeout = 607, /* server_discard_timeout */ + YYSYMBOL_server_wait_limit = 608, /* server_wait_limit */ + YYSYMBOL_server_wait_limit_cookie = 609, /* server_wait_limit_cookie */ + YYSYMBOL_server_wait_limit_netblock = 610, /* server_wait_limit_netblock */ + YYSYMBOL_server_wait_limit_cookie_netblock = 611, /* server_wait_limit_cookie_netblock */ + YYSYMBOL_server_max_udp_size = 612, /* server_max_udp_size */ + YYSYMBOL_server_dns64_prefix = 613, /* server_dns64_prefix */ + YYSYMBOL_server_dns64_synthall = 614, /* server_dns64_synthall */ + YYSYMBOL_server_dns64_ignore_aaaa = 615, /* server_dns64_ignore_aaaa */ + YYSYMBOL_server_nat64_prefix = 616, /* server_nat64_prefix */ + YYSYMBOL_server_define_tag = 617, /* server_define_tag */ + YYSYMBOL_server_local_zone_tag = 618, /* server_local_zone_tag */ + YYSYMBOL_server_access_control_tag = 619, /* server_access_control_tag */ + YYSYMBOL_server_access_control_tag_action = 620, /* server_access_control_tag_action */ + YYSYMBOL_server_access_control_tag_data = 621, /* server_access_control_tag_data */ + YYSYMBOL_server_local_zone_override = 622, /* server_local_zone_override */ + YYSYMBOL_server_access_control_view = 623, /* server_access_control_view */ + YYSYMBOL_server_interface_tag = 624, /* server_interface_tag */ + YYSYMBOL_server_interface_tag_action = 625, /* server_interface_tag_action */ + YYSYMBOL_server_interface_tag_data = 626, /* server_interface_tag_data */ + YYSYMBOL_server_interface_view = 627, /* server_interface_view */ + YYSYMBOL_server_response_ip_tag = 628, /* server_response_ip_tag */ + YYSYMBOL_server_ip_ratelimit = 629, /* server_ip_ratelimit */ + YYSYMBOL_server_ip_ratelimit_cookie = 630, /* server_ip_ratelimit_cookie */ + YYSYMBOL_server_ratelimit = 631, /* server_ratelimit */ + YYSYMBOL_server_ip_ratelimit_size = 632, /* server_ip_ratelimit_size */ + YYSYMBOL_server_ratelimit_size = 633, /* server_ratelimit_size */ + YYSYMBOL_server_ip_ratelimit_slabs = 634, /* server_ip_ratelimit_slabs */ + YYSYMBOL_server_ratelimit_slabs = 635, /* server_ratelimit_slabs */ + YYSYMBOL_server_ratelimit_for_domain = 636, /* server_ratelimit_for_domain */ + YYSYMBOL_server_ratelimit_below_domain = 637, /* server_ratelimit_below_domain */ + YYSYMBOL_server_ip_ratelimit_factor = 638, /* server_ip_ratelimit_factor */ + YYSYMBOL_server_ratelimit_factor = 639, /* server_ratelimit_factor */ + YYSYMBOL_server_ip_ratelimit_backoff = 640, /* server_ip_ratelimit_backoff */ + YYSYMBOL_server_ratelimit_backoff = 641, /* server_ratelimit_backoff */ + YYSYMBOL_server_outbound_msg_retry = 642, /* server_outbound_msg_retry */ + YYSYMBOL_server_max_sent_count = 643, /* server_max_sent_count */ + YYSYMBOL_server_max_query_restarts = 644, /* server_max_query_restarts */ + YYSYMBOL_server_low_rtt = 645, /* server_low_rtt */ + YYSYMBOL_server_fast_server_num = 646, /* server_fast_server_num */ + YYSYMBOL_server_fast_server_permil = 647, /* server_fast_server_permil */ + YYSYMBOL_server_qname_minimisation = 648, /* server_qname_minimisation */ + YYSYMBOL_server_qname_minimisation_strict = 649, /* server_qname_minimisation_strict */ + YYSYMBOL_server_pad_responses = 650, /* server_pad_responses */ + YYSYMBOL_server_pad_responses_block_size = 651, /* server_pad_responses_block_size */ + YYSYMBOL_server_pad_queries = 652, /* server_pad_queries */ + YYSYMBOL_server_pad_queries_block_size = 653, /* server_pad_queries_block_size */ + YYSYMBOL_server_ipsecmod_enabled = 654, /* server_ipsecmod_enabled */ + YYSYMBOL_server_ipsecmod_ignore_bogus = 655, /* server_ipsecmod_ignore_bogus */ + YYSYMBOL_server_ipsecmod_hook = 656, /* server_ipsecmod_hook */ + YYSYMBOL_server_ipsecmod_max_ttl = 657, /* server_ipsecmod_max_ttl */ + YYSYMBOL_server_ipsecmod_whitelist = 658, /* server_ipsecmod_whitelist */ + YYSYMBOL_server_ipsecmod_strict = 659, /* server_ipsecmod_strict */ + YYSYMBOL_server_edns_client_string = 660, /* server_edns_client_string */ + YYSYMBOL_server_edns_client_string_opcode = 661, /* server_edns_client_string_opcode */ + YYSYMBOL_server_ede = 662, /* server_ede */ + YYSYMBOL_server_dns_error_reporting = 663, /* server_dns_error_reporting */ + YYSYMBOL_server_proxy_protocol_port = 664, /* server_proxy_protocol_port */ + YYSYMBOL_stub_name = 665, /* stub_name */ + YYSYMBOL_stub_host = 666, /* stub_host */ + YYSYMBOL_stub_addr = 667, /* stub_addr */ + YYSYMBOL_stub_first = 668, /* stub_first */ + YYSYMBOL_stub_no_cache = 669, /* stub_no_cache */ + YYSYMBOL_stub_ssl_upstream = 670, /* stub_ssl_upstream */ + YYSYMBOL_stub_tcp_upstream = 671, /* stub_tcp_upstream */ + YYSYMBOL_stub_prime = 672, /* stub_prime */ + YYSYMBOL_forward_name = 673, /* forward_name */ + YYSYMBOL_forward_host = 674, /* forward_host */ + YYSYMBOL_forward_addr = 675, /* forward_addr */ + YYSYMBOL_forward_first = 676, /* forward_first */ + YYSYMBOL_forward_no_cache = 677, /* forward_no_cache */ + YYSYMBOL_forward_ssl_upstream = 678, /* forward_ssl_upstream */ + YYSYMBOL_forward_tcp_upstream = 679, /* forward_tcp_upstream */ + YYSYMBOL_auth_name = 680, /* auth_name */ + YYSYMBOL_auth_zonefile = 681, /* auth_zonefile */ + YYSYMBOL_auth_master = 682, /* auth_master */ + YYSYMBOL_auth_url = 683, /* auth_url */ + YYSYMBOL_auth_allow_notify = 684, /* auth_allow_notify */ + YYSYMBOL_auth_zonemd_check = 685, /* auth_zonemd_check */ + YYSYMBOL_auth_zonemd_reject_absence = 686, /* auth_zonemd_reject_absence */ + YYSYMBOL_auth_for_downstream = 687, /* auth_for_downstream */ + YYSYMBOL_auth_for_upstream = 688, /* auth_for_upstream */ + YYSYMBOL_auth_fallback_enabled = 689, /* auth_fallback_enabled */ + YYSYMBOL_auth_max_transfer_size = 690, /* auth_max_transfer_size */ + YYSYMBOL_auth_max_transfer_time = 691, /* auth_max_transfer_time */ + YYSYMBOL_view_name = 692, /* view_name */ + YYSYMBOL_view_local_zone = 693, /* view_local_zone */ + YYSYMBOL_view_response_ip = 694, /* view_response_ip */ + YYSYMBOL_view_response_ip_data = 695, /* view_response_ip_data */ + YYSYMBOL_view_local_data = 696, /* view_local_data */ + YYSYMBOL_view_local_data_ptr = 697, /* view_local_data_ptr */ + YYSYMBOL_view_first = 698, /* view_first */ + YYSYMBOL_rcstart = 699, /* rcstart */ + YYSYMBOL_contents_rc = 700, /* contents_rc */ + YYSYMBOL_content_rc = 701, /* content_rc */ + YYSYMBOL_rc_control_enable = 702, /* rc_control_enable */ + YYSYMBOL_rc_control_port = 703, /* rc_control_port */ + YYSYMBOL_rc_control_interface = 704, /* rc_control_interface */ + YYSYMBOL_rc_control_use_cert = 705, /* rc_control_use_cert */ + YYSYMBOL_rc_server_key_file = 706, /* rc_server_key_file */ + YYSYMBOL_rc_server_cert_file = 707, /* rc_server_cert_file */ + YYSYMBOL_rc_control_key_file = 708, /* rc_control_key_file */ + YYSYMBOL_rc_control_cert_file = 709, /* rc_control_cert_file */ + YYSYMBOL_dtstart = 710, /* dtstart */ + YYSYMBOL_contents_dt = 711, /* contents_dt */ + YYSYMBOL_content_dt = 712, /* content_dt */ + YYSYMBOL_dt_dnstap_enable = 713, /* dt_dnstap_enable */ + YYSYMBOL_dt_dnstap_bidirectional = 714, /* dt_dnstap_bidirectional */ + YYSYMBOL_dt_dnstap_socket_path = 715, /* dt_dnstap_socket_path */ + YYSYMBOL_dt_dnstap_ip = 716, /* dt_dnstap_ip */ + YYSYMBOL_dt_dnstap_tls = 717, /* dt_dnstap_tls */ + YYSYMBOL_dt_dnstap_tls_server_name = 718, /* dt_dnstap_tls_server_name */ + YYSYMBOL_dt_dnstap_tls_cert_bundle = 719, /* dt_dnstap_tls_cert_bundle */ + YYSYMBOL_dt_dnstap_tls_client_key_file = 720, /* dt_dnstap_tls_client_key_file */ + YYSYMBOL_dt_dnstap_tls_client_cert_file = 721, /* dt_dnstap_tls_client_cert_file */ + YYSYMBOL_dt_dnstap_send_identity = 722, /* dt_dnstap_send_identity */ + YYSYMBOL_dt_dnstap_send_version = 723, /* dt_dnstap_send_version */ + YYSYMBOL_dt_dnstap_identity = 724, /* dt_dnstap_identity */ + YYSYMBOL_dt_dnstap_version = 725, /* dt_dnstap_version */ + YYSYMBOL_dt_dnstap_log_resolver_query_messages = 726, /* dt_dnstap_log_resolver_query_messages */ + YYSYMBOL_dt_dnstap_log_resolver_response_messages = 727, /* dt_dnstap_log_resolver_response_messages */ + YYSYMBOL_dt_dnstap_log_client_query_messages = 728, /* dt_dnstap_log_client_query_messages */ + YYSYMBOL_dt_dnstap_log_client_response_messages = 729, /* dt_dnstap_log_client_response_messages */ + YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 730, /* dt_dnstap_log_forwarder_query_messages */ + YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 731, /* dt_dnstap_log_forwarder_response_messages */ + YYSYMBOL_dt_dnstap_sample_rate = 732, /* dt_dnstap_sample_rate */ + YYSYMBOL_pythonstart = 733, /* pythonstart */ + YYSYMBOL_contents_py = 734, /* contents_py */ + YYSYMBOL_content_py = 735, /* content_py */ + YYSYMBOL_py_script = 736, /* py_script */ + YYSYMBOL_dynlibstart = 737, /* dynlibstart */ + YYSYMBOL_contents_dl = 738, /* contents_dl */ + YYSYMBOL_content_dl = 739, /* content_dl */ + YYSYMBOL_dl_file = 740, /* dl_file */ + YYSYMBOL_server_disable_dnssec_lame_check = 741, /* server_disable_dnssec_lame_check */ + YYSYMBOL_server_log_identity = 742, /* server_log_identity */ + YYSYMBOL_server_response_ip = 743, /* server_response_ip */ + YYSYMBOL_server_response_ip_data = 744, /* server_response_ip_data */ + YYSYMBOL_dnscstart = 745, /* dnscstart */ + YYSYMBOL_contents_dnsc = 746, /* contents_dnsc */ + YYSYMBOL_content_dnsc = 747, /* content_dnsc */ + YYSYMBOL_dnsc_dnscrypt_enable = 748, /* dnsc_dnscrypt_enable */ + YYSYMBOL_dnsc_dnscrypt_port = 749, /* dnsc_dnscrypt_port */ + YYSYMBOL_dnsc_dnscrypt_provider = 750, /* dnsc_dnscrypt_provider */ + YYSYMBOL_dnsc_dnscrypt_provider_cert = 751, /* dnsc_dnscrypt_provider_cert */ + YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 752, /* dnsc_dnscrypt_provider_cert_rotated */ + YYSYMBOL_dnsc_dnscrypt_secret_key = 753, /* dnsc_dnscrypt_secret_key */ + YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 754, /* dnsc_dnscrypt_shared_secret_cache_size */ + YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 755, /* dnsc_dnscrypt_shared_secret_cache_slabs */ + YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 756, /* dnsc_dnscrypt_nonce_cache_size */ + YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 757, /* dnsc_dnscrypt_nonce_cache_slabs */ + YYSYMBOL_cachedbstart = 758, /* cachedbstart */ + YYSYMBOL_contents_cachedb = 759, /* contents_cachedb */ + YYSYMBOL_content_cachedb = 760, /* content_cachedb */ + YYSYMBOL_cachedb_backend_name = 761, /* cachedb_backend_name */ + YYSYMBOL_cachedb_secret_seed = 762, /* cachedb_secret_seed */ + YYSYMBOL_cachedb_no_store = 763, /* cachedb_no_store */ + YYSYMBOL_cachedb_check_when_serve_expired = 764, /* cachedb_check_when_serve_expired */ + YYSYMBOL_redis_server_host = 765, /* redis_server_host */ + YYSYMBOL_redis_replica_server_host = 766, /* redis_replica_server_host */ + YYSYMBOL_redis_server_port = 767, /* redis_server_port */ + YYSYMBOL_redis_replica_server_port = 768, /* redis_replica_server_port */ + YYSYMBOL_redis_server_path = 769, /* redis_server_path */ + YYSYMBOL_redis_replica_server_path = 770, /* redis_replica_server_path */ + YYSYMBOL_redis_server_password = 771, /* redis_server_password */ + YYSYMBOL_redis_replica_server_password = 772, /* redis_replica_server_password */ + YYSYMBOL_redis_timeout = 773, /* redis_timeout */ + YYSYMBOL_redis_replica_timeout = 774, /* redis_replica_timeout */ + YYSYMBOL_redis_command_timeout = 775, /* redis_command_timeout */ + YYSYMBOL_redis_replica_command_timeout = 776, /* redis_replica_command_timeout */ + YYSYMBOL_redis_connect_timeout = 777, /* redis_connect_timeout */ + YYSYMBOL_redis_replica_connect_timeout = 778, /* redis_replica_connect_timeout */ + YYSYMBOL_redis_expire_records = 779, /* redis_expire_records */ + YYSYMBOL_redis_logical_db = 780, /* redis_logical_db */ + YYSYMBOL_redis_replica_logical_db = 781, /* redis_replica_logical_db */ + YYSYMBOL_server_tcp_connection_limit = 782, /* server_tcp_connection_limit */ + YYSYMBOL_server_answer_cookie = 783, /* server_answer_cookie */ + YYSYMBOL_server_cookie_secret = 784, /* server_cookie_secret */ + YYSYMBOL_server_cookie_secret_file = 785, /* server_cookie_secret_file */ + YYSYMBOL_server_iter_scrub_ns = 786, /* server_iter_scrub_ns */ + YYSYMBOL_server_iter_scrub_cname = 787, /* server_iter_scrub_cname */ + YYSYMBOL_server_iter_scrub_rrsig = 788, /* server_iter_scrub_rrsig */ + YYSYMBOL_server_max_global_quota = 789, /* server_max_global_quota */ + YYSYMBOL_server_iter_scrub_promiscuous = 790, /* server_iter_scrub_promiscuous */ + YYSYMBOL_server_val_validation_attempts = 791, /* server_val_validation_attempts */ + YYSYMBOL_server_val_hash_attempts = 792, /* server_val_hash_attempts */ + YYSYMBOL_ipsetstart = 793, /* ipsetstart */ + YYSYMBOL_contents_ipset = 794, /* contents_ipset */ + YYSYMBOL_content_ipset = 795, /* content_ipset */ + YYSYMBOL_ipset_name_v4 = 796, /* ipset_name_v4 */ + YYSYMBOL_ipset_name_v6 = 797 /* ipset_name_v6 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1247,19 +1251,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 821 +#define YYLAST 825 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 383 +#define YYNTOKENS 385 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 411 +#define YYNNTS 413 /* YYNRULES -- Number of rules. */ -#define YYNRULES 798 +#define YYNRULES 802 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1194 +#define YYNSTATES 1200 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 637 +#define YYMAXUTOK 639 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -1336,93 +1340,94 @@ static const yytype_int16 yytranslate[] = 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382 + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 224, 224, 224, 225, 225, 226, 226, 227, 227, - 227, 228, 228, 229, 229, 230, 230, 231, 233, 240, - 246, 247, 248, 248, 248, 249, 249, 250, 250, 250, - 251, 251, 251, 252, 252, 252, 253, 253, 254, 255, - 255, 255, 256, 256, 256, 257, 257, 258, 258, 259, - 259, 260, 260, 261, 261, 262, 262, 263, 263, 264, - 264, 265, 265, 265, 266, 266, 267, 267, 267, 268, - 268, 268, 269, 269, 270, 270, 271, 271, 272, 272, - 273, 273, 273, 274, 274, 275, 275, 276, 276, 276, - 277, 277, 278, 278, 279, 279, 280, 280, 280, 281, - 281, 282, 282, 283, 283, 284, 284, 285, 285, 286, - 286, 287, 287, 288, 288, 289, 289, 289, 290, 290, - 290, 291, 291, 291, 292, 292, 292, 292, 293, 293, - 294, 294, 294, 295, 295, 295, 296, 296, 297, 297, - 298, 298, 298, 299, 299, 299, 300, 300, 301, 301, - 301, 302, 303, 303, 303, 304, 304, 304, 305, 305, - 306, 306, 307, 307, 308, 309, 309, 310, 310, 311, - 311, 312, 312, 313, 313, 314, 314, 315, 315, 316, - 316, 317, 317, 318, 318, 319, 320, 320, 321, 321, - 321, 322, 322, 323, 323, 324, 324, 325, 325, 325, - 326, 326, 327, 328, 328, 329, 329, 330, 331, 331, - 332, 332, 333, 333, 333, 334, 334, 335, 335, 335, - 336, 336, 336, 337, 337, 338, 339, 339, 340, 340, - 341, 341, 342, 342, 343, 343, 343, 344, 344, 344, - 345, 345, 345, 346, 346, 347, 347, 347, 348, 348, - 349, 349, 350, 350, 351, 351, 351, 352, 352, 352, - 353, 353, 354, 354, 355, 355, 356, 356, 357, 357, - 358, 359, 359, 360, 360, 361, 361, 362, 362, 362, - 363, 364, 364, 364, 366, 374, 388, 389, 390, 390, - 390, 390, 390, 391, 391, 391, 393, 401, 415, 416, - 417, 417, 417, 417, 418, 418, 418, 420, 428, 442, - 443, 444, 444, 444, 444, 445, 445, 445, 447, 470, - 471, 472, 472, 472, 472, 473, 473, 473, 474, 474, - 474, 475, 475, 478, 497, 514, 522, 532, 539, 549, - 570, 571, 572, 572, 572, 572, 572, 573, 573, 573, - 574, 574, 574, 574, 575, 575, 577, 586, 595, 606, - 615, 624, 633, 642, 653, 662, 674, 688, 703, 714, - 731, 748, 765, 782, 797, 812, 825, 840, 849, 858, - 867, 876, 885, 894, 901, 910, 919, 928, 937, 946, - 955, 964, 973, 982, 995, 1006, 1017, 1028, 1037, 1050, - 1063, 1072, 1081, 1090, 1097, 1104, 1113, 1120, 1129, 1137, - 1144, 1151, 1159, 1168, 1177, 1185, 1203, 1211, 1219, 1227, - 1235, 1243, 1259, 1266, 1275, 1284, 1298, 1307, 1316, 1325, - 1334, 1343, 1352, 1361, 1370, 1379, 1386, 1393, 1419, 1427, - 1434, 1441, 1448, 1455, 1463, 1471, 1479, 1486, 1497, 1508, - 1515, 1524, 1533, 1542, 1551, 1558, 1565, 1572, 1588, 1596, - 1604, 1614, 1624, 1634, 1648, 1656, 1669, 1680, 1688, 1701, - 1710, 1719, 1728, 1737, 1747, 1757, 1765, 1778, 1787, 1795, - 1804, 1812, 1825, 1834, 1843, 1853, 1860, 1870, 1880, 1890, - 1900, 1910, 1920, 1930, 1940, 1950, 1960, 1967, 1974, 1981, - 1990, 1999, 2008, 2017, 2024, 2034, 2042, 2051, 2058, 2076, - 2089, 2102, 2115, 2124, 2133, 2142, 2151, 2160, 2170, 2180, - 2191, 2200, 2209, 2218, 2227, 2236, 2245, 2254, 2263, 2272, - 2285, 2298, 2307, 2314, 2323, 2332, 2341, 2350, 2360, 2368, - 2381, 2389, 2453, 2460, 2475, 2485, 2495, 2502, 2509, 2516, - 2523, 2537, 2551, 2558, 2565, 2574, 2582, 2589, 2603, 2624, - 2645, 2657, 2669, 2681, 2690, 2711, 2723, 2735, 2744, 2765, - 2774, 2783, 2792, 2800, 2808, 2821, 2834, 2848, 2862, 2871, - 2880, 2890, 2900, 2909, 2918, 2927, 2933, 2942, 2951, 2961, - 2971, 2981, 2990, 3000, 3009, 3022, 3035, 3047, 3061, 3073, - 3087, 3095, 3106, 3115, 3124, 3131, 3141, 3148, 3155, 3164, - 3173, 3183, 3193, 3203, 3213, 3220, 3227, 3236, 3245, 3255, - 3265, 3275, 3282, 3289, 3296, 3304, 3314, 3324, 3334, 3344, - 3354, 3362, 3371, 3381, 3440, 3449, 3457, 3465, 3480, 3489, - 3495, 3496, 3497, 3497, 3497, 3498, 3498, 3498, 3499, 3499, - 3501, 3511, 3520, 3527, 3534, 3541, 3548, 3555, 3562, 3568, - 3569, 3570, 3570, 3570, 3571, 3571, 3571, 3572, 3573, 3573, - 3574, 3574, 3575, 3575, 3576, 3577, 3578, 3579, 3580, 3581, - 3582, 3584, 3593, 3603, 3610, 3617, 3626, 3633, 3640, 3647, - 3654, 3663, 3672, 3679, 3686, 3696, 3706, 3716, 3726, 3736, - 3746, 3757, 3763, 3764, 3765, 3767, 3774, 3780, 3781, 3782, - 3784, 3791, 3801, 3808, 3817, 3825, 3831, 3832, 3834, 3834, - 3834, 3835, 3835, 3836, 3837, 3838, 3839, 3840, 3842, 3851, - 3860, 3867, 3878, 3885, 3896, 3904, 3917, 3925, 3938, 3944, - 3945, 3946, 3946, 3947, 3947, 3948, 3948, 3949, 3949, 3950, - 3950, 3951, 3951, 3952, 3952, 3953, 3953, 3954, 3954, 3955, - 3955, 3956, 3958, 3970, 3982, 3995, 4008, 4020, 4032, 4047, - 4062, 4074, 4086, 4098, 4110, 4123, 4136, 4149, 4162, 4175, - 4188, 4201, 4216, 4231, 4242, 4251, 4267, 4274, 4283, 4292, - 4301, 4310, 4320, 4326, 4327, 4328, 4328, 4330, 4345 + 0, 225, 225, 225, 226, 226, 227, 227, 228, 228, + 228, 229, 229, 230, 230, 231, 231, 232, 234, 241, + 247, 248, 249, 249, 249, 250, 250, 251, 251, 251, + 252, 252, 252, 253, 253, 253, 254, 254, 255, 256, + 256, 256, 257, 257, 257, 258, 258, 259, 259, 260, + 260, 261, 261, 262, 262, 263, 263, 264, 264, 265, + 265, 266, 266, 266, 267, 267, 268, 268, 268, 269, + 269, 269, 270, 270, 271, 271, 272, 272, 273, 273, + 274, 274, 274, 275, 275, 276, 276, 277, 277, 277, + 278, 278, 279, 279, 280, 280, 281, 281, 281, 282, + 282, 283, 283, 284, 284, 285, 285, 286, 286, 287, + 287, 288, 288, 289, 289, 290, 290, 290, 291, 291, + 291, 292, 292, 292, 293, 293, 293, 293, 294, 294, + 295, 295, 295, 296, 296, 296, 297, 297, 298, 298, + 299, 299, 299, 300, 300, 300, 301, 301, 302, 302, + 302, 303, 304, 304, 304, 305, 305, 305, 306, 306, + 307, 307, 308, 308, 309, 310, 310, 311, 311, 312, + 312, 313, 313, 314, 314, 315, 315, 316, 316, 317, + 317, 318, 318, 319, 319, 320, 321, 321, 322, 322, + 322, 323, 323, 324, 324, 325, 325, 326, 326, 326, + 327, 327, 328, 329, 329, 330, 330, 331, 332, 332, + 333, 333, 334, 334, 334, 335, 335, 336, 336, 336, + 337, 337, 337, 338, 338, 339, 340, 340, 341, 341, + 342, 342, 343, 343, 344, 344, 344, 345, 345, 345, + 346, 346, 346, 347, 347, 348, 348, 348, 349, 349, + 350, 350, 351, 351, 352, 352, 352, 353, 353, 353, + 354, 354, 355, 355, 356, 356, 357, 357, 358, 358, + 359, 360, 360, 361, 361, 362, 362, 363, 363, 363, + 364, 365, 365, 366, 366, 366, 368, 376, 390, 391, + 392, 392, 392, 392, 392, 393, 393, 393, 395, 403, + 417, 418, 419, 419, 419, 419, 420, 420, 420, 422, + 430, 444, 445, 446, 446, 446, 446, 447, 447, 447, + 449, 472, 473, 474, 474, 474, 474, 475, 475, 475, + 476, 476, 476, 477, 477, 480, 499, 516, 524, 534, + 541, 551, 572, 573, 574, 574, 574, 574, 574, 575, + 575, 575, 576, 576, 576, 576, 577, 577, 579, 588, + 597, 608, 617, 626, 635, 644, 655, 664, 676, 690, + 705, 716, 733, 750, 767, 784, 799, 814, 827, 842, + 851, 860, 869, 878, 887, 896, 903, 912, 921, 930, + 939, 948, 957, 966, 975, 984, 997, 1008, 1019, 1030, + 1039, 1052, 1065, 1074, 1083, 1092, 1099, 1106, 1115, 1122, + 1131, 1139, 1146, 1153, 1161, 1170, 1179, 1187, 1205, 1213, + 1221, 1229, 1237, 1245, 1261, 1268, 1277, 1286, 1300, 1309, + 1318, 1327, 1336, 1345, 1354, 1363, 1372, 1381, 1388, 1395, + 1421, 1429, 1436, 1443, 1450, 1457, 1465, 1473, 1481, 1488, + 1499, 1510, 1517, 1526, 1535, 1544, 1553, 1560, 1567, 1574, + 1590, 1598, 1606, 1616, 1626, 1636, 1650, 1658, 1671, 1682, + 1690, 1703, 1712, 1721, 1730, 1739, 1749, 1759, 1767, 1780, + 1789, 1797, 1806, 1814, 1827, 1836, 1845, 1855, 1862, 1872, + 1882, 1892, 1902, 1912, 1922, 1932, 1942, 1952, 1962, 1969, + 1976, 1983, 1992, 2001, 2010, 2019, 2026, 2036, 2044, 2053, + 2060, 2078, 2091, 2104, 2117, 2126, 2135, 2144, 2153, 2162, + 2172, 2182, 2193, 2202, 2211, 2220, 2229, 2238, 2247, 2256, + 2265, 2274, 2287, 2300, 2309, 2316, 2325, 2334, 2343, 2352, + 2362, 2370, 2383, 2391, 2455, 2462, 2477, 2487, 2497, 2504, + 2511, 2518, 2525, 2539, 2553, 2560, 2567, 2576, 2584, 2591, + 2605, 2626, 2647, 2659, 2671, 2683, 2692, 2713, 2725, 2737, + 2746, 2767, 2776, 2785, 2794, 2802, 2810, 2823, 2836, 2850, + 2864, 2873, 2882, 2892, 2902, 2911, 2920, 2929, 2935, 2944, + 2953, 2963, 2973, 2983, 2992, 3002, 3011, 3024, 3037, 3049, + 3063, 3075, 3089, 3097, 3108, 3117, 3126, 3133, 3143, 3150, + 3157, 3166, 3175, 3185, 3195, 3205, 3215, 3222, 3229, 3238, + 3247, 3257, 3267, 3277, 3284, 3291, 3298, 3306, 3316, 3326, + 3336, 3346, 3356, 3364, 3373, 3383, 3442, 3451, 3459, 3467, + 3482, 3491, 3497, 3498, 3499, 3499, 3499, 3500, 3500, 3500, + 3501, 3501, 3503, 3513, 3522, 3529, 3536, 3543, 3550, 3557, + 3564, 3570, 3571, 3572, 3572, 3572, 3573, 3573, 3573, 3574, + 3575, 3575, 3576, 3576, 3577, 3577, 3578, 3579, 3580, 3581, + 3582, 3583, 3584, 3586, 3595, 3605, 3612, 3619, 3628, 3635, + 3642, 3649, 3656, 3665, 3674, 3681, 3688, 3698, 3708, 3718, + 3728, 3738, 3748, 3759, 3765, 3766, 3767, 3769, 3776, 3782, + 3783, 3784, 3786, 3793, 3803, 3810, 3819, 3827, 3833, 3834, + 3836, 3836, 3836, 3837, 3837, 3838, 3839, 3840, 3841, 3842, + 3844, 3853, 3862, 3869, 3880, 3887, 3898, 3906, 3919, 3927, + 3940, 3946, 3947, 3948, 3948, 3949, 3949, 3950, 3950, 3951, + 3951, 3952, 3952, 3953, 3953, 3954, 3954, 3955, 3955, 3956, + 3956, 3957, 3957, 3958, 3960, 3972, 3984, 3997, 4010, 4022, + 4034, 4049, 4064, 4076, 4088, 4100, 4112, 4125, 4138, 4151, + 4164, 4177, 4190, 4203, 4218, 4233, 4244, 4253, 4269, 4276, + 4285, 4294, 4303, 4312, 4322, 4331, 4340, 4346, 4347, 4348, + 4348, 4350, 4365 }; #endif @@ -1588,6 +1593,7 @@ static const char *const yytname[] = "VAR_ITER_SCRUB_NS", "VAR_ITER_SCRUB_CNAME", "VAR_ITER_SCRUB_RRSIG", "VAR_MAX_TRANSFER_SIZE", "VAR_MAX_TRANSFER_TIME", "VAR_MAX_GLOBAL_QUOTA", "VAR_HARDEN_UNVERIFIED_GLUE", "VAR_LOG_TIME_ISO", + "VAR_VAL_VALIDATION_ATTEMPTS", "VAR_VAL_HASH_ATTEMPTS", "VAR_ITER_SCRUB_PROMISCUOUS", "VAR_LOG_THREAD_ID", "$accept", "toplevelvars", "toplevelvar", "force_toplevel", "serverstart", "contents_server", "content_server", "stub_clause", "stubstart", @@ -1757,7 +1763,8 @@ static const char *const yytname[] = "server_cookie_secret", "server_cookie_secret_file", "server_iter_scrub_ns", "server_iter_scrub_cname", "server_iter_scrub_rrsig", "server_max_global_quota", - "server_iter_scrub_promiscuous", "ipsetstart", "contents_ipset", + "server_iter_scrub_promiscuous", "server_val_validation_attempts", + "server_val_hash_attempts", "ipsetstart", "contents_ipset", "content_ipset", "ipset_name_v4", "ipset_name_v6", YY_NULLPTR }; @@ -1793,26 +1800,27 @@ static const yytype_int16 yypact[] = 245, 246, 247, 258, 259, 260, 261, 262, 263, 268, 269, 270, 272, 273, 274, 281, 282, 283, 284, 285, 288, 291, 297, 298, 314, 315, 318, 320, 321, 322, - 323, 324, 330, 331, 346, 348, 360, 361, 364, 366, - 367, 369, 371, 372, 375, 376, 377, 378, 379, 386, - 387, 388, 389, 390, 391, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 407, 413, - 414, 415, 416, 417, 424, 425, 426, 427, 428, 429, - 430, 431, 433, 434, 435, 436, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, - 452, 453, 458, 459, 460, 461, 462, 463, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 501, 502, 504, 505, 506, 507, 508, 509, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 524, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 539, 540, 541, 542, - 543, 545, 567, 570, 572, 573, 574, 575, 576, 577, - 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, - 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, - 598, 599, 600, 602, 603, 604, 606, 607, 608, 609, - 610, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 323, 324, 330, 331, 346, 348, 364, 366, 367, 369, + 371, 372, 375, 376, 377, 378, 379, 386, 387, 388, + 389, 390, 391, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 407, 413, 414, 415, + 416, 417, 424, 425, 426, 427, 428, 429, 430, 431, + 433, 434, 435, 436, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 458, 459, 460, 461, 462, 463, 466, 467, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 501, 502, 504, 505, 506, 507, 508, 509, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 539, 540, 541, 542, 543, 545, + 567, 570, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 602, 603, 604, 606, 607, 608, 609, 610, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, @@ -1838,60 +1846,58 @@ static const yytype_int16 yypact[] = -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, 645, 646, 647, + 648, 649, 650, 651, 652, -311, -311, -311, -311, -311, + -311, -311, -311, -311, 653, 654, 655, 656, 657, 658, + 659, -311, -311, -311, -311, -311, -311, -311, -311, 660, + 661, 662, 663, 664, 665, 666, -311, -311, -311, -311, + -311, -311, -311, -311, 667, 668, 669, 670, 671, 672, + 673, 674, 675, 676, 677, 678, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, -311, -311, 679, + 680, 681, 682, 683, 684, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, 641, 642, 643, 644, 645, 646, 647, - 648, -311, -311, -311, -311, -311, -311, -311, -311, -311, - 649, 650, 651, 652, 653, 654, 655, -311, -311, -311, - -311, -311, -311, -311, -311, 656, 657, 658, 659, 660, - 661, 662, -311, -311, -311, -311, -311, -311, -311, -311, - 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, - 673, 674, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, 675, 676, 677, 678, 679, - 680, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, 681, 682, 683, 684, - 685, 686, 687, 688, -311, -311, -311, -311, -311, -311, - -311, -311, -311, 689, 690, 691, 692, 693, 694, 695, + 685, 686, 687, 688, 689, 690, 691, 692, -311, -311, + -311, -311, -311, -311, -311, -311, -311, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, - 706, 707, 708, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, 709, -311, -311, 710, -311, -311, - 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 706, 707, 708, 709, 710, 711, 712, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, 721, 722, 723, 724, 725, 726, 727, 728, 729, + -311, -311, -311, -311, -311, -311, -311, -311, 713, -311, + -311, 714, -311, -311, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, -311, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, -311, -311, -311, -311, -311, -311, -311, -311, + 740, 741, 742, 743, 744, 745, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, 742, 743, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, -311, 746, 747, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, 744, 745, -311, -311, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, 748, 749, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, 746, 747, 748, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, -311, -311, 749, - 750, -311, -311, -311, -311, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, 750, 751, 752, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, 751, 752, 753, 754, 755, 756, -311, + -311, -311, -311, 753, 754, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, 755, 756, 757, + 758, 759, 760, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, 757, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, 758, 759, -311, -311, -311, - -311, -311, -311, 760, -311, -311, -311, -311, -311, -311, - 761, 762, 763, 764, 765, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, -311, 761, -311, + -311, -311, -311, -311, -311, -311, -311, -311, -311, 762, + 763, -311, -311, -311, -311, -311, -311, 764, -311, -311, + -311, -311, -311, -311, 765, 766, 767, 768, 769, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, 766, -311, -311, - 767, 768, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, + -311, -311, -311, 770, -311, -311, 771, 772, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, @@ -1899,9 +1905,10 @@ static const yytype_int16 yypact[] = -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, 769, 770, 771, -311, -311, -311, -311, - -311, -311, -311, -311, 772, 773, -311, -311, -311, -311, - -311, -311, -311, -311 + -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, + -311, -311, -311, -311, -311, -311, -311, -311, -311, 773, + 774, 775, -311, -311, -311, -311, -311, -311, -311, -311, + 776, 777, -311, -311, -311, -311, -311, -311, -311, -311 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1909,10 +1916,10 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 2, 0, 1, 18, 19, 285, 297, 639, 701, 658, - 308, 715, 738, 318, 792, 339, 706, 3, 17, 21, - 5, 287, 6, 299, 10, 310, 320, 341, 641, 660, - 703, 708, 717, 740, 794, 4, 284, 296, 307, 14, + 2, 0, 1, 18, 19, 287, 299, 641, 703, 660, + 310, 717, 740, 320, 796, 341, 708, 3, 17, 21, + 5, 289, 6, 301, 10, 312, 322, 343, 643, 662, + 705, 710, 719, 742, 798, 4, 286, 298, 309, 14, 15, 8, 9, 7, 16, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1940,95 +1947,95 @@ static const yytype_int16 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, - 20, 22, 23, 90, 93, 102, 272, 220, 221, 24, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 39, 81, 25, 94, 95, 50, 74, 89, 268, 26, - 27, 28, 31, 32, 29, 30, 33, 34, 35, 263, - 264, 265, 36, 37, 38, 126, 232, 127, 130, 131, - 132, 234, 239, 235, 251, 252, 253, 257, 259, 133, - 134, 135, 136, 137, 138, 139, 266, 267, 216, 91, - 80, 106, 282, 124, 125, 244, 241, 275, 129, 128, - 40, 41, 42, 43, 44, 82, 96, 97, 113, 68, - 78, 69, 224, 225, 107, 60, 61, 223, 64, 62, - 63, 65, 261, 117, 121, 143, 155, 188, 158, 250, - 118, 75, 45, 46, 47, 104, 144, 145, 146, 147, - 48, 49, 51, 52, 54, 55, 53, 152, 153, 159, - 56, 57, 58, 66, 281, 85, 122, 99, 154, 273, - 92, 183, 100, 101, 119, 120, 242, 105, 59, 83, - 86, 197, 67, 70, 108, 109, 110, 84, 184, 185, - 111, 71, 72, 73, 233, 123, 274, 207, 208, 209, - 210, 211, 212, 213, 214, 222, 112, 79, 262, 114, - 115, 116, 186, 76, 77, 98, 87, 88, 103, 140, - 141, 243, 245, 246, 247, 248, 249, 142, 148, 149, - 150, 151, 189, 190, 192, 194, 195, 193, 196, 199, - 200, 201, 198, 217, 156, 256, 157, 162, 163, 160, - 161, 164, 165, 167, 166, 169, 168, 170, 171, 172, - 236, 238, 237, 187, 202, 203, 204, 205, 206, 226, - 228, 227, 229, 230, 231, 258, 260, 269, 270, 271, - 191, 215, 218, 219, 240, 254, 255, 276, 277, 278, - 280, 279, 283, 0, 0, 0, 0, 0, 0, 0, - 0, 286, 288, 289, 290, 292, 293, 294, 295, 291, - 0, 0, 0, 0, 0, 0, 0, 298, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 0, - 0, 0, 309, 311, 312, 315, 316, 313, 317, 314, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 319, 321, 322, 323, 324, 328, 329, 330, - 325, 326, 327, 331, 332, 0, 0, 0, 0, 0, - 0, 344, 348, 349, 350, 351, 352, 340, 342, 343, - 345, 346, 347, 353, 354, 355, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 642, 644, 643, 649, 645, - 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 20, 22, 23, 90, 93, 102, 272, 220, + 221, 24, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 39, 81, 25, 94, 95, 50, 74, 89, + 268, 26, 27, 28, 31, 32, 29, 30, 33, 34, + 35, 263, 264, 265, 36, 37, 38, 126, 232, 127, + 130, 131, 132, 234, 239, 235, 251, 252, 253, 257, + 259, 133, 134, 135, 136, 137, 138, 139, 266, 267, + 216, 91, 80, 106, 284, 124, 125, 244, 241, 275, + 129, 128, 40, 41, 42, 43, 44, 82, 96, 97, + 113, 68, 78, 69, 224, 225, 107, 60, 61, 223, + 64, 62, 63, 65, 261, 117, 121, 143, 155, 188, + 158, 250, 118, 75, 45, 46, 47, 104, 144, 145, + 146, 147, 48, 49, 51, 52, 54, 55, 53, 152, + 153, 159, 56, 57, 58, 66, 283, 85, 122, 99, + 154, 273, 92, 183, 100, 101, 119, 120, 242, 105, + 59, 83, 86, 197, 67, 70, 108, 109, 110, 84, + 184, 185, 111, 71, 72, 73, 233, 123, 274, 207, + 208, 209, 210, 211, 212, 213, 214, 222, 112, 79, + 262, 114, 115, 116, 186, 76, 77, 98, 87, 88, + 103, 140, 141, 243, 245, 246, 247, 248, 249, 142, + 148, 149, 150, 151, 189, 190, 192, 194, 195, 193, + 196, 199, 200, 201, 198, 217, 156, 256, 157, 162, + 163, 160, 161, 164, 165, 167, 166, 169, 168, 170, + 171, 172, 236, 238, 237, 187, 202, 203, 204, 205, + 206, 226, 228, 227, 229, 230, 231, 258, 260, 269, + 270, 271, 191, 215, 218, 219, 240, 254, 255, 276, + 277, 278, 282, 279, 285, 280, 281, 0, 0, 0, + 0, 0, 0, 0, 0, 288, 290, 291, 292, 294, + 295, 296, 297, 293, 0, 0, 0, 0, 0, 0, + 0, 300, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 0, 0, 0, 311, 313, 314, 317, + 318, 315, 319, 316, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 321, 323, 324, 325, + 326, 330, 331, 332, 327, 328, 329, 333, 334, 0, + 0, 0, 0, 0, 0, 346, 350, 351, 352, 353, + 354, 342, 344, 345, 347, 348, 349, 355, 356, 357, + 0, 0, 0, 0, 0, 0, 0, 0, 642, 644, + 646, 645, 651, 647, 648, 649, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 659, 661, 663, 662, 664, 665, 666, - 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, - 677, 678, 679, 680, 0, 702, 704, 0, 707, 709, + 0, 0, 0, 0, 0, 0, 0, 661, 663, 665, + 664, 666, 667, 668, 669, 670, 671, 672, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 0, 704, + 706, 0, 709, 711, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 718, 720, 721, 722, 724, 725, + 723, 726, 727, 728, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 716, 718, 719, 720, 722, 723, 721, 724, 725, 726, - 727, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 739, 741, 742, 759, 761, 743, 744, 745, - 746, 753, 754, 755, 756, 747, 748, 749, 750, 751, - 752, 760, 757, 758, 0, 0, 793, 795, 796, 357, - 356, 364, 377, 375, 389, 384, 385, 386, 390, 387, - 388, 391, 392, 393, 397, 398, 399, 435, 436, 437, - 438, 439, 467, 468, 469, 475, 476, 380, 477, 478, - 481, 479, 480, 485, 486, 487, 503, 450, 451, 454, - 455, 488, 507, 444, 446, 508, 516, 517, 518, 381, - 466, 538, 539, 445, 532, 425, 376, 440, 504, 512, - 490, 0, 0, 542, 382, 358, 424, 495, 359, 378, - 379, 441, 442, 540, 492, 497, 498, 395, 394, 360, - 543, 470, 502, 426, 449, 509, 510, 511, 515, 531, - 443, 536, 534, 535, 458, 465, 499, 500, 459, 460, - 491, 520, 428, 429, 434, 400, 402, 396, 403, 404, - 405, 406, 414, 415, 416, 417, 418, 419, 420, 544, - 545, 552, 471, 472, 473, 474, 482, 483, 484, 553, - 554, 555, 556, 0, 0, 0, 493, 461, 463, 711, - 569, 574, 572, 571, 575, 573, 582, 583, 584, 0, - 0, 578, 579, 580, 581, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 496, 513, 537, 514, 588, - 589, 462, 557, 0, 0, 0, 0, 0, 0, 522, - 523, 524, 525, 526, 527, 528, 529, 530, 712, 452, - 453, 456, 447, 519, 423, 362, 363, 448, 590, 591, - 592, 593, 594, 596, 595, 597, 598, 599, 401, 408, - 585, 587, 586, 407, 0, 784, 785, 570, 431, 501, - 546, 430, 547, 548, 549, 0, 0, 464, 409, 410, - 412, 413, 411, 0, 601, 457, 533, 383, 602, 603, - 0, 0, 0, 0, 0, 421, 422, 604, 361, 494, - 521, 432, 786, 787, 788, 789, 790, 489, 427, 791, - 433, 605, 606, 607, 612, 610, 611, 608, 609, 613, - 614, 615, 616, 618, 619, 617, 632, 0, 636, 637, - 0, 0, 638, 620, 628, 621, 622, 623, 627, 629, - 624, 625, 626, 630, 631, 333, 334, 335, 336, 337, - 338, 650, 652, 651, 654, 655, 656, 657, 653, 681, - 683, 684, 685, 686, 687, 688, 689, 690, 691, 682, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 705, - 710, 728, 729, 730, 733, 731, 732, 734, 735, 736, - 737, 762, 763, 766, 767, 768, 769, 774, 775, 780, - 770, 771, 772, 773, 781, 782, 776, 777, 778, 779, - 764, 765, 797, 798, 505, 541, 568, 713, 714, 576, - 577, 558, 559, 0, 0, 0, 563, 783, 550, 551, - 600, 506, 567, 564, 0, 0, 633, 634, 635, 562, - 560, 561, 565, 566 + 0, 0, 0, 0, 0, 0, 741, 743, 744, 761, + 763, 745, 746, 747, 748, 755, 756, 757, 758, 749, + 750, 751, 752, 753, 754, 762, 759, 760, 0, 0, + 797, 799, 800, 359, 358, 366, 379, 377, 391, 386, + 387, 388, 392, 389, 390, 393, 394, 395, 399, 400, + 401, 437, 438, 439, 440, 441, 469, 470, 471, 477, + 478, 382, 479, 480, 483, 481, 482, 487, 488, 489, + 505, 452, 453, 456, 457, 490, 509, 446, 448, 510, + 518, 519, 520, 383, 468, 540, 541, 447, 534, 427, + 378, 442, 506, 514, 492, 0, 0, 544, 384, 360, + 426, 497, 361, 380, 381, 443, 444, 542, 494, 499, + 500, 397, 396, 362, 545, 472, 504, 428, 451, 511, + 512, 513, 517, 533, 445, 538, 536, 537, 460, 467, + 501, 502, 461, 462, 493, 522, 430, 431, 436, 402, + 404, 398, 405, 406, 407, 408, 416, 417, 418, 419, + 420, 421, 422, 546, 547, 554, 473, 474, 475, 476, + 484, 485, 486, 555, 556, 557, 558, 0, 0, 0, + 495, 463, 465, 713, 571, 576, 574, 573, 577, 575, + 584, 585, 586, 0, 0, 580, 581, 582, 583, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 498, + 515, 539, 516, 590, 591, 464, 559, 0, 0, 0, + 0, 0, 0, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 714, 454, 455, 458, 449, 521, 425, 364, + 365, 450, 592, 593, 594, 595, 596, 598, 597, 599, + 600, 601, 403, 410, 587, 589, 588, 409, 0, 786, + 787, 572, 433, 503, 548, 432, 549, 550, 551, 0, + 0, 466, 411, 412, 414, 415, 413, 0, 603, 459, + 535, 385, 604, 605, 0, 0, 0, 0, 0, 423, + 424, 606, 363, 496, 523, 434, 788, 789, 790, 791, + 792, 491, 429, 794, 795, 793, 435, 607, 608, 609, + 614, 612, 613, 610, 611, 615, 616, 617, 618, 620, + 621, 619, 634, 0, 638, 639, 0, 0, 640, 622, + 630, 623, 624, 625, 629, 631, 626, 627, 628, 632, + 633, 335, 336, 337, 338, 339, 340, 652, 654, 653, + 656, 657, 658, 659, 655, 683, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 684, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 707, 712, 730, 731, 732, + 735, 733, 734, 736, 737, 738, 739, 764, 765, 768, + 769, 770, 771, 776, 777, 782, 772, 773, 774, 775, + 783, 784, 778, 779, 780, 781, 766, 767, 801, 802, + 507, 543, 570, 715, 716, 578, 579, 560, 561, 0, + 0, 0, 565, 785, 552, 553, 602, 508, 569, 566, + 0, 0, 635, 636, 637, 564, 562, 563, 567, 568 }; /* YYPGOTO[NTERM-NUM]. */ @@ -2063,8 +2070,8 @@ static const yytype_int16 yypgoto[] = -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, 774, 775, 776, 777, 778, - -311, -311, 779, -311, -311, 780, 781, -311, -311, -311, + -311, -311, -311, -311, -311, 778, 779, 780, 781, 782, + -311, -311, 783, -311, -311, 784, 785, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, @@ -2075,54 +2082,54 @@ static const yytype_int16 yypgoto[] = -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311 + -311, -311, -311 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 17, 18, 19, 35, 310, 20, 21, 36, - 581, 22, 23, 37, 597, 24, 25, 38, 612, 26, - 39, 632, 651, 652, 653, 654, 655, 656, 27, 40, - 657, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 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, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 582, 583, 584, 585, 586, 587, 588, 589, 598, 599, - 600, 601, 602, 603, 604, 633, 634, 635, 636, 637, - 638, 639, 640, 641, 642, 643, 644, 613, 614, 615, - 616, 617, 618, 619, 28, 41, 674, 675, 676, 677, - 678, 679, 680, 681, 682, 29, 42, 703, 704, 705, - 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, - 716, 717, 718, 719, 720, 721, 722, 723, 30, 43, - 725, 726, 31, 44, 728, 729, 560, 561, 562, 563, - 32, 45, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 33, 46, 772, 773, 774, 775, 776, - 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, - 787, 788, 789, 790, 791, 792, 793, 564, 565, 566, - 567, 568, 569, 570, 571, 572, 34, 47, 796, 797, - 798 + 0, 1, 17, 18, 19, 35, 312, 20, 21, 36, + 585, 22, 23, 37, 601, 24, 25, 38, 616, 26, + 39, 636, 655, 656, 657, 658, 659, 660, 27, 40, + 661, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 377, 378, 379, 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, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 586, 587, 588, 589, 590, 591, 592, 593, 602, 603, + 604, 605, 606, 607, 608, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 617, 618, 619, + 620, 621, 622, 623, 28, 41, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 29, 42, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 30, 43, + 729, 730, 31, 44, 732, 733, 562, 563, 564, 565, + 32, 45, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 33, 46, 776, 777, 778, 779, 780, + 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, + 791, 792, 793, 794, 795, 796, 797, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 34, 47, + 800, 801, 802 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -2133,86 +2140,86 @@ static const yytype_int16 yytable[] = 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, 794, 795, 724, 727, 82, 83, - 84, 799, 800, 801, 85, 86, 87, 88, 89, 90, + 78, 79, 80, 81, 798, 799, 728, 731, 82, 83, + 84, 803, 804, 805, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 666, 667, 668, 669, 670, - 671, 672, 673, 802, 126, 127, 128, 129, 130, 803, - 131, 132, 133, 804, 805, 134, 135, 136, 137, 138, + 121, 122, 123, 124, 125, 670, 671, 672, 673, 674, + 675, 676, 677, 806, 126, 127, 128, 129, 130, 807, + 131, 132, 133, 808, 809, 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, 806, 807, 808, 160, 620, 809, 161, 162, 163, - 164, 165, 166, 167, 810, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 811, - 812, 620, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 813, 814, 815, 816, 817, 818, 819, 820, + 159, 810, 811, 812, 160, 624, 813, 161, 162, 163, + 164, 165, 166, 167, 814, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 815, + 816, 624, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 817, 818, 819, 820, 821, 822, 823, 824, 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, 821, 227, 822, 228, 229, + 222, 223, 224, 225, 226, 825, 227, 826, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 823, 824, 825, - 826, 827, 828, 829, 830, 831, 832, 833, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 834, 835, - 836, 837, 838, 839, 573, 2, 574, 575, 840, 841, - 842, 590, 843, 844, 845, 0, 3, 4, 257, 591, - 592, 846, 847, 848, 849, 850, 258, 259, 851, 260, - 261, 852, 262, 263, 264, 265, 266, 853, 854, 267, + 240, 241, 242, 243, 244, 245, 246, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 838, 839, + 840, 841, 842, 843, 577, 2, 578, 579, 844, 845, + 846, 594, 847, 848, 849, 0, 3, 4, 257, 595, + 596, 850, 851, 852, 853, 854, 258, 259, 855, 260, + 261, 856, 262, 263, 264, 265, 266, 857, 858, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 5, 855, 856, 281, 605, 857, 6, - 858, 859, 860, 861, 862, 282, 283, 284, 285, 576, - 863, 864, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 865, 300, 866, 301, - 302, 303, 304, 606, 607, 305, 306, 307, 308, 309, - 867, 868, 577, 7, 869, 578, 870, 871, 593, 872, - 594, 873, 874, 595, 579, 875, 876, 877, 878, 879, - 608, 8, 622, 623, 624, 625, 880, 881, 882, 883, - 884, 885, 627, 886, 887, 888, 889, 890, 891, 892, - 893, 894, 895, 896, 897, 898, 621, 899, 622, 623, - 624, 625, 626, 900, 901, 902, 903, 904, 627, 645, - 646, 647, 648, 649, 905, 906, 907, 908, 909, 910, - 911, 912, 650, 913, 914, 915, 916, 9, 917, 918, - 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, - 929, 930, 931, 932, 630, 631, 628, 629, 933, 934, - 935, 936, 937, 938, 609, 610, 939, 940, 941, 942, - 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, - 630, 631, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, - 769, 953, 954, 10, 955, 956, 957, 958, 959, 960, - 611, 961, 962, 963, 964, 965, 966, 967, 968, 969, - 970, 971, 972, 973, 974, 11, 975, 976, 977, 978, - 979, 980, 981, 982, 983, 984, 985, 986, 580, 987, - 988, 989, 990, 991, 596, 992, 12, 683, 684, 685, - 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, - 696, 697, 698, 699, 700, 701, 702, 993, 13, 770, - 994, 771, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 14, 1024, 1025, 1026, 15, 1027, 1028, 1029, 1030, - 1031, 16, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, - 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, - 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, - 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, - 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, - 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, - 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, - 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, - 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, - 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, - 1190, 1191, 1192, 1193, 0, 0, 0, 0, 0, 0, + 278, 279, 280, 5, 859, 860, 281, 609, 861, 6, + 862, 863, 864, 865, 866, 282, 283, 284, 285, 580, + 867, 868, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 869, 300, 870, 301, + 302, 303, 304, 610, 611, 305, 306, 307, 308, 309, + 310, 311, 581, 7, 871, 582, 872, 873, 597, 874, + 598, 875, 876, 599, 583, 877, 878, 879, 880, 881, + 612, 8, 626, 627, 628, 629, 882, 883, 884, 885, + 886, 887, 631, 888, 889, 890, 891, 892, 893, 894, + 895, 896, 897, 898, 899, 900, 625, 901, 626, 627, + 628, 629, 630, 902, 903, 904, 905, 906, 631, 649, + 650, 651, 652, 653, 907, 908, 909, 910, 911, 912, + 913, 914, 654, 915, 916, 917, 918, 9, 919, 920, + 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, + 931, 932, 933, 934, 634, 635, 632, 633, 935, 936, + 937, 938, 939, 940, 613, 614, 941, 942, 943, 944, + 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, + 634, 635, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 955, 956, 10, 957, 958, 959, 960, 961, 962, + 615, 963, 964, 965, 966, 967, 968, 969, 970, 971, + 972, 973, 974, 975, 976, 11, 977, 978, 979, 980, + 981, 982, 983, 984, 985, 986, 987, 988, 584, 989, + 990, 991, 992, 993, 600, 994, 12, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 995, 13, 774, + 996, 775, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, + 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, + 1025, 14, 1026, 1027, 1028, 15, 1029, 1030, 1031, 1032, + 1033, 16, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, + 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, + 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, + 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, + 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, + 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, + 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, + 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, + 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, + 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, + 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, + 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 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, 658, 659, 660, 661, 662, 663, - 664, 665 + 0, 0, 0, 0, 0, 0, 0, 0, 662, 663, + 664, 665, 666, 667, 668, 669 }; static const yytype_int16 yycheck[] = @@ -2254,7 +2261,7 @@ static const yytype_int16 yycheck[] = 10, 10, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 10, 370, 10, 372, 373, 374, 375, 83, 84, 378, 379, 380, 381, 382, - 10, 10, 145, 98, 10, 148, 10, 10, 144, 10, + 383, 384, 145, 98, 10, 148, 10, 10, 144, 10, 146, 10, 10, 149, 157, 10, 10, 10, 10, 10, 110, 116, 304, 305, 306, 307, 10, 10, 10, 10, 10, 10, 314, 10, 10, 10, 10, 10, 10, 10, @@ -2295,22 +2302,22 @@ static const yytype_int16 yycheck[] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, -1, -1, -1, -1, -1, -1, + 10, 10, 10, 10, 10, 10, 10, 10, -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, 40, 40, 40, 40, 40, 40, - 40, 40 + -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, + 40, 40, 40, 40, 40, 40 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 384, 0, 11, 12, 48, 54, 98, 116, 172, - 238, 260, 281, 303, 336, 340, 346, 385, 386, 387, - 390, 391, 394, 395, 398, 399, 402, 411, 697, 708, - 731, 735, 743, 756, 789, 388, 392, 396, 400, 403, - 412, 698, 709, 732, 736, 744, 757, 790, 13, 14, + 0, 386, 0, 11, 12, 48, 54, 98, 116, 172, + 238, 260, 281, 303, 336, 340, 346, 387, 388, 389, + 392, 393, 396, 397, 400, 401, 404, 413, 699, 710, + 733, 737, 745, 758, 793, 390, 394, 398, 402, 405, + 414, 700, 711, 734, 738, 746, 759, 794, 13, 14, 15, 16, 17, 18, 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, 44, @@ -2337,7 +2344,7 @@ static const yytype_int16 yystos[] = 335, 339, 348, 349, 350, 351, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 370, 372, 373, 374, 375, 378, 379, 380, 381, 382, - 389, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 383, 384, 391, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, @@ -2362,31 +2369,31 @@ static const yytype_int16 yystos[] = 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, - 739, 740, 741, 742, 780, 781, 782, 783, 784, 785, - 786, 787, 788, 47, 49, 50, 112, 145, 148, 157, - 321, 393, 663, 664, 665, 666, 667, 668, 669, 670, - 47, 55, 56, 144, 146, 149, 320, 397, 671, 672, - 673, 674, 675, 676, 677, 47, 83, 84, 110, 194, - 195, 240, 401, 690, 691, 692, 693, 694, 695, 696, - 47, 302, 304, 305, 306, 307, 308, 314, 352, 353, - 376, 377, 404, 678, 679, 680, 681, 682, 683, 684, - 685, 686, 687, 688, 689, 341, 342, 343, 344, 345, - 354, 405, 406, 407, 408, 409, 410, 413, 678, 679, - 680, 681, 682, 685, 688, 689, 99, 100, 101, 102, - 103, 104, 105, 106, 699, 700, 701, 702, 703, 704, - 705, 706, 707, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 710, 711, 712, 713, 714, 715, 716, - 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 117, 733, 734, 347, 737, 738, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 369, 371, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 776, 777, 778, 779, 337, 338, 791, 792, 793, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 663, 664, 741, 742, 743, 744, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 47, 49, 50, + 112, 145, 148, 157, 321, 395, 665, 666, 667, 668, + 669, 670, 671, 672, 47, 55, 56, 144, 146, 149, + 320, 399, 673, 674, 675, 676, 677, 678, 679, 47, + 83, 84, 110, 194, 195, 240, 403, 692, 693, 694, + 695, 696, 697, 698, 47, 302, 304, 305, 306, 307, + 308, 314, 352, 353, 376, 377, 406, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 341, + 342, 343, 344, 345, 354, 407, 408, 409, 410, 411, + 412, 415, 680, 681, 682, 683, 684, 687, 690, 691, + 99, 100, 101, 102, 103, 104, 105, 106, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 117, 735, + 736, 347, 739, 740, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 369, 371, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 774, 775, 776, 777, 778, 779, 780, 781, 337, 338, + 795, 796, 797, 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, @@ -2425,48 +2432,48 @@ static const yytype_int16 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 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 383, 384, 384, 385, 385, 385, 385, 385, 385, - 385, 385, 385, 385, 385, 385, 385, 385, 386, 387, - 388, 388, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 390, 391, 392, 392, 393, 393, - 393, 393, 393, 393, 393, 393, 394, 395, 396, 396, - 397, 397, 397, 397, 397, 397, 397, 398, 399, 400, - 400, 401, 401, 401, 401, 401, 401, 401, 402, 403, - 403, 404, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 412, 413, 413, 413, 413, 413, 413, 413, 413, - 413, 413, 413, 413, 413, 413, 414, 415, 416, 417, + 0, 385, 386, 386, 387, 387, 387, 387, 387, 387, + 387, 387, 387, 387, 387, 387, 387, 387, 388, 389, + 390, 390, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 392, 393, 394, 394, + 395, 395, 395, 395, 395, 395, 395, 395, 396, 397, + 398, 398, 399, 399, 399, 399, 399, 399, 399, 400, + 401, 402, 402, 403, 403, 403, 403, 403, 403, 403, + 404, 405, 405, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 414, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, @@ -2495,22 +2502,23 @@ static const yytype_int16 yyr1[] = 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, - 698, 698, 699, 699, 699, 699, 699, 699, 699, 699, - 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, - 709, 710, 710, 710, 710, 710, 710, 710, 710, 710, - 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, - 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 698, 699, 700, 700, 701, 701, 701, 701, 701, 701, + 701, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 711, 712, 712, 712, 712, 712, 712, 712, + 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, + 712, 712, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 732, 733, 734, 735, 736, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 744, 745, 745, - 745, 745, 745, 745, 745, 745, 745, 745, 746, 747, + 730, 731, 732, 733, 734, 734, 735, 736, 737, 738, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 746, + 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 757, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 759, 760, 761, 762, 763, 764, 765, 766, + 758, 759, 759, 760, 760, 760, 760, 760, 760, 760, + 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, + 760, 760, 760, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, - 787, 788, 789, 790, 790, 791, 791, 792, 793 + 787, 788, 789, 790, 791, 792, 793, 794, 794, 795, + 795, 796, 797 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2544,14 +2552,14 @@ static const yytype_int8 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, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, + 2, 0, 1, 1, 1, 1, 1, 1, 1, 2, + 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, + 2, 1, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 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, @@ -2566,36 +2574,37 @@ static const yytype_int8 yyr2[] = 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, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 3, 3, 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, - 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, - 4, 4, 4, 3, 3, 4, 4, 3, 3, 2, - 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, + 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, + 3, 3, 4, 4, 4, 3, 3, 4, 4, 3, + 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 3, 3, 2, 2, 2, 1, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, + 2, 1, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 1, 2, 0, 1, 2, 1, 2, 0, 1, - 2, 2, 2, 3, 3, 1, 2, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 1, 2, 0, 1, 2, 1, 2, + 0, 1, 2, 2, 2, 3, 3, 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, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 2, 0, 1, 1, 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, 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, 1, 2, 0, 1, + 1, 2, 2 }; @@ -3059,36 +3068,36 @@ yyreduce: switch (yyn) { case 18: /* force_toplevel: VAR_FORCE_TOPLEVEL */ -#line 234 "util/configparser.y" +#line 235 "util/configparser.y" { OUTYY(("\nP(force-toplevel)\n")); cfg_parser->started_toplevel = 0; } -#line 3068 "util/configparser.c" +#line 3077 "util/configparser.c" break; case 19: /* serverstart: VAR_SERVER */ -#line 241 "util/configparser.y" +#line 242 "util/configparser.y" { OUTYY(("\nP(server:)\n")); cfg_parser->started_toplevel = 1; } -#line 3077 "util/configparser.c" +#line 3086 "util/configparser.c" break; - case 284: /* stub_clause: stubstart contents_stub */ -#line 367 "util/configparser.y" + case 286: /* stub_clause: stubstart contents_stub */ +#line 369 "util/configparser.y" { /* stub end */ if(cfg_parser->cfg->stubs && !cfg_parser->cfg->stubs->name) yyerror("stub-zone without name"); } -#line 3088 "util/configparser.c" +#line 3097 "util/configparser.c" break; - case 285: /* stubstart: VAR_STUB_ZONE */ -#line 375 "util/configparser.y" + case 287: /* stubstart: VAR_STUB_ZONE */ +#line 377 "util/configparser.y" { struct config_stub* s; OUTYY(("\nP(stub_zone:)\n")); @@ -3101,22 +3110,22 @@ yyreduce: yyerror("out of memory"); } } -#line 3105 "util/configparser.c" +#line 3114 "util/configparser.c" break; - case 296: /* forward_clause: forwardstart contents_forward */ -#line 394 "util/configparser.y" + case 298: /* forward_clause: forwardstart contents_forward */ +#line 396 "util/configparser.y" { /* forward end */ if(cfg_parser->cfg->forwards && !cfg_parser->cfg->forwards->name) yyerror("forward-zone without name"); } -#line 3116 "util/configparser.c" +#line 3125 "util/configparser.c" break; - case 297: /* forwardstart: VAR_FORWARD_ZONE */ -#line 402 "util/configparser.y" + case 299: /* forwardstart: VAR_FORWARD_ZONE */ +#line 404 "util/configparser.y" { struct config_stub* s; OUTYY(("\nP(forward_zone:)\n")); @@ -3129,22 +3138,22 @@ yyreduce: yyerror("out of memory"); } } -#line 3133 "util/configparser.c" +#line 3142 "util/configparser.c" break; - case 307: /* view_clause: viewstart contents_view */ -#line 421 "util/configparser.y" + case 309: /* view_clause: viewstart contents_view */ +#line 423 "util/configparser.y" { /* view end */ if(cfg_parser->cfg->views && !cfg_parser->cfg->views->name) yyerror("view without name"); } -#line 3144 "util/configparser.c" +#line 3153 "util/configparser.c" break; - case 308: /* viewstart: VAR_VIEW */ -#line 429 "util/configparser.y" + case 310: /* viewstart: VAR_VIEW */ +#line 431 "util/configparser.y" { struct config_view* s; OUTYY(("\nP(view:)\n")); @@ -3157,11 +3166,11 @@ yyreduce: yyerror("out of memory"); } } -#line 3161 "util/configparser.c" +#line 3170 "util/configparser.c" break; - case 318: /* authstart: VAR_AUTH_ZONE */ -#line 448 "util/configparser.y" + case 320: /* authstart: VAR_AUTH_ZONE */ +#line 450 "util/configparser.y" { struct config_auth* s; OUTYY(("\nP(auth_zone:)\n")); @@ -3183,11 +3192,11 @@ yyreduce: yyerror("out of memory"); } } -#line 3187 "util/configparser.c" +#line 3196 "util/configparser.c" break; - case 333: /* rpz_tag: VAR_TAGS STRING_ARG */ -#line 479 "util/configparser.y" + case 335: /* rpz_tag: VAR_TAGS STRING_ARG */ +#line 481 "util/configparser.y" { uint8_t* bitlist; size_t len = 0; @@ -3204,11 +3213,11 @@ yyreduce: } } -#line 3208 "util/configparser.c" +#line 3217 "util/configparser.c" break; - case 334: /* rpz_action_override: VAR_RPZ_ACTION_OVERRIDE STRING_ARG */ -#line 498 "util/configparser.y" + case 336: /* rpz_action_override: VAR_RPZ_ACTION_OVERRIDE STRING_ARG */ +#line 500 "util/configparser.y" { OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "nxdomain")!=0 && strcmp((yyvsp[0].str), "nodata")!=0 && @@ -3223,21 +3232,21 @@ yyreduce: cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str); } } -#line 3227 "util/configparser.c" +#line 3236 "util/configparser.c" break; - case 335: /* rpz_cname_override: VAR_RPZ_CNAME_OVERRIDE STRING_ARG */ -#line 515 "util/configparser.y" + case 337: /* rpz_cname_override: VAR_RPZ_CNAME_OVERRIDE STRING_ARG */ +#line 517 "util/configparser.y" { OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_cname); cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str); } -#line 3237 "util/configparser.c" +#line 3246 "util/configparser.c" break; - case 336: /* rpz_log: VAR_RPZ_LOG STRING_ARG */ -#line 523 "util/configparser.y" + case 338: /* rpz_log: VAR_RPZ_LOG STRING_ARG */ +#line 525 "util/configparser.y" { OUTYY(("P(rpz_log:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3245,21 +3254,21 @@ yyreduce: else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3249 "util/configparser.c" +#line 3258 "util/configparser.c" break; - case 337: /* rpz_log_name: VAR_RPZ_LOG_NAME STRING_ARG */ -#line 533 "util/configparser.y" + case 339: /* rpz_log_name: VAR_RPZ_LOG_NAME STRING_ARG */ +#line 535 "util/configparser.y" { OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_log_name); cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str); } -#line 3259 "util/configparser.c" +#line 3268 "util/configparser.c" break; - case 338: /* rpz_signal_nxdomain_ra: VAR_RPZ_SIGNAL_NXDOMAIN_RA STRING_ARG */ -#line 540 "util/configparser.y" + case 340: /* rpz_signal_nxdomain_ra: VAR_RPZ_SIGNAL_NXDOMAIN_RA STRING_ARG */ +#line 542 "util/configparser.y" { OUTYY(("P(rpz_signal_nxdomain_ra:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3267,11 +3276,11 @@ yyreduce: else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3271 "util/configparser.c" +#line 3280 "util/configparser.c" break; - case 339: /* rpzstart: VAR_RPZ */ -#line 550 "util/configparser.y" + case 341: /* rpzstart: VAR_RPZ */ +#line 552 "util/configparser.y" { struct config_auth* s; OUTYY(("\nP(rpz:)\n")); @@ -3291,11 +3300,11 @@ yyreduce: yyerror("out of memory"); } } -#line 3295 "util/configparser.c" +#line 3304 "util/configparser.c" break; - case 356: /* server_num_threads: VAR_NUM_THREADS STRING_ARG */ -#line 578 "util/configparser.y" + case 358: /* server_num_threads: VAR_NUM_THREADS STRING_ARG */ +#line 580 "util/configparser.y" { OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3303,11 +3312,11 @@ yyreduce: else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3307 "util/configparser.c" +#line 3316 "util/configparser.c" break; - case 357: /* server_verbosity: VAR_VERBOSITY STRING_ARG */ -#line 587 "util/configparser.y" + case 359: /* server_verbosity: VAR_VERBOSITY STRING_ARG */ +#line 589 "util/configparser.y" { OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3315,11 +3324,11 @@ yyreduce: else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3319 "util/configparser.c" +#line 3328 "util/configparser.c" break; - case 358: /* server_statistics_interval: VAR_STATISTICS_INTERVAL STRING_ARG */ -#line 596 "util/configparser.y" + case 360: /* server_statistics_interval: VAR_STATISTICS_INTERVAL STRING_ARG */ +#line 598 "util/configparser.y" { OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) @@ -3329,11 +3338,11 @@ yyreduce: else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3333 "util/configparser.c" +#line 3342 "util/configparser.c" break; - case 359: /* server_statistics_cumulative: VAR_STATISTICS_CUMULATIVE STRING_ARG */ -#line 607 "util/configparser.y" + case 361: /* server_statistics_cumulative: VAR_STATISTICS_CUMULATIVE STRING_ARG */ +#line 609 "util/configparser.y" { OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3341,11 +3350,11 @@ yyreduce: else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3345 "util/configparser.c" +#line 3354 "util/configparser.c" break; - case 360: /* server_extended_statistics: VAR_EXTENDED_STATISTICS STRING_ARG */ -#line 616 "util/configparser.y" + case 362: /* server_extended_statistics: VAR_EXTENDED_STATISTICS STRING_ARG */ +#line 618 "util/configparser.y" { OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3353,11 +3362,11 @@ yyreduce: else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3357 "util/configparser.c" +#line 3366 "util/configparser.c" break; - case 361: /* server_statistics_inhibit_zero: VAR_STATISTICS_INHIBIT_ZERO STRING_ARG */ -#line 625 "util/configparser.y" + case 363: /* server_statistics_inhibit_zero: VAR_STATISTICS_INHIBIT_ZERO STRING_ARG */ +#line 627 "util/configparser.y" { OUTYY(("P(server_statistics_inhibit_zero:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3365,11 +3374,11 @@ yyreduce: else cfg_parser->cfg->stat_inhibit_zero = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3369 "util/configparser.c" +#line 3378 "util/configparser.c" break; - case 362: /* server_shm_enable: VAR_SHM_ENABLE STRING_ARG */ -#line 634 "util/configparser.y" + case 364: /* server_shm_enable: VAR_SHM_ENABLE STRING_ARG */ +#line 636 "util/configparser.y" { OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3377,11 +3386,11 @@ yyreduce: else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3381 "util/configparser.c" +#line 3390 "util/configparser.c" break; - case 363: /* server_shm_key: VAR_SHM_KEY STRING_ARG */ -#line 643 "util/configparser.y" + case 365: /* server_shm_key: VAR_SHM_KEY STRING_ARG */ +#line 645 "util/configparser.y" { OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) @@ -3391,11 +3400,11 @@ yyreduce: else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3395 "util/configparser.c" +#line 3404 "util/configparser.c" break; - case 364: /* server_port: VAR_PORT STRING_ARG */ -#line 654 "util/configparser.y" + case 366: /* server_port: VAR_PORT STRING_ARG */ +#line 656 "util/configparser.y" { OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3403,11 +3412,11 @@ yyreduce: else cfg_parser->cfg->port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3407 "util/configparser.c" +#line 3416 "util/configparser.c" break; - case 365: /* server_send_client_subnet: VAR_SEND_CLIENT_SUBNET STRING_ARG */ -#line 663 "util/configparser.y" + case 367: /* server_send_client_subnet: VAR_SEND_CLIENT_SUBNET STRING_ARG */ +#line 665 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[0].str))); @@ -3418,11 +3427,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 3422 "util/configparser.c" +#line 3431 "util/configparser.c" break; - case 366: /* server_client_subnet_zone: VAR_CLIENT_SUBNET_ZONE STRING_ARG */ -#line 675 "util/configparser.y" + case 368: /* server_client_subnet_zone: VAR_CLIENT_SUBNET_ZONE STRING_ARG */ +#line 677 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str))); @@ -3434,11 +3443,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 3438 "util/configparser.c" +#line 3447 "util/configparser.c" break; - case 367: /* server_client_subnet_always_forward: VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG */ -#line 689 "util/configparser.y" + case 369: /* server_client_subnet_always_forward: VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG */ +#line 691 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[0].str))); @@ -3452,11 +3461,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3456 "util/configparser.c" +#line 3465 "util/configparser.c" break; - case 368: /* server_client_subnet_opcode: VAR_CLIENT_SUBNET_OPCODE STRING_ARG */ -#line 704 "util/configparser.y" + case 370: /* server_client_subnet_opcode: VAR_CLIENT_SUBNET_OPCODE STRING_ARG */ +#line 706 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[0].str))); @@ -3466,11 +3475,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3470 "util/configparser.c" +#line 3479 "util/configparser.c" break; - case 369: /* server_max_client_subnet_ipv4: VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG */ -#line 715 "util/configparser.y" + case 371: /* server_max_client_subnet_ipv4: VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG */ +#line 717 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); @@ -3486,11 +3495,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3490 "util/configparser.c" +#line 3499 "util/configparser.c" break; - case 370: /* server_max_client_subnet_ipv6: VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG */ -#line 732 "util/configparser.y" + case 372: /* server_max_client_subnet_ipv6: VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG */ +#line 734 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); @@ -3506,11 +3515,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3510 "util/configparser.c" +#line 3519 "util/configparser.c" break; - case 371: /* server_min_client_subnet_ipv4: VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG */ -#line 749 "util/configparser.y" + case 373: /* server_min_client_subnet_ipv4: VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG */ +#line 751 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); @@ -3526,11 +3535,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3530 "util/configparser.c" +#line 3539 "util/configparser.c" break; - case 372: /* server_min_client_subnet_ipv6: VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG */ -#line 766 "util/configparser.y" + case 374: /* server_min_client_subnet_ipv6: VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG */ +#line 768 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); @@ -3546,11 +3555,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3550 "util/configparser.c" +#line 3559 "util/configparser.c" break; - case 373: /* server_max_ecs_tree_size_ipv4: VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG */ -#line 783 "util/configparser.y" + case 375: /* server_max_ecs_tree_size_ipv4: VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG */ +#line 785 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[0].str))); @@ -3564,11 +3573,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3568 "util/configparser.c" +#line 3577 "util/configparser.c" break; - case 374: /* server_max_ecs_tree_size_ipv6: VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG */ -#line 798 "util/configparser.y" + case 376: /* server_max_ecs_tree_size_ipv6: VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG */ +#line 800 "util/configparser.y" { #ifdef CLIENT_SUBNET OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[0].str))); @@ -3582,11 +3591,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3586 "util/configparser.c" +#line 3595 "util/configparser.c" break; - case 375: /* server_interface: VAR_INTERFACE STRING_ARG */ -#line 813 "util/configparser.y" + case 377: /* server_interface: VAR_INTERFACE STRING_ARG */ +#line 815 "util/configparser.y" { OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_ifs == 0) @@ -3598,11 +3607,11 @@ yyreduce: else cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); } -#line 3602 "util/configparser.c" +#line 3611 "util/configparser.c" break; - case 376: /* server_outgoing_interface: VAR_OUTGOING_INTERFACE STRING_ARG */ -#line 826 "util/configparser.y" + case 378: /* server_outgoing_interface: VAR_OUTGOING_INTERFACE STRING_ARG */ +#line 828 "util/configparser.y" { OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_out_ifs == 0) @@ -3616,11 +3625,11 @@ yyreduce: cfg_parser->cfg->out_ifs[ cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); } -#line 3620 "util/configparser.c" +#line 3629 "util/configparser.c" break; - case 377: /* server_outgoing_range: VAR_OUTGOING_RANGE STRING_ARG */ -#line 841 "util/configparser.y" + case 379: /* server_outgoing_range: VAR_OUTGOING_RANGE STRING_ARG */ +#line 843 "util/configparser.y" { OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3628,11 +3637,11 @@ yyreduce: else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3632 "util/configparser.c" +#line 3641 "util/configparser.c" break; - case 378: /* server_outgoing_port_permit: VAR_OUTGOING_PORT_PERMIT STRING_ARG */ -#line 850 "util/configparser.y" + case 380: /* server_outgoing_port_permit: VAR_OUTGOING_PORT_PERMIT STRING_ARG */ +#line 852 "util/configparser.y" { OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); if(!cfg_mark_ports((yyvsp[0].str), 1, @@ -3640,11 +3649,11 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 3644 "util/configparser.c" +#line 3653 "util/configparser.c" break; - case 379: /* server_outgoing_port_avoid: VAR_OUTGOING_PORT_AVOID STRING_ARG */ -#line 859 "util/configparser.y" + case 381: /* server_outgoing_port_avoid: VAR_OUTGOING_PORT_AVOID STRING_ARG */ +#line 861 "util/configparser.y" { OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); if(!cfg_mark_ports((yyvsp[0].str), 0, @@ -3652,11 +3661,11 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 3656 "util/configparser.c" +#line 3665 "util/configparser.c" break; - case 380: /* server_outgoing_num_tcp: VAR_OUTGOING_NUM_TCP STRING_ARG */ -#line 868 "util/configparser.y" + case 382: /* server_outgoing_num_tcp: VAR_OUTGOING_NUM_TCP STRING_ARG */ +#line 870 "util/configparser.y" { OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3664,11 +3673,11 @@ yyreduce: else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3668 "util/configparser.c" +#line 3677 "util/configparser.c" break; - case 381: /* server_incoming_num_tcp: VAR_INCOMING_NUM_TCP STRING_ARG */ -#line 877 "util/configparser.y" + case 383: /* server_incoming_num_tcp: VAR_INCOMING_NUM_TCP STRING_ARG */ +#line 879 "util/configparser.y" { OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3676,11 +3685,11 @@ yyreduce: else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3680 "util/configparser.c" +#line 3689 "util/configparser.c" break; - case 382: /* server_interface_automatic: VAR_INTERFACE_AUTOMATIC STRING_ARG */ -#line 886 "util/configparser.y" + case 384: /* server_interface_automatic: VAR_INTERFACE_AUTOMATIC STRING_ARG */ +#line 888 "util/configparser.y" { OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3688,21 +3697,21 @@ yyreduce: else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3692 "util/configparser.c" +#line 3701 "util/configparser.c" break; - case 383: /* server_interface_automatic_ports: VAR_INTERFACE_AUTOMATIC_PORTS STRING_ARG */ -#line 895 "util/configparser.y" + case 385: /* server_interface_automatic_ports: VAR_INTERFACE_AUTOMATIC_PORTS STRING_ARG */ +#line 897 "util/configparser.y" { OUTYY(("P(server_interface_automatic_ports:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->if_automatic_ports); cfg_parser->cfg->if_automatic_ports = (yyvsp[0].str); } -#line 3702 "util/configparser.c" +#line 3711 "util/configparser.c" break; - case 384: /* server_do_ip4: VAR_DO_IP4 STRING_ARG */ -#line 902 "util/configparser.y" + case 386: /* server_do_ip4: VAR_DO_IP4 STRING_ARG */ +#line 904 "util/configparser.y" { OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3710,11 +3719,11 @@ yyreduce: else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3714 "util/configparser.c" +#line 3723 "util/configparser.c" break; - case 385: /* server_do_ip6: VAR_DO_IP6 STRING_ARG */ -#line 911 "util/configparser.y" + case 387: /* server_do_ip6: VAR_DO_IP6 STRING_ARG */ +#line 913 "util/configparser.y" { OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3722,11 +3731,11 @@ yyreduce: else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3726 "util/configparser.c" +#line 3735 "util/configparser.c" break; - case 386: /* server_do_nat64: VAR_DO_NAT64 STRING_ARG */ -#line 920 "util/configparser.y" + case 388: /* server_do_nat64: VAR_DO_NAT64 STRING_ARG */ +#line 922 "util/configparser.y" { OUTYY(("P(server_do_nat64:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3734,11 +3743,11 @@ yyreduce: else cfg_parser->cfg->do_nat64 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3738 "util/configparser.c" +#line 3747 "util/configparser.c" break; - case 387: /* server_do_udp: VAR_DO_UDP STRING_ARG */ -#line 929 "util/configparser.y" + case 389: /* server_do_udp: VAR_DO_UDP STRING_ARG */ +#line 931 "util/configparser.y" { OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3746,11 +3755,11 @@ yyreduce: else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3750 "util/configparser.c" +#line 3759 "util/configparser.c" break; - case 388: /* server_do_tcp: VAR_DO_TCP STRING_ARG */ -#line 938 "util/configparser.y" + case 390: /* server_do_tcp: VAR_DO_TCP STRING_ARG */ +#line 940 "util/configparser.y" { OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3758,11 +3767,11 @@ yyreduce: else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3762 "util/configparser.c" +#line 3771 "util/configparser.c" break; - case 389: /* server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG */ -#line 947 "util/configparser.y" + case 391: /* server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG */ +#line 949 "util/configparser.y" { OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3770,11 +3779,11 @@ yyreduce: else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3774 "util/configparser.c" +#line 3783 "util/configparser.c" break; - case 390: /* server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG */ -#line 956 "util/configparser.y" + case 392: /* server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG */ +#line 958 "util/configparser.y" { OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3782,11 +3791,11 @@ yyreduce: else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3786 "util/configparser.c" +#line 3795 "util/configparser.c" break; - case 391: /* server_tcp_mss: VAR_TCP_MSS STRING_ARG */ -#line 965 "util/configparser.y" + case 393: /* server_tcp_mss: VAR_TCP_MSS STRING_ARG */ +#line 967 "util/configparser.y" { OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3794,11 +3803,11 @@ yyreduce: else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3798 "util/configparser.c" +#line 3807 "util/configparser.c" break; - case 392: /* server_outgoing_tcp_mss: VAR_OUTGOING_TCP_MSS STRING_ARG */ -#line 974 "util/configparser.y" + case 394: /* server_outgoing_tcp_mss: VAR_OUTGOING_TCP_MSS STRING_ARG */ +#line 976 "util/configparser.y" { OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3806,11 +3815,11 @@ yyreduce: else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3810 "util/configparser.c" +#line 3819 "util/configparser.c" break; - case 393: /* server_tcp_idle_timeout: VAR_TCP_IDLE_TIMEOUT STRING_ARG */ -#line 983 "util/configparser.y" + case 395: /* server_tcp_idle_timeout: VAR_TCP_IDLE_TIMEOUT STRING_ARG */ +#line 985 "util/configparser.y" { OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3822,11 +3831,11 @@ yyreduce: else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3826 "util/configparser.c" +#line 3835 "util/configparser.c" break; - case 394: /* server_max_reuse_tcp_queries: VAR_MAX_REUSE_TCP_QUERIES STRING_ARG */ -#line 996 "util/configparser.y" + case 396: /* server_max_reuse_tcp_queries: VAR_MAX_REUSE_TCP_QUERIES STRING_ARG */ +#line 998 "util/configparser.y" { OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3836,11 +3845,11 @@ yyreduce: else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3840 "util/configparser.c" +#line 3849 "util/configparser.c" break; - case 395: /* server_tcp_reuse_timeout: VAR_TCP_REUSE_TIMEOUT STRING_ARG */ -#line 1007 "util/configparser.y" + case 397: /* server_tcp_reuse_timeout: VAR_TCP_REUSE_TIMEOUT STRING_ARG */ +#line 1009 "util/configparser.y" { OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3850,11 +3859,11 @@ yyreduce: else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3854 "util/configparser.c" +#line 3863 "util/configparser.c" break; - case 396: /* server_tcp_auth_query_timeout: VAR_TCP_AUTH_QUERY_TIMEOUT STRING_ARG */ -#line 1018 "util/configparser.y" + case 398: /* server_tcp_auth_query_timeout: VAR_TCP_AUTH_QUERY_TIMEOUT STRING_ARG */ +#line 1020 "util/configparser.y" { OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3864,11 +3873,11 @@ yyreduce: else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3868 "util/configparser.c" +#line 3877 "util/configparser.c" break; - case 397: /* server_tcp_keepalive: VAR_EDNS_TCP_KEEPALIVE STRING_ARG */ -#line 1029 "util/configparser.y" + case 399: /* server_tcp_keepalive: VAR_EDNS_TCP_KEEPALIVE STRING_ARG */ +#line 1031 "util/configparser.y" { OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3876,11 +3885,11 @@ yyreduce: else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3880 "util/configparser.c" +#line 3889 "util/configparser.c" break; - case 398: /* server_tcp_keepalive_timeout: VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG */ -#line 1038 "util/configparser.y" + case 400: /* server_tcp_keepalive_timeout: VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG */ +#line 1040 "util/configparser.y" { OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3892,11 +3901,11 @@ yyreduce: else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3896 "util/configparser.c" +#line 3905 "util/configparser.c" break; - case 399: /* server_sock_queue_timeout: VAR_SOCK_QUEUE_TIMEOUT STRING_ARG */ -#line 1051 "util/configparser.y" + case 401: /* server_sock_queue_timeout: VAR_SOCK_QUEUE_TIMEOUT STRING_ARG */ +#line 1053 "util/configparser.y" { OUTYY(("P(server_sock_queue_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3908,11 +3917,11 @@ yyreduce: else cfg_parser->cfg->sock_queue_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3912 "util/configparser.c" +#line 3921 "util/configparser.c" break; - case 400: /* server_tcp_upstream: VAR_TCP_UPSTREAM STRING_ARG */ -#line 1064 "util/configparser.y" + case 402: /* server_tcp_upstream: VAR_TCP_UPSTREAM STRING_ARG */ +#line 1066 "util/configparser.y" { OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3920,11 +3929,11 @@ yyreduce: else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3924 "util/configparser.c" +#line 3933 "util/configparser.c" break; - case 401: /* server_udp_upstream_without_downstream: VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG */ -#line 1073 "util/configparser.y" + case 403: /* server_udp_upstream_without_downstream: VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG */ +#line 1075 "util/configparser.y" { OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3932,11 +3941,11 @@ yyreduce: else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3936 "util/configparser.c" +#line 3945 "util/configparser.c" break; - case 402: /* server_ssl_upstream: VAR_SSL_UPSTREAM STRING_ARG */ -#line 1082 "util/configparser.y" + case 404: /* server_ssl_upstream: VAR_SSL_UPSTREAM STRING_ARG */ +#line 1084 "util/configparser.y" { OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3944,31 +3953,31 @@ yyreduce: else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3948 "util/configparser.c" +#line 3957 "util/configparser.c" break; - case 403: /* server_ssl_service_key: VAR_SSL_SERVICE_KEY STRING_ARG */ -#line 1091 "util/configparser.y" + case 405: /* server_ssl_service_key: VAR_SSL_SERVICE_KEY STRING_ARG */ +#line 1093 "util/configparser.y" { OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_key); cfg_parser->cfg->ssl_service_key = (yyvsp[0].str); } -#line 3958 "util/configparser.c" +#line 3967 "util/configparser.c" break; - case 404: /* server_ssl_service_pem: VAR_SSL_SERVICE_PEM STRING_ARG */ -#line 1098 "util/configparser.y" + case 406: /* server_ssl_service_pem: VAR_SSL_SERVICE_PEM STRING_ARG */ +#line 1100 "util/configparser.y" { OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_pem); cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str); } -#line 3968 "util/configparser.c" +#line 3977 "util/configparser.c" break; - case 405: /* server_ssl_port: VAR_SSL_PORT STRING_ARG */ -#line 1105 "util/configparser.y" + case 407: /* server_ssl_port: VAR_SSL_PORT STRING_ARG */ +#line 1107 "util/configparser.y" { OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3976,21 +3985,21 @@ yyreduce: else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3980 "util/configparser.c" +#line 3989 "util/configparser.c" break; - case 406: /* server_tls_cert_bundle: VAR_TLS_CERT_BUNDLE STRING_ARG */ -#line 1114 "util/configparser.y" + case 408: /* server_tls_cert_bundle: VAR_TLS_CERT_BUNDLE STRING_ARG */ +#line 1116 "util/configparser.y" { OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_cert_bundle); cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str); } -#line 3990 "util/configparser.c" +#line 3999 "util/configparser.c" break; - case 407: /* server_tls_win_cert: VAR_TLS_WIN_CERT STRING_ARG */ -#line 1121 "util/configparser.y" + case 409: /* server_tls_win_cert: VAR_TLS_WIN_CERT STRING_ARG */ +#line 1123 "util/configparser.y" { OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3998,53 +4007,53 @@ yyreduce: else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4002 "util/configparser.c" +#line 4011 "util/configparser.c" break; - case 408: /* server_tls_additional_port: VAR_TLS_ADDITIONAL_PORT STRING_ARG */ -#line 1130 "util/configparser.y" + case 410: /* server_tls_additional_port: VAR_TLS_ADDITIONAL_PORT STRING_ARG */ +#line 1132 "util/configparser.y" { OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4013 "util/configparser.c" +#line 4022 "util/configparser.c" break; - case 409: /* server_tls_ciphers: VAR_TLS_CIPHERS STRING_ARG */ -#line 1138 "util/configparser.y" + case 411: /* server_tls_ciphers: VAR_TLS_CIPHERS STRING_ARG */ +#line 1140 "util/configparser.y" { OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphers); cfg_parser->cfg->tls_ciphers = (yyvsp[0].str); } -#line 4023 "util/configparser.c" +#line 4032 "util/configparser.c" break; - case 410: /* server_tls_ciphersuites: VAR_TLS_CIPHERSUITES STRING_ARG */ -#line 1145 "util/configparser.y" + case 412: /* server_tls_ciphersuites: VAR_TLS_CIPHERSUITES STRING_ARG */ +#line 1147 "util/configparser.y" { OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphersuites); cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str); } -#line 4033 "util/configparser.c" +#line 4042 "util/configparser.c" break; - case 411: /* server_tls_session_ticket_keys: VAR_TLS_SESSION_TICKET_KEYS STRING_ARG */ -#line 1152 "util/configparser.y" + case 413: /* server_tls_session_ticket_keys: VAR_TLS_SESSION_TICKET_KEYS STRING_ARG */ +#line 1154 "util/configparser.y" { OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4044 "util/configparser.c" +#line 4053 "util/configparser.c" break; - case 412: /* server_tls_use_sni: VAR_TLS_USE_SNI STRING_ARG */ -#line 1160 "util/configparser.y" + case 414: /* server_tls_use_sni: VAR_TLS_USE_SNI STRING_ARG */ +#line 1162 "util/configparser.y" { OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4052,11 +4061,11 @@ yyreduce: else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4056 "util/configparser.c" +#line 4065 "util/configparser.c" break; - case 413: /* server_tls_protocols: VAR_TLS_PROTOCOLS STRING_ARG */ -#line 1169 "util/configparser.y" + case 415: /* server_tls_protocols: VAR_TLS_PROTOCOLS STRING_ARG */ +#line 1171 "util/configparser.y" { OUTYY(("P(server_tls_protocols:%s)\n", (yyvsp[0].str))); if(!cfg_tls_protocols_is_valid((yyvsp[0].str))) @@ -4064,11 +4073,11 @@ yyreduce: free(cfg_parser->cfg->tls_protocols); cfg_parser->cfg->tls_protocols = (yyvsp[0].str); } -#line 4068 "util/configparser.c" +#line 4077 "util/configparser.c" break; - case 414: /* server_https_port: VAR_HTTPS_PORT STRING_ARG */ -#line 1178 "util/configparser.y" + case 416: /* server_https_port: VAR_HTTPS_PORT STRING_ARG */ +#line 1180 "util/configparser.y" { OUTYY(("P(server_https_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4076,11 +4085,11 @@ yyreduce: else cfg_parser->cfg->https_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4080 "util/configparser.c" +#line 4089 "util/configparser.c" break; - case 415: /* server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG */ -#line 1186 "util/configparser.y" + case 417: /* server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG */ +#line 1188 "util/configparser.y" { OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->http_endpoint); @@ -4098,11 +4107,11 @@ yyreduce: cfg_parser->cfg->http_endpoint = (yyvsp[0].str); } } -#line 4102 "util/configparser.c" +#line 4111 "util/configparser.c" break; - case 416: /* server_http_max_streams: VAR_HTTP_MAX_STREAMS STRING_ARG */ -#line 1204 "util/configparser.y" + case 418: /* server_http_max_streams: VAR_HTTP_MAX_STREAMS STRING_ARG */ +#line 1206 "util/configparser.y" { OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4110,11 +4119,11 @@ yyreduce: else cfg_parser->cfg->http_max_streams = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4114 "util/configparser.c" +#line 4123 "util/configparser.c" break; - case 417: /* server_http_query_buffer_size: VAR_HTTP_QUERY_BUFFER_SIZE STRING_ARG */ -#line 1212 "util/configparser.y" + case 419: /* server_http_query_buffer_size: VAR_HTTP_QUERY_BUFFER_SIZE STRING_ARG */ +#line 1214 "util/configparser.y" { OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), @@ -4122,11 +4131,11 @@ yyreduce: yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4126 "util/configparser.c" +#line 4135 "util/configparser.c" break; - case 418: /* server_http_response_buffer_size: VAR_HTTP_RESPONSE_BUFFER_SIZE STRING_ARG */ -#line 1220 "util/configparser.y" + case 420: /* server_http_response_buffer_size: VAR_HTTP_RESPONSE_BUFFER_SIZE STRING_ARG */ +#line 1222 "util/configparser.y" { OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), @@ -4134,11 +4143,11 @@ yyreduce: yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4138 "util/configparser.c" +#line 4147 "util/configparser.c" break; - case 419: /* server_http_nodelay: VAR_HTTP_NODELAY STRING_ARG */ -#line 1228 "util/configparser.y" + case 421: /* server_http_nodelay: VAR_HTTP_NODELAY STRING_ARG */ +#line 1230 "util/configparser.y" { OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4146,11 +4155,11 @@ yyreduce: else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4150 "util/configparser.c" +#line 4159 "util/configparser.c" break; - case 420: /* server_http_notls_downstream: VAR_HTTP_NOTLS_DOWNSTREAM STRING_ARG */ -#line 1236 "util/configparser.y" + case 422: /* server_http_notls_downstream: VAR_HTTP_NOTLS_DOWNSTREAM STRING_ARG */ +#line 1238 "util/configparser.y" { OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4158,11 +4167,11 @@ yyreduce: else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4162 "util/configparser.c" +#line 4171 "util/configparser.c" break; - case 421: /* server_quic_port: VAR_QUIC_PORT STRING_ARG */ -#line 1244 "util/configparser.y" + case 423: /* server_quic_port: VAR_QUIC_PORT STRING_ARG */ +#line 1246 "util/configparser.y" { OUTYY(("P(server_quic_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str),"0")!=0) @@ -4178,22 +4187,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4182 "util/configparser.c" +#line 4191 "util/configparser.c" break; - case 422: /* server_quic_size: VAR_QUIC_SIZE STRING_ARG */ -#line 1260 "util/configparser.y" + case 424: /* server_quic_size: VAR_QUIC_SIZE STRING_ARG */ +#line 1262 "util/configparser.y" { OUTYY(("P(server_quic_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->quic_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4193 "util/configparser.c" +#line 4202 "util/configparser.c" break; - case 423: /* server_use_systemd: VAR_USE_SYSTEMD STRING_ARG */ -#line 1267 "util/configparser.y" + case 425: /* server_use_systemd: VAR_USE_SYSTEMD STRING_ARG */ +#line 1269 "util/configparser.y" { OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4201,11 +4210,11 @@ yyreduce: else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4205 "util/configparser.c" +#line 4214 "util/configparser.c" break; - case 424: /* server_do_daemonize: VAR_DO_DAEMONIZE STRING_ARG */ -#line 1276 "util/configparser.y" + case 426: /* server_do_daemonize: VAR_DO_DAEMONIZE STRING_ARG */ +#line 1278 "util/configparser.y" { OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4213,11 +4222,11 @@ yyreduce: else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4217 "util/configparser.c" +#line 4226 "util/configparser.c" break; - case 425: /* server_use_syslog: VAR_USE_SYSLOG STRING_ARG */ -#line 1285 "util/configparser.y" + case 427: /* server_use_syslog: VAR_USE_SYSLOG STRING_ARG */ +#line 1287 "util/configparser.y" { OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4230,11 +4239,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 4234 "util/configparser.c" +#line 4243 "util/configparser.c" break; - case 426: /* server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG */ -#line 1299 "util/configparser.y" + case 428: /* server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG */ +#line 1301 "util/configparser.y" { OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4242,11 +4251,11 @@ yyreduce: else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4246 "util/configparser.c" +#line 4255 "util/configparser.c" break; - case 427: /* server_log_time_iso: VAR_LOG_TIME_ISO STRING_ARG */ -#line 1308 "util/configparser.y" + case 429: /* server_log_time_iso: VAR_LOG_TIME_ISO STRING_ARG */ +#line 1310 "util/configparser.y" { OUTYY(("P(server_log_time_iso:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4254,11 +4263,11 @@ yyreduce: else cfg_parser->cfg->log_time_iso = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4258 "util/configparser.c" +#line 4267 "util/configparser.c" break; - case 428: /* server_log_queries: VAR_LOG_QUERIES STRING_ARG */ -#line 1317 "util/configparser.y" + case 430: /* server_log_queries: VAR_LOG_QUERIES STRING_ARG */ +#line 1319 "util/configparser.y" { OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4266,11 +4275,11 @@ yyreduce: else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4270 "util/configparser.c" +#line 4279 "util/configparser.c" break; - case 429: /* server_log_replies: VAR_LOG_REPLIES STRING_ARG */ -#line 1326 "util/configparser.y" + case 431: /* server_log_replies: VAR_LOG_REPLIES STRING_ARG */ +#line 1328 "util/configparser.y" { OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4278,11 +4287,11 @@ yyreduce: else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4282 "util/configparser.c" +#line 4291 "util/configparser.c" break; - case 430: /* server_log_tag_queryreply: VAR_LOG_TAG_QUERYREPLY STRING_ARG */ -#line 1335 "util/configparser.y" + case 432: /* server_log_tag_queryreply: VAR_LOG_TAG_QUERYREPLY STRING_ARG */ +#line 1337 "util/configparser.y" { OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4290,11 +4299,11 @@ yyreduce: else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4294 "util/configparser.c" +#line 4303 "util/configparser.c" break; - case 431: /* server_log_servfail: VAR_LOG_SERVFAIL STRING_ARG */ -#line 1344 "util/configparser.y" + case 433: /* server_log_servfail: VAR_LOG_SERVFAIL STRING_ARG */ +#line 1346 "util/configparser.y" { OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4302,11 +4311,11 @@ yyreduce: else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4306 "util/configparser.c" +#line 4315 "util/configparser.c" break; - case 432: /* server_log_destaddr: VAR_LOG_DESTADDR STRING_ARG */ -#line 1353 "util/configparser.y" + case 434: /* server_log_destaddr: VAR_LOG_DESTADDR STRING_ARG */ +#line 1355 "util/configparser.y" { OUTYY(("P(server_log_destaddr:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4314,11 +4323,11 @@ yyreduce: else cfg_parser->cfg->log_destaddr = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4318 "util/configparser.c" +#line 4327 "util/configparser.c" break; - case 433: /* server_log_thread_id: VAR_LOG_THREAD_ID STRING_ARG */ -#line 1362 "util/configparser.y" + case 435: /* server_log_thread_id: VAR_LOG_THREAD_ID STRING_ARG */ +#line 1364 "util/configparser.y" { OUTYY(("P(server_log_thread_id:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4326,11 +4335,11 @@ yyreduce: else cfg_parser->cfg->log_thread_id = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4330 "util/configparser.c" +#line 4339 "util/configparser.c" break; - case 434: /* server_log_local_actions: VAR_LOG_LOCAL_ACTIONS STRING_ARG */ -#line 1371 "util/configparser.y" + case 436: /* server_log_local_actions: VAR_LOG_LOCAL_ACTIONS STRING_ARG */ +#line 1373 "util/configparser.y" { OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4338,31 +4347,31 @@ yyreduce: else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4342 "util/configparser.c" +#line 4351 "util/configparser.c" break; - case 435: /* server_chroot: VAR_CHROOT STRING_ARG */ -#line 1380 "util/configparser.y" + case 437: /* server_chroot: VAR_CHROOT STRING_ARG */ +#line 1382 "util/configparser.y" { OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->chrootdir); cfg_parser->cfg->chrootdir = (yyvsp[0].str); } -#line 4352 "util/configparser.c" +#line 4361 "util/configparser.c" break; - case 436: /* server_username: VAR_USERNAME STRING_ARG */ -#line 1387 "util/configparser.y" + case 438: /* server_username: VAR_USERNAME STRING_ARG */ +#line 1389 "util/configparser.y" { OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->username); cfg_parser->cfg->username = (yyvsp[0].str); } -#line 4362 "util/configparser.c" +#line 4371 "util/configparser.c" break; - case 437: /* server_directory: VAR_DIRECTORY STRING_ARG */ -#line 1394 "util/configparser.y" + case 439: /* server_directory: VAR_DIRECTORY STRING_ARG */ +#line 1396 "util/configparser.y" { OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->directory); @@ -4387,105 +4396,105 @@ yyreduce: } } } -#line 4391 "util/configparser.c" +#line 4400 "util/configparser.c" break; - case 438: /* server_logfile: VAR_LOGFILE STRING_ARG */ -#line 1420 "util/configparser.y" + case 440: /* server_logfile: VAR_LOGFILE STRING_ARG */ +#line 1422 "util/configparser.y" { OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->logfile); cfg_parser->cfg->logfile = (yyvsp[0].str); cfg_parser->cfg->use_syslog = 0; } -#line 4402 "util/configparser.c" +#line 4411 "util/configparser.c" break; - case 439: /* server_pidfile: VAR_PIDFILE STRING_ARG */ -#line 1428 "util/configparser.y" + case 441: /* server_pidfile: VAR_PIDFILE STRING_ARG */ +#line 1430 "util/configparser.y" { OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->pidfile); cfg_parser->cfg->pidfile = (yyvsp[0].str); } -#line 4412 "util/configparser.c" +#line 4421 "util/configparser.c" break; - case 440: /* server_root_hints: VAR_ROOT_HINTS STRING_ARG */ -#line 1435 "util/configparser.y" + case 442: /* server_root_hints: VAR_ROOT_HINTS STRING_ARG */ +#line 1437 "util/configparser.y" { OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4422 "util/configparser.c" +#line 4431 "util/configparser.c" break; - case 441: /* server_dlv_anchor_file: VAR_DLV_ANCHOR_FILE STRING_ARG */ -#line 1442 "util/configparser.y" + case 443: /* server_dlv_anchor_file: VAR_DLV_ANCHOR_FILE STRING_ARG */ +#line 1444 "util/configparser.y" { OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str))); log_warn("option dlv-anchor-file ignored: DLV is decommissioned"); free((yyvsp[0].str)); } -#line 4432 "util/configparser.c" +#line 4441 "util/configparser.c" break; - case 442: /* server_dlv_anchor: VAR_DLV_ANCHOR STRING_ARG */ -#line 1449 "util/configparser.y" + case 444: /* server_dlv_anchor: VAR_DLV_ANCHOR STRING_ARG */ +#line 1451 "util/configparser.y" { OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str))); log_warn("option dlv-anchor ignored: DLV is decommissioned"); free((yyvsp[0].str)); } -#line 4442 "util/configparser.c" +#line 4451 "util/configparser.c" break; - case 443: /* server_auto_trust_anchor_file: VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG */ -#line 1456 "util/configparser.y" + case 445: /* server_auto_trust_anchor_file: VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG */ +#line 1458 "util/configparser.y" { OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> auto_trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4453 "util/configparser.c" +#line 4462 "util/configparser.c" break; - case 444: /* server_trust_anchor_file: VAR_TRUST_ANCHOR_FILE STRING_ARG */ -#line 1464 "util/configparser.y" + case 446: /* server_trust_anchor_file: VAR_TRUST_ANCHOR_FILE STRING_ARG */ +#line 1466 "util/configparser.y" { OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4464 "util/configparser.c" +#line 4473 "util/configparser.c" break; - case 445: /* server_trusted_keys_file: VAR_TRUSTED_KEYS_FILE STRING_ARG */ -#line 1472 "util/configparser.y" + case 447: /* server_trusted_keys_file: VAR_TRUSTED_KEYS_FILE STRING_ARG */ +#line 1474 "util/configparser.y" { OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trusted_keys_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4475 "util/configparser.c" +#line 4484 "util/configparser.c" break; - case 446: /* server_trust_anchor: VAR_TRUST_ANCHOR STRING_ARG */ -#line 1480 "util/configparser.y" + case 448: /* server_trust_anchor: VAR_TRUST_ANCHOR STRING_ARG */ +#line 1482 "util/configparser.y" { OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4485 "util/configparser.c" +#line 4494 "util/configparser.c" break; - case 447: /* server_trust_anchor_signaling: VAR_TRUST_ANCHOR_SIGNALING STRING_ARG */ -#line 1487 "util/configparser.y" + case 449: /* server_trust_anchor_signaling: VAR_TRUST_ANCHOR_SIGNALING STRING_ARG */ +#line 1489 "util/configparser.y" { OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4495,11 +4504,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4499 "util/configparser.c" +#line 4508 "util/configparser.c" break; - case 448: /* server_root_key_sentinel: VAR_ROOT_KEY_SENTINEL STRING_ARG */ -#line 1498 "util/configparser.y" + case 450: /* server_root_key_sentinel: VAR_ROOT_KEY_SENTINEL STRING_ARG */ +#line 1500 "util/configparser.y" { OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4509,21 +4518,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4513 "util/configparser.c" +#line 4522 "util/configparser.c" break; - case 449: /* server_domain_insecure: VAR_DOMAIN_INSECURE STRING_ARG */ -#line 1509 "util/configparser.y" + case 451: /* server_domain_insecure: VAR_DOMAIN_INSECURE STRING_ARG */ +#line 1511 "util/configparser.y" { OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4523 "util/configparser.c" +#line 4532 "util/configparser.c" break; - case 450: /* server_hide_identity: VAR_HIDE_IDENTITY STRING_ARG */ -#line 1516 "util/configparser.y" + case 452: /* server_hide_identity: VAR_HIDE_IDENTITY STRING_ARG */ +#line 1518 "util/configparser.y" { OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4531,11 +4540,11 @@ yyreduce: else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4535 "util/configparser.c" +#line 4544 "util/configparser.c" break; - case 451: /* server_hide_version: VAR_HIDE_VERSION STRING_ARG */ -#line 1525 "util/configparser.y" + case 453: /* server_hide_version: VAR_HIDE_VERSION STRING_ARG */ +#line 1527 "util/configparser.y" { OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4543,11 +4552,11 @@ yyreduce: else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4547 "util/configparser.c" +#line 4556 "util/configparser.c" break; - case 452: /* server_hide_trustanchor: VAR_HIDE_TRUSTANCHOR STRING_ARG */ -#line 1534 "util/configparser.y" + case 454: /* server_hide_trustanchor: VAR_HIDE_TRUSTANCHOR STRING_ARG */ +#line 1536 "util/configparser.y" { OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4555,11 +4564,11 @@ yyreduce: else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4559 "util/configparser.c" +#line 4568 "util/configparser.c" break; - case 453: /* server_hide_http_user_agent: VAR_HIDE_HTTP_USER_AGENT STRING_ARG */ -#line 1543 "util/configparser.y" + case 455: /* server_hide_http_user_agent: VAR_HIDE_HTTP_USER_AGENT STRING_ARG */ +#line 1545 "util/configparser.y" { OUTYY(("P(server_hide_user_agent:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4567,41 +4576,41 @@ yyreduce: else cfg_parser->cfg->hide_http_user_agent = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4571 "util/configparser.c" +#line 4580 "util/configparser.c" break; - case 454: /* server_identity: VAR_IDENTITY STRING_ARG */ -#line 1552 "util/configparser.y" + case 456: /* server_identity: VAR_IDENTITY STRING_ARG */ +#line 1554 "util/configparser.y" { OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->identity); cfg_parser->cfg->identity = (yyvsp[0].str); } -#line 4581 "util/configparser.c" +#line 4590 "util/configparser.c" break; - case 455: /* server_version: VAR_VERSION STRING_ARG */ -#line 1559 "util/configparser.y" + case 457: /* server_version: VAR_VERSION STRING_ARG */ +#line 1561 "util/configparser.y" { OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->version); cfg_parser->cfg->version = (yyvsp[0].str); } -#line 4591 "util/configparser.c" +#line 4600 "util/configparser.c" break; - case 456: /* server_http_user_agent: VAR_HTTP_USER_AGENT STRING_ARG */ -#line 1566 "util/configparser.y" + case 458: /* server_http_user_agent: VAR_HTTP_USER_AGENT STRING_ARG */ +#line 1568 "util/configparser.y" { OUTYY(("P(server_http_user_agent:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->http_user_agent); cfg_parser->cfg->http_user_agent = (yyvsp[0].str); } -#line 4601 "util/configparser.c" +#line 4610 "util/configparser.c" break; - case 457: /* server_nsid: VAR_NSID STRING_ARG */ -#line 1573 "util/configparser.y" + case 459: /* server_nsid: VAR_NSID STRING_ARG */ +#line 1575 "util/configparser.y" { OUTYY(("P(server_nsid:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->nsid_cfg_str); @@ -4616,33 +4625,33 @@ yyreduce: yyerror("the NSID must be either a hex string or an " "ascii character string prepended with ascii_."); } -#line 4620 "util/configparser.c" +#line 4629 "util/configparser.c" break; - case 458: /* server_so_rcvbuf: VAR_SO_RCVBUF STRING_ARG */ -#line 1589 "util/configparser.y" + case 460: /* server_so_rcvbuf: VAR_SO_RCVBUF STRING_ARG */ +#line 1591 "util/configparser.y" { OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf)) yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 4631 "util/configparser.c" +#line 4640 "util/configparser.c" break; - case 459: /* server_so_sndbuf: VAR_SO_SNDBUF STRING_ARG */ -#line 1597 "util/configparser.y" + case 461: /* server_so_sndbuf: VAR_SO_SNDBUF STRING_ARG */ +#line 1599 "util/configparser.y" { OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf)) yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 4642 "util/configparser.c" +#line 4651 "util/configparser.c" break; - case 460: /* server_so_reuseport: VAR_SO_REUSEPORT STRING_ARG */ -#line 1605 "util/configparser.y" + case 462: /* server_so_reuseport: VAR_SO_REUSEPORT STRING_ARG */ +#line 1607 "util/configparser.y" { OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4651,11 +4660,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4655 "util/configparser.c" +#line 4664 "util/configparser.c" break; - case 461: /* server_ip_transparent: VAR_IP_TRANSPARENT STRING_ARG */ -#line 1615 "util/configparser.y" + case 463: /* server_ip_transparent: VAR_IP_TRANSPARENT STRING_ARG */ +#line 1617 "util/configparser.y" { OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4664,11 +4673,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4668 "util/configparser.c" +#line 4677 "util/configparser.c" break; - case 462: /* server_ip_freebind: VAR_IP_FREEBIND STRING_ARG */ -#line 1625 "util/configparser.y" + case 464: /* server_ip_freebind: VAR_IP_FREEBIND STRING_ARG */ +#line 1627 "util/configparser.y" { OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4677,11 +4686,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4681 "util/configparser.c" +#line 4690 "util/configparser.c" break; - case 463: /* server_ip_dscp: VAR_IP_DSCP STRING_ARG */ -#line 1635 "util/configparser.y" + case 465: /* server_ip_dscp: VAR_IP_DSCP STRING_ARG */ +#line 1637 "util/configparser.y" { OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4694,22 +4703,22 @@ yyreduce: cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4698 "util/configparser.c" +#line 4707 "util/configparser.c" break; - case 464: /* server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG */ -#line 1649 "util/configparser.y" + case 466: /* server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG */ +#line 1651 "util/configparser.y" { OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4709 "util/configparser.c" +#line 4718 "util/configparser.c" break; - case 465: /* server_edns_buffer_size: VAR_EDNS_BUFFER_SIZE STRING_ARG */ -#line 1657 "util/configparser.y" + case 467: /* server_edns_buffer_size: VAR_EDNS_BUFFER_SIZE STRING_ARG */ +#line 1659 "util/configparser.y" { OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4721,11 +4730,11 @@ yyreduce: else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4725 "util/configparser.c" +#line 4734 "util/configparser.c" break; - case 466: /* server_msg_buffer_size: VAR_MSG_BUFFER_SIZE STRING_ARG */ -#line 1670 "util/configparser.y" + case 468: /* server_msg_buffer_size: VAR_MSG_BUFFER_SIZE STRING_ARG */ +#line 1672 "util/configparser.y" { OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4735,22 +4744,22 @@ yyreduce: else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4739 "util/configparser.c" +#line 4748 "util/configparser.c" break; - case 467: /* server_msg_cache_size: VAR_MSG_CACHE_SIZE STRING_ARG */ -#line 1681 "util/configparser.y" + case 469: /* server_msg_cache_size: VAR_MSG_CACHE_SIZE STRING_ARG */ +#line 1683 "util/configparser.y" { OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4750 "util/configparser.c" +#line 4759 "util/configparser.c" break; - case 468: /* server_msg_cache_slabs: VAR_MSG_CACHE_SLABS STRING_ARG */ -#line 1689 "util/configparser.y" + case 470: /* server_msg_cache_slabs: VAR_MSG_CACHE_SLABS STRING_ARG */ +#line 1691 "util/configparser.y" { OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -4762,11 +4771,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4766 "util/configparser.c" +#line 4775 "util/configparser.c" break; - case 469: /* server_num_queries_per_thread: VAR_NUM_QUERIES_PER_THREAD STRING_ARG */ -#line 1702 "util/configparser.y" + case 471: /* server_num_queries_per_thread: VAR_NUM_QUERIES_PER_THREAD STRING_ARG */ +#line 1704 "util/configparser.y" { OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4774,11 +4783,11 @@ yyreduce: else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4778 "util/configparser.c" +#line 4787 "util/configparser.c" break; - case 470: /* server_jostle_timeout: VAR_JOSTLE_TIMEOUT STRING_ARG */ -#line 1711 "util/configparser.y" + case 472: /* server_jostle_timeout: VAR_JOSTLE_TIMEOUT STRING_ARG */ +#line 1713 "util/configparser.y" { OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4786,11 +4795,11 @@ yyreduce: else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4790 "util/configparser.c" +#line 4799 "util/configparser.c" break; - case 471: /* server_delay_close: VAR_DELAY_CLOSE STRING_ARG */ -#line 1720 "util/configparser.y" + case 473: /* server_delay_close: VAR_DELAY_CLOSE STRING_ARG */ +#line 1722 "util/configparser.y" { OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4798,11 +4807,11 @@ yyreduce: else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4802 "util/configparser.c" +#line 4811 "util/configparser.c" break; - case 472: /* server_udp_connect: VAR_UDP_CONNECT STRING_ARG */ -#line 1729 "util/configparser.y" + case 474: /* server_udp_connect: VAR_UDP_CONNECT STRING_ARG */ +#line 1731 "util/configparser.y" { OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4810,11 +4819,11 @@ yyreduce: else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4814 "util/configparser.c" +#line 4823 "util/configparser.c" break; - case 473: /* server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG */ -#line 1738 "util/configparser.y" + case 475: /* server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG */ +#line 1740 "util/configparser.y" { OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4823,11 +4832,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4827 "util/configparser.c" +#line 4836 "util/configparser.c" break; - case 474: /* server_insecure_lan_zones: VAR_INSECURE_LAN_ZONES STRING_ARG */ -#line 1748 "util/configparser.y" + case 476: /* server_insecure_lan_zones: VAR_INSECURE_LAN_ZONES STRING_ARG */ +#line 1750 "util/configparser.y" { OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4836,22 +4845,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4840 "util/configparser.c" +#line 4849 "util/configparser.c" break; - case 475: /* server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG */ -#line 1758 "util/configparser.y" + case 477: /* server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG */ +#line 1760 "util/configparser.y" { OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 4851 "util/configparser.c" +#line 4860 "util/configparser.c" break; - case 476: /* server_rrset_cache_slabs: VAR_RRSET_CACHE_SLABS STRING_ARG */ -#line 1766 "util/configparser.y" + case 478: /* server_rrset_cache_slabs: VAR_RRSET_CACHE_SLABS STRING_ARG */ +#line 1768 "util/configparser.y" { OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -4863,11 +4872,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4867 "util/configparser.c" +#line 4876 "util/configparser.c" break; - case 477: /* server_infra_host_ttl: VAR_INFRA_HOST_TTL STRING_ARG */ -#line 1779 "util/configparser.y" + case 479: /* server_infra_host_ttl: VAR_INFRA_HOST_TTL STRING_ARG */ +#line 1781 "util/configparser.y" { OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4875,22 +4884,22 @@ yyreduce: else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4879 "util/configparser.c" +#line 4888 "util/configparser.c" break; - case 478: /* server_infra_lame_ttl: VAR_INFRA_LAME_TTL STRING_ARG */ -#line 1788 "util/configparser.y" + case 480: /* server_infra_lame_ttl: VAR_INFRA_LAME_TTL STRING_ARG */ +#line 1790 "util/configparser.y" { OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option " "removed, use infra-host-ttl)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4890 "util/configparser.c" +#line 4899 "util/configparser.c" break; - case 479: /* server_infra_cache_numhosts: VAR_INFRA_CACHE_NUMHOSTS STRING_ARG */ -#line 1796 "util/configparser.y" + case 481: /* server_infra_cache_numhosts: VAR_INFRA_CACHE_NUMHOSTS STRING_ARG */ +#line 1798 "util/configparser.y" { OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4898,22 +4907,22 @@ yyreduce: else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4902 "util/configparser.c" +#line 4911 "util/configparser.c" break; - case 480: /* server_infra_cache_lame_size: VAR_INFRA_CACHE_LAME_SIZE STRING_ARG */ -#line 1805 "util/configparser.y" + case 482: /* server_infra_cache_lame_size: VAR_INFRA_CACHE_LAME_SIZE STRING_ARG */ +#line 1807 "util/configparser.y" { OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s " "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4913 "util/configparser.c" +#line 4922 "util/configparser.c" break; - case 481: /* server_infra_cache_slabs: VAR_INFRA_CACHE_SLABS STRING_ARG */ -#line 1813 "util/configparser.y" + case 483: /* server_infra_cache_slabs: VAR_INFRA_CACHE_SLABS STRING_ARG */ +#line 1815 "util/configparser.y" { OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -4925,11 +4934,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4929 "util/configparser.c" +#line 4938 "util/configparser.c" break; - case 482: /* server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG */ -#line 1826 "util/configparser.y" + case 484: /* server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG */ +#line 1828 "util/configparser.y" { OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4937,11 +4946,11 @@ yyreduce: else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4941 "util/configparser.c" +#line 4950 "util/configparser.c" break; - case 483: /* server_infra_cache_max_rtt: VAR_INFRA_CACHE_MAX_RTT STRING_ARG */ -#line 1835 "util/configparser.y" + case 485: /* server_infra_cache_max_rtt: VAR_INFRA_CACHE_MAX_RTT STRING_ARG */ +#line 1837 "util/configparser.y" { OUTYY(("P(server_infra_cache_max_rtt:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4949,11 +4958,11 @@ yyreduce: else cfg_parser->cfg->infra_cache_max_rtt = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4953 "util/configparser.c" +#line 4962 "util/configparser.c" break; - case 484: /* server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG */ -#line 1844 "util/configparser.y" + case 486: /* server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG */ +#line 1846 "util/configparser.y" { OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4962,21 +4971,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4966 "util/configparser.c" +#line 4975 "util/configparser.c" break; - case 485: /* server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG */ -#line 1854 "util/configparser.y" + case 487: /* server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG */ +#line 1856 "util/configparser.y" { OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->target_fetch_policy); cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str); } -#line 4976 "util/configparser.c" +#line 4985 "util/configparser.c" break; - case 486: /* server_harden_short_bufsize: VAR_HARDEN_SHORT_BUFSIZE STRING_ARG */ -#line 1861 "util/configparser.y" + case 488: /* server_harden_short_bufsize: VAR_HARDEN_SHORT_BUFSIZE STRING_ARG */ +#line 1863 "util/configparser.y" { OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4985,11 +4994,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4989 "util/configparser.c" +#line 4998 "util/configparser.c" break; - case 487: /* server_harden_large_queries: VAR_HARDEN_LARGE_QUERIES STRING_ARG */ -#line 1871 "util/configparser.y" + case 489: /* server_harden_large_queries: VAR_HARDEN_LARGE_QUERIES STRING_ARG */ +#line 1873 "util/configparser.y" { OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4998,11 +5007,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5002 "util/configparser.c" +#line 5011 "util/configparser.c" break; - case 488: /* server_harden_glue: VAR_HARDEN_GLUE STRING_ARG */ -#line 1881 "util/configparser.y" + case 490: /* server_harden_glue: VAR_HARDEN_GLUE STRING_ARG */ +#line 1883 "util/configparser.y" { OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5011,11 +5020,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5015 "util/configparser.c" +#line 5024 "util/configparser.c" break; - case 489: /* server_harden_unverified_glue: VAR_HARDEN_UNVERIFIED_GLUE STRING_ARG */ -#line 1891 "util/configparser.y" + case 491: /* server_harden_unverified_glue: VAR_HARDEN_UNVERIFIED_GLUE STRING_ARG */ +#line 1893 "util/configparser.y" { OUTYY(("P(server_harden_unverified_glue:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5024,11 +5033,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5028 "util/configparser.c" +#line 5037 "util/configparser.c" break; - case 490: /* server_harden_dnssec_stripped: VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG */ -#line 1901 "util/configparser.y" + case 492: /* server_harden_dnssec_stripped: VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG */ +#line 1903 "util/configparser.y" { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5037,11 +5046,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5041 "util/configparser.c" +#line 5050 "util/configparser.c" break; - case 491: /* server_harden_below_nxdomain: VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG */ -#line 1911 "util/configparser.y" + case 493: /* server_harden_below_nxdomain: VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG */ +#line 1913 "util/configparser.y" { OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5050,11 +5059,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5054 "util/configparser.c" +#line 5063 "util/configparser.c" break; - case 492: /* server_harden_referral_path: VAR_HARDEN_REFERRAL_PATH STRING_ARG */ -#line 1921 "util/configparser.y" + case 494: /* server_harden_referral_path: VAR_HARDEN_REFERRAL_PATH STRING_ARG */ +#line 1923 "util/configparser.y" { OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5063,11 +5072,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5067 "util/configparser.c" +#line 5076 "util/configparser.c" break; - case 493: /* server_harden_algo_downgrade: VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG */ -#line 1931 "util/configparser.y" + case 495: /* server_harden_algo_downgrade: VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG */ +#line 1933 "util/configparser.y" { OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5076,11 +5085,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5080 "util/configparser.c" +#line 5089 "util/configparser.c" break; - case 494: /* server_harden_unknown_additional: VAR_HARDEN_UNKNOWN_ADDITIONAL STRING_ARG */ -#line 1941 "util/configparser.y" + case 496: /* server_harden_unknown_additional: VAR_HARDEN_UNKNOWN_ADDITIONAL STRING_ARG */ +#line 1943 "util/configparser.y" { OUTYY(("P(server_harden_unknown_additional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5089,11 +5098,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5093 "util/configparser.c" +#line 5102 "util/configparser.c" break; - case 495: /* server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG */ -#line 1951 "util/configparser.y" + case 497: /* server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG */ +#line 1953 "util/configparser.y" { OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5102,41 +5111,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5106 "util/configparser.c" +#line 5115 "util/configparser.c" break; - case 496: /* server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG */ -#line 1961 "util/configparser.y" + case 498: /* server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG */ +#line 1963 "util/configparser.y" { OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5116 "util/configparser.c" +#line 5125 "util/configparser.c" break; - case 497: /* server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG */ -#line 1968 "util/configparser.y" + case 499: /* server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG */ +#line 1970 "util/configparser.y" { OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5126 "util/configparser.c" +#line 5135 "util/configparser.c" break; - case 498: /* server_private_domain: VAR_PRIVATE_DOMAIN STRING_ARG */ -#line 1975 "util/configparser.y" + case 500: /* server_private_domain: VAR_PRIVATE_DOMAIN STRING_ARG */ +#line 1977 "util/configparser.y" { OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5136 "util/configparser.c" +#line 5145 "util/configparser.c" break; - case 499: /* server_prefetch: VAR_PREFETCH STRING_ARG */ -#line 1982 "util/configparser.y" + case 501: /* server_prefetch: VAR_PREFETCH STRING_ARG */ +#line 1984 "util/configparser.y" { OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5144,11 +5153,11 @@ yyreduce: else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5148 "util/configparser.c" +#line 5157 "util/configparser.c" break; - case 500: /* server_prefetch_key: VAR_PREFETCH_KEY STRING_ARG */ -#line 1991 "util/configparser.y" + case 502: /* server_prefetch_key: VAR_PREFETCH_KEY STRING_ARG */ +#line 1993 "util/configparser.y" { OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5156,11 +5165,11 @@ yyreduce: else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5160 "util/configparser.c" +#line 5169 "util/configparser.c" break; - case 501: /* server_deny_any: VAR_DENY_ANY STRING_ARG */ -#line 2000 "util/configparser.y" + case 503: /* server_deny_any: VAR_DENY_ANY STRING_ARG */ +#line 2002 "util/configparser.y" { OUTYY(("P(server_deny_any:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5168,11 +5177,11 @@ yyreduce: else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5172 "util/configparser.c" +#line 5181 "util/configparser.c" break; - case 502: /* server_unwanted_reply_threshold: VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG */ -#line 2009 "util/configparser.y" + case 504: /* server_unwanted_reply_threshold: VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG */ +#line 2011 "util/configparser.y" { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5180,21 +5189,21 @@ yyreduce: else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5184 "util/configparser.c" +#line 5193 "util/configparser.c" break; - case 503: /* server_do_not_query_address: VAR_DO_NOT_QUERY_ADDRESS STRING_ARG */ -#line 2018 "util/configparser.y" + case 505: /* server_do_not_query_address: VAR_DO_NOT_QUERY_ADDRESS STRING_ARG */ +#line 2020 "util/configparser.y" { OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5194 "util/configparser.c" +#line 5203 "util/configparser.c" break; - case 504: /* server_do_not_query_localhost: VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG */ -#line 2025 "util/configparser.y" + case 506: /* server_do_not_query_localhost: VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG */ +#line 2027 "util/configparser.y" { OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5203,22 +5212,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5207 "util/configparser.c" +#line 5216 "util/configparser.c" break; - case 505: /* server_access_control: VAR_ACCESS_CONTROL STRING_ARG STRING_ARG */ -#line 2035 "util/configparser.y" + case 507: /* server_access_control: VAR_ACCESS_CONTROL STRING_ARG STRING_ARG */ +#line 2037 "util/configparser.y" { OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_acl_action((yyvsp[0].str)); if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 5218 "util/configparser.c" +#line 5227 "util/configparser.c" break; - case 506: /* server_interface_action: VAR_INTERFACE_ACTION STRING_ARG STRING_ARG */ -#line 2043 "util/configparser.y" + case 508: /* server_interface_action: VAR_INTERFACE_ACTION STRING_ARG STRING_ARG */ +#line 2045 "util/configparser.y" { OUTYY(("P(server_interface_action:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_acl_action((yyvsp[0].str)); @@ -5226,21 +5235,21 @@ yyreduce: &cfg_parser->cfg->interface_actions, (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 5230 "util/configparser.c" +#line 5239 "util/configparser.c" break; - case 507: /* server_module_conf: VAR_MODULE_CONF STRING_ARG */ -#line 2052 "util/configparser.y" + case 509: /* server_module_conf: VAR_MODULE_CONF STRING_ARG */ +#line 2054 "util/configparser.y" { OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->module_conf); cfg_parser->cfg->module_conf = (yyvsp[0].str); } -#line 5240 "util/configparser.c" +#line 5249 "util/configparser.c" break; - case 508: /* server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG */ -#line 2059 "util/configparser.y" + case 510: /* server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG */ +#line 2061 "util/configparser.y" { OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -5257,11 +5266,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5261 "util/configparser.c" +#line 5270 "util/configparser.c" break; - case 509: /* server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG */ -#line 2077 "util/configparser.y" + case 511: /* server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG */ +#line 2079 "util/configparser.y" { OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -5273,11 +5282,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5277 "util/configparser.c" +#line 5286 "util/configparser.c" break; - case 510: /* server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG */ -#line 2090 "util/configparser.y" + case 512: /* server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG */ +#line 2092 "util/configparser.y" { OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -5289,11 +5298,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5293 "util/configparser.c" +#line 5302 "util/configparser.c" break; - case 511: /* server_val_max_restart: VAR_VAL_MAX_RESTART STRING_ARG */ -#line 2103 "util/configparser.y" + case 513: /* server_val_max_restart: VAR_VAL_MAX_RESTART STRING_ARG */ +#line 2105 "util/configparser.y" { OUTYY(("P(server_val_max_restart:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -5305,11 +5314,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5309 "util/configparser.c" +#line 5318 "util/configparser.c" break; - case 512: /* server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG */ -#line 2116 "util/configparser.y" + case 514: /* server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG */ +#line 2118 "util/configparser.y" { OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5317,11 +5326,11 @@ yyreduce: else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5321 "util/configparser.c" +#line 5330 "util/configparser.c" break; - case 513: /* server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG */ -#line 2125 "util/configparser.y" + case 515: /* server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG */ +#line 2127 "util/configparser.y" { OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5329,11 +5338,11 @@ yyreduce: else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5333 "util/configparser.c" +#line 5342 "util/configparser.c" break; - case 514: /* server_cache_min_negative_ttl: VAR_CACHE_MIN_NEGATIVE_TTL STRING_ARG */ -#line 2134 "util/configparser.y" + case 516: /* server_cache_min_negative_ttl: VAR_CACHE_MIN_NEGATIVE_TTL STRING_ARG */ +#line 2136 "util/configparser.y" { OUTYY(("P(server_cache_min_negative_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5341,11 +5350,11 @@ yyreduce: else cfg_parser->cfg->min_negative_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5345 "util/configparser.c" +#line 5354 "util/configparser.c" break; - case 515: /* server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG */ -#line 2143 "util/configparser.y" + case 517: /* server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG */ +#line 2145 "util/configparser.y" { OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5353,11 +5362,11 @@ yyreduce: else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5357 "util/configparser.c" +#line 5366 "util/configparser.c" break; - case 516: /* server_bogus_ttl: VAR_BOGUS_TTL STRING_ARG */ -#line 2152 "util/configparser.y" + case 518: /* server_bogus_ttl: VAR_BOGUS_TTL STRING_ARG */ +#line 2154 "util/configparser.y" { OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5365,11 +5374,11 @@ yyreduce: else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5369 "util/configparser.c" +#line 5378 "util/configparser.c" break; - case 517: /* server_val_clean_additional: VAR_VAL_CLEAN_ADDITIONAL STRING_ARG */ -#line 2161 "util/configparser.y" + case 519: /* server_val_clean_additional: VAR_VAL_CLEAN_ADDITIONAL STRING_ARG */ +#line 2163 "util/configparser.y" { OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5378,11 +5387,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5382 "util/configparser.c" +#line 5391 "util/configparser.c" break; - case 518: /* server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG */ -#line 2171 "util/configparser.y" + case 520: /* server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG */ +#line 2173 "util/configparser.y" { OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5391,11 +5400,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5395 "util/configparser.c" +#line 5404 "util/configparser.c" break; - case 519: /* server_aggressive_nsec: VAR_AGGRESSIVE_NSEC STRING_ARG */ -#line 2181 "util/configparser.y" + case 521: /* server_aggressive_nsec: VAR_AGGRESSIVE_NSEC STRING_ARG */ +#line 2183 "util/configparser.y" { OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5405,11 +5414,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5409 "util/configparser.c" +#line 5418 "util/configparser.c" break; - case 520: /* server_ignore_cd_flag: VAR_IGNORE_CD_FLAG STRING_ARG */ -#line 2192 "util/configparser.y" + case 522: /* server_ignore_cd_flag: VAR_IGNORE_CD_FLAG STRING_ARG */ +#line 2194 "util/configparser.y" { OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5417,11 +5426,11 @@ yyreduce: else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5421 "util/configparser.c" +#line 5430 "util/configparser.c" break; - case 521: /* server_disable_edns_do: VAR_DISABLE_EDNS_DO STRING_ARG */ -#line 2201 "util/configparser.y" + case 523: /* server_disable_edns_do: VAR_DISABLE_EDNS_DO STRING_ARG */ +#line 2203 "util/configparser.y" { OUTYY(("P(server_disable_edns_do:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5429,11 +5438,11 @@ yyreduce: else cfg_parser->cfg->disable_edns_do = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5433 "util/configparser.c" +#line 5442 "util/configparser.c" break; - case 522: /* server_serve_expired: VAR_SERVE_EXPIRED STRING_ARG */ -#line 2210 "util/configparser.y" + case 524: /* server_serve_expired: VAR_SERVE_EXPIRED STRING_ARG */ +#line 2212 "util/configparser.y" { OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5441,11 +5450,11 @@ yyreduce: else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5445 "util/configparser.c" +#line 5454 "util/configparser.c" break; - case 523: /* server_serve_expired_ttl: VAR_SERVE_EXPIRED_TTL STRING_ARG */ -#line 2219 "util/configparser.y" + case 525: /* server_serve_expired_ttl: VAR_SERVE_EXPIRED_TTL STRING_ARG */ +#line 2221 "util/configparser.y" { OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5453,11 +5462,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5457 "util/configparser.c" +#line 5466 "util/configparser.c" break; - case 524: /* server_serve_expired_ttl_reset: VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG */ -#line 2228 "util/configparser.y" + case 526: /* server_serve_expired_ttl_reset: VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG */ +#line 2230 "util/configparser.y" { OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5465,11 +5474,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5469 "util/configparser.c" +#line 5478 "util/configparser.c" break; - case 525: /* server_serve_expired_reply_ttl: VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG */ -#line 2237 "util/configparser.y" + case 527: /* server_serve_expired_reply_ttl: VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG */ +#line 2239 "util/configparser.y" { OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5477,11 +5486,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5481 "util/configparser.c" +#line 5490 "util/configparser.c" break; - case 526: /* server_serve_expired_client_timeout: VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG */ -#line 2246 "util/configparser.y" + case 528: /* server_serve_expired_client_timeout: VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG */ +#line 2248 "util/configparser.y" { OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5489,11 +5498,11 @@ yyreduce: else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5493 "util/configparser.c" +#line 5502 "util/configparser.c" break; - case 527: /* server_ede_serve_expired: VAR_EDE_SERVE_EXPIRED STRING_ARG */ -#line 2255 "util/configparser.y" + case 529: /* server_ede_serve_expired: VAR_EDE_SERVE_EXPIRED STRING_ARG */ +#line 2257 "util/configparser.y" { OUTYY(("P(server_ede_serve_expired:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5501,11 +5510,11 @@ yyreduce: else cfg_parser->cfg->ede_serve_expired = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5505 "util/configparser.c" +#line 5514 "util/configparser.c" break; - case 528: /* server_serve_original_ttl: VAR_SERVE_ORIGINAL_TTL STRING_ARG */ -#line 2264 "util/configparser.y" + case 530: /* server_serve_original_ttl: VAR_SERVE_ORIGINAL_TTL STRING_ARG */ +#line 2266 "util/configparser.y" { OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5513,11 +5522,11 @@ yyreduce: else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5517 "util/configparser.c" +#line 5526 "util/configparser.c" break; - case 529: /* server_fake_dsa: VAR_FAKE_DSA STRING_ARG */ -#line 2273 "util/configparser.y" + case 531: /* server_fake_dsa: VAR_FAKE_DSA STRING_ARG */ +#line 2275 "util/configparser.y" { OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5529,11 +5538,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 5533 "util/configparser.c" +#line 5542 "util/configparser.c" break; - case 530: /* server_fake_sha1: VAR_FAKE_SHA1 STRING_ARG */ -#line 2286 "util/configparser.y" + case 532: /* server_fake_sha1: VAR_FAKE_SHA1 STRING_ARG */ +#line 2288 "util/configparser.y" { OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5545,11 +5554,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 5549 "util/configparser.c" +#line 5558 "util/configparser.c" break; - case 531: /* server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG */ -#line 2299 "util/configparser.y" + case 533: /* server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG */ +#line 2301 "util/configparser.y" { OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5557,21 +5566,21 @@ yyreduce: else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5561 "util/configparser.c" +#line 5570 "util/configparser.c" break; - case 532: /* server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG */ -#line 2308 "util/configparser.y" + case 534: /* server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG */ +#line 2310 "util/configparser.y" { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->val_nsec3_key_iterations); cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); } -#line 5571 "util/configparser.c" +#line 5580 "util/configparser.c" break; - case 533: /* server_zonemd_permissive_mode: VAR_ZONEMD_PERMISSIVE_MODE STRING_ARG */ -#line 2315 "util/configparser.y" + case 535: /* server_zonemd_permissive_mode: VAR_ZONEMD_PERMISSIVE_MODE STRING_ARG */ +#line 2317 "util/configparser.y" { OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5579,11 +5588,11 @@ yyreduce: else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5583 "util/configparser.c" +#line 5592 "util/configparser.c" break; - case 534: /* server_add_holddown: VAR_ADD_HOLDDOWN STRING_ARG */ -#line 2324 "util/configparser.y" + case 536: /* server_add_holddown: VAR_ADD_HOLDDOWN STRING_ARG */ +#line 2326 "util/configparser.y" { OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5591,11 +5600,11 @@ yyreduce: else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5595 "util/configparser.c" +#line 5604 "util/configparser.c" break; - case 535: /* server_del_holddown: VAR_DEL_HOLDDOWN STRING_ARG */ -#line 2333 "util/configparser.y" + case 537: /* server_del_holddown: VAR_DEL_HOLDDOWN STRING_ARG */ +#line 2335 "util/configparser.y" { OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5603,11 +5612,11 @@ yyreduce: else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5607 "util/configparser.c" +#line 5616 "util/configparser.c" break; - case 536: /* server_keep_missing: VAR_KEEP_MISSING STRING_ARG */ -#line 2342 "util/configparser.y" + case 538: /* server_keep_missing: VAR_KEEP_MISSING STRING_ARG */ +#line 2344 "util/configparser.y" { OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -5615,11 +5624,11 @@ yyreduce: else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5619 "util/configparser.c" +#line 5628 "util/configparser.c" break; - case 537: /* server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG */ -#line 2351 "util/configparser.y" + case 539: /* server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG */ +#line 2353 "util/configparser.y" { OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5628,22 +5637,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5632 "util/configparser.c" +#line 5641 "util/configparser.c" break; - case 538: /* server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG */ -#line 2361 "util/configparser.y" + case 540: /* server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG */ +#line 2363 "util/configparser.y" { OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 5643 "util/configparser.c" +#line 5652 "util/configparser.c" break; - case 539: /* server_key_cache_slabs: VAR_KEY_CACHE_SLABS STRING_ARG */ -#line 2369 "util/configparser.y" + case 541: /* server_key_cache_slabs: VAR_KEY_CACHE_SLABS STRING_ARG */ +#line 2371 "util/configparser.y" { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -5655,22 +5664,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5659 "util/configparser.c" +#line 5668 "util/configparser.c" break; - case 540: /* server_neg_cache_size: VAR_NEG_CACHE_SIZE STRING_ARG */ -#line 2382 "util/configparser.y" + case 542: /* server_neg_cache_size: VAR_NEG_CACHE_SIZE STRING_ARG */ +#line 2384 "util/configparser.y" { OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 5670 "util/configparser.c" +#line 5679 "util/configparser.c" break; - case 541: /* server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG */ -#line 2390 "util/configparser.y" + case 543: /* server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG */ +#line 2392 "util/configparser.y" { OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -5733,21 +5742,21 @@ yyreduce: yyerror("out of memory"); } } -#line 5737 "util/configparser.c" +#line 5746 "util/configparser.c" break; - case 542: /* server_local_data: VAR_LOCAL_DATA STRING_ARG */ -#line 2454 "util/configparser.y" + case 544: /* server_local_data: VAR_LOCAL_DATA STRING_ARG */ +#line 2456 "util/configparser.y" { OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5747 "util/configparser.c" +#line 5756 "util/configparser.c" break; - case 543: /* server_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG */ -#line 2461 "util/configparser.y" + case 545: /* server_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG */ +#line 2463 "util/configparser.y" { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -5761,11 +5770,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 5765 "util/configparser.c" +#line 5774 "util/configparser.c" break; - case 544: /* server_minimal_responses: VAR_MINIMAL_RESPONSES STRING_ARG */ -#line 2476 "util/configparser.y" + case 546: /* server_minimal_responses: VAR_MINIMAL_RESPONSES STRING_ARG */ +#line 2478 "util/configparser.y" { OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5774,11 +5783,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5778 "util/configparser.c" +#line 5787 "util/configparser.c" break; - case 545: /* server_rrset_roundrobin: VAR_RRSET_ROUNDROBIN STRING_ARG */ -#line 2486 "util/configparser.y" + case 547: /* server_rrset_roundrobin: VAR_RRSET_ROUNDROBIN STRING_ARG */ +#line 2488 "util/configparser.y" { OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5787,51 +5796,51 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5791 "util/configparser.c" +#line 5800 "util/configparser.c" break; - case 546: /* server_unknown_server_time_limit: VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG */ -#line 2496 "util/configparser.y" + case 548: /* server_unknown_server_time_limit: VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG */ +#line 2498 "util/configparser.y" { OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5801 "util/configparser.c" +#line 5810 "util/configparser.c" break; - case 547: /* server_discard_timeout: VAR_DISCARD_TIMEOUT STRING_ARG */ -#line 2503 "util/configparser.y" + case 549: /* server_discard_timeout: VAR_DISCARD_TIMEOUT STRING_ARG */ +#line 2505 "util/configparser.y" { OUTYY(("P(server_discard_timeout:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->discard_timeout = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5811 "util/configparser.c" +#line 5820 "util/configparser.c" break; - case 548: /* server_wait_limit: VAR_WAIT_LIMIT STRING_ARG */ -#line 2510 "util/configparser.y" + case 550: /* server_wait_limit: VAR_WAIT_LIMIT STRING_ARG */ +#line 2512 "util/configparser.y" { OUTYY(("P(server_wait_limit:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->wait_limit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5821 "util/configparser.c" +#line 5830 "util/configparser.c" break; - case 549: /* server_wait_limit_cookie: VAR_WAIT_LIMIT_COOKIE STRING_ARG */ -#line 2517 "util/configparser.y" + case 551: /* server_wait_limit_cookie: VAR_WAIT_LIMIT_COOKIE STRING_ARG */ +#line 2519 "util/configparser.y" { OUTYY(("P(server_wait_limit_cookie:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->wait_limit_cookie = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5831 "util/configparser.c" +#line 5840 "util/configparser.c" break; - case 550: /* server_wait_limit_netblock: VAR_WAIT_LIMIT_NETBLOCK STRING_ARG STRING_ARG */ -#line 2524 "util/configparser.y" + case 552: /* server_wait_limit_netblock: VAR_WAIT_LIMIT_NETBLOCK STRING_ARG STRING_ARG */ +#line 2526 "util/configparser.y" { OUTYY(("P(server_wait_limit_netblock:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -5844,11 +5853,11 @@ yyreduce: yyerror("out of memory"); } } -#line 5848 "util/configparser.c" +#line 5857 "util/configparser.c" break; - case 551: /* server_wait_limit_cookie_netblock: VAR_WAIT_LIMIT_COOKIE_NETBLOCK STRING_ARG STRING_ARG */ -#line 2538 "util/configparser.y" + case 553: /* server_wait_limit_cookie_netblock: VAR_WAIT_LIMIT_COOKIE_NETBLOCK STRING_ARG STRING_ARG */ +#line 2540 "util/configparser.y" { OUTYY(("P(server_wait_limit_cookie_netblock:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -5861,31 +5870,31 @@ yyreduce: yyerror("out of memory"); } } -#line 5865 "util/configparser.c" +#line 5874 "util/configparser.c" break; - case 552: /* server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG */ -#line 2552 "util/configparser.y" + case 554: /* server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG */ +#line 2554 "util/configparser.y" { OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5875 "util/configparser.c" +#line 5884 "util/configparser.c" break; - case 553: /* server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG */ -#line 2559 "util/configparser.y" + case 555: /* server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG */ +#line 2561 "util/configparser.y" { OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dns64_prefix); cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); } -#line 5885 "util/configparser.c" +#line 5894 "util/configparser.c" break; - case 554: /* server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG */ -#line 2566 "util/configparser.y" + case 556: /* server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG */ +#line 2568 "util/configparser.y" { OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -5893,32 +5902,32 @@ yyreduce: else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5897 "util/configparser.c" +#line 5906 "util/configparser.c" break; - case 555: /* server_dns64_ignore_aaaa: VAR_DNS64_IGNORE_AAAA STRING_ARG */ -#line 2575 "util/configparser.y" + case 557: /* server_dns64_ignore_aaaa: VAR_DNS64_IGNORE_AAAA STRING_ARG */ +#line 2577 "util/configparser.y" { OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa, (yyvsp[0].str))) yyerror("out of memory"); } -#line 5908 "util/configparser.c" +#line 5917 "util/configparser.c" break; - case 556: /* server_nat64_prefix: VAR_NAT64_PREFIX STRING_ARG */ -#line 2583 "util/configparser.y" + case 558: /* server_nat64_prefix: VAR_NAT64_PREFIX STRING_ARG */ +#line 2585 "util/configparser.y" { OUTYY(("P(nat64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->nat64_prefix); cfg_parser->cfg->nat64_prefix = (yyvsp[0].str); } -#line 5918 "util/configparser.c" +#line 5927 "util/configparser.c" break; - case 557: /* server_define_tag: VAR_DEFINE_TAG STRING_ARG */ -#line 2590 "util/configparser.y" + case 559: /* server_define_tag: VAR_DEFINE_TAG STRING_ARG */ +#line 2592 "util/configparser.y" { char* p, *s = (yyvsp[0].str); OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); @@ -5931,11 +5940,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 5935 "util/configparser.c" +#line 5944 "util/configparser.c" break; - case 558: /* server_local_zone_tag: VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG */ -#line 2604 "util/configparser.y" + case 560: /* server_local_zone_tag: VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG */ +#line 2606 "util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -5955,11 +5964,11 @@ yyreduce: } } } -#line 5959 "util/configparser.c" +#line 5968 "util/configparser.c" break; - case 559: /* server_access_control_tag: VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG */ -#line 2625 "util/configparser.y" + case 561: /* server_access_control_tag: VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG */ +#line 2627 "util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -5979,11 +5988,11 @@ yyreduce: } } } -#line 5983 "util/configparser.c" +#line 5992 "util/configparser.c" break; - case 560: /* server_access_control_tag_action: VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG */ -#line 2646 "util/configparser.y" + case 562: /* server_access_control_tag_action: VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG */ +#line 2648 "util/configparser.y" { OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions, @@ -5994,11 +6003,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 5998 "util/configparser.c" +#line 6007 "util/configparser.c" break; - case 561: /* server_access_control_tag_data: VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG */ -#line 2658 "util/configparser.y" + case 563: /* server_access_control_tag_data: VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG */ +#line 2660 "util/configparser.y" { OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas, @@ -6009,11 +6018,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 6013 "util/configparser.c" +#line 6022 "util/configparser.c" break; - case 562: /* server_local_zone_override: VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG */ -#line 2670 "util/configparser.y" + case 564: /* server_local_zone_override: VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG */ +#line 2672 "util/configparser.y" { OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides, @@ -6024,11 +6033,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 6028 "util/configparser.c" +#line 6037 "util/configparser.c" break; - case 563: /* server_access_control_view: VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG */ -#line 2682 "util/configparser.y" + case 565: /* server_access_control_view: VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG */ +#line 2684 "util/configparser.y" { OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, @@ -6036,11 +6045,11 @@ yyreduce: yyerror("out of memory"); } } -#line 6040 "util/configparser.c" +#line 6049 "util/configparser.c" break; - case 564: /* server_interface_tag: VAR_INTERFACE_TAG STRING_ARG STRING_ARG */ -#line 2691 "util/configparser.y" + case 566: /* server_interface_tag: VAR_INTERFACE_TAG STRING_ARG STRING_ARG */ +#line 2693 "util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -6060,11 +6069,11 @@ yyreduce: } } } -#line 6064 "util/configparser.c" +#line 6073 "util/configparser.c" break; - case 565: /* server_interface_tag_action: VAR_INTERFACE_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG */ -#line 2712 "util/configparser.y" + case 567: /* server_interface_tag_action: VAR_INTERFACE_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG */ +#line 2714 "util/configparser.y" { OUTYY(("P(server_interface_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->interface_tag_actions, @@ -6075,11 +6084,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 6079 "util/configparser.c" +#line 6088 "util/configparser.c" break; - case 566: /* server_interface_tag_data: VAR_INTERFACE_TAG_DATA STRING_ARG STRING_ARG STRING_ARG */ -#line 2724 "util/configparser.y" + case 568: /* server_interface_tag_data: VAR_INTERFACE_TAG_DATA STRING_ARG STRING_ARG STRING_ARG */ +#line 2726 "util/configparser.y" { OUTYY(("P(server_interface_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->interface_tag_datas, @@ -6090,11 +6099,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 6094 "util/configparser.c" +#line 6103 "util/configparser.c" break; - case 567: /* server_interface_view: VAR_INTERFACE_VIEW STRING_ARG STRING_ARG */ -#line 2736 "util/configparser.y" + case 569: /* server_interface_view: VAR_INTERFACE_VIEW STRING_ARG STRING_ARG */ +#line 2738 "util/configparser.y" { OUTYY(("P(server_interface_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->interface_view, @@ -6102,11 +6111,11 @@ yyreduce: yyerror("out of memory"); } } -#line 6106 "util/configparser.c" +#line 6115 "util/configparser.c" break; - case 568: /* server_response_ip_tag: VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG */ -#line 2745 "util/configparser.y" + case 570: /* server_response_ip_tag: VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG */ +#line 2747 "util/configparser.y" { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -6126,11 +6135,11 @@ yyreduce: } } } -#line 6130 "util/configparser.c" +#line 6139 "util/configparser.c" break; - case 569: /* server_ip_ratelimit: VAR_IP_RATELIMIT STRING_ARG */ -#line 2766 "util/configparser.y" + case 571: /* server_ip_ratelimit: VAR_IP_RATELIMIT STRING_ARG */ +#line 2768 "util/configparser.y" { OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6138,11 +6147,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6142 "util/configparser.c" +#line 6151 "util/configparser.c" break; - case 570: /* server_ip_ratelimit_cookie: VAR_IP_RATELIMIT_COOKIE STRING_ARG */ -#line 2775 "util/configparser.y" + case 572: /* server_ip_ratelimit_cookie: VAR_IP_RATELIMIT_COOKIE STRING_ARG */ +#line 2777 "util/configparser.y" { OUTYY(("P(server_ip_ratelimit_cookie:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6150,11 +6159,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit_cookie = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6154 "util/configparser.c" +#line 6163 "util/configparser.c" break; - case 571: /* server_ratelimit: VAR_RATELIMIT STRING_ARG */ -#line 2784 "util/configparser.y" + case 573: /* server_ratelimit: VAR_RATELIMIT STRING_ARG */ +#line 2786 "util/configparser.y" { OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6162,33 +6171,33 @@ yyreduce: else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6166 "util/configparser.c" +#line 6175 "util/configparser.c" break; - case 572: /* server_ip_ratelimit_size: VAR_IP_RATELIMIT_SIZE STRING_ARG */ -#line 2793 "util/configparser.y" + case 574: /* server_ip_ratelimit_size: VAR_IP_RATELIMIT_SIZE STRING_ARG */ +#line 2795 "util/configparser.y" { OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6177 "util/configparser.c" +#line 6186 "util/configparser.c" break; - case 573: /* server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG */ -#line 2801 "util/configparser.y" + case 575: /* server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG */ +#line 2803 "util/configparser.y" { OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6188 "util/configparser.c" +#line 6197 "util/configparser.c" break; - case 574: /* server_ip_ratelimit_slabs: VAR_IP_RATELIMIT_SLABS STRING_ARG */ -#line 2809 "util/configparser.y" + case 576: /* server_ip_ratelimit_slabs: VAR_IP_RATELIMIT_SLABS STRING_ARG */ +#line 2811 "util/configparser.y" { OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -6200,11 +6209,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 6204 "util/configparser.c" +#line 6213 "util/configparser.c" break; - case 575: /* server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG */ -#line 2822 "util/configparser.y" + case 577: /* server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG */ +#line 2824 "util/configparser.y" { OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -6216,11 +6225,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 6220 "util/configparser.c" +#line 6229 "util/configparser.c" break; - case 576: /* server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG */ -#line 2835 "util/configparser.y" + case 578: /* server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG */ +#line 2837 "util/configparser.y" { OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -6233,11 +6242,11 @@ yyreduce: yyerror("out of memory"); } } -#line 6237 "util/configparser.c" +#line 6246 "util/configparser.c" break; - case 577: /* server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG */ -#line 2849 "util/configparser.y" + case 579: /* server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG */ +#line 2851 "util/configparser.y" { OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -6250,11 +6259,11 @@ yyreduce: yyerror("out of memory"); } } -#line 6254 "util/configparser.c" +#line 6263 "util/configparser.c" break; - case 578: /* server_ip_ratelimit_factor: VAR_IP_RATELIMIT_FACTOR STRING_ARG */ -#line 2863 "util/configparser.y" + case 580: /* server_ip_ratelimit_factor: VAR_IP_RATELIMIT_FACTOR STRING_ARG */ +#line 2865 "util/configparser.y" { OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6262,11 +6271,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6266 "util/configparser.c" +#line 6275 "util/configparser.c" break; - case 579: /* server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG */ -#line 2872 "util/configparser.y" + case 581: /* server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG */ +#line 2874 "util/configparser.y" { OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6274,11 +6283,11 @@ yyreduce: else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6278 "util/configparser.c" +#line 6287 "util/configparser.c" break; - case 580: /* server_ip_ratelimit_backoff: VAR_IP_RATELIMIT_BACKOFF STRING_ARG */ -#line 2881 "util/configparser.y" + case 582: /* server_ip_ratelimit_backoff: VAR_IP_RATELIMIT_BACKOFF STRING_ARG */ +#line 2883 "util/configparser.y" { OUTYY(("P(server_ip_ratelimit_backoff:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6287,11 +6296,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6291 "util/configparser.c" +#line 6300 "util/configparser.c" break; - case 581: /* server_ratelimit_backoff: VAR_RATELIMIT_BACKOFF STRING_ARG */ -#line 2891 "util/configparser.y" + case 583: /* server_ratelimit_backoff: VAR_RATELIMIT_BACKOFF STRING_ARG */ +#line 2893 "util/configparser.y" { OUTYY(("P(server_ratelimit_backoff:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6300,11 +6309,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6304 "util/configparser.c" +#line 6313 "util/configparser.c" break; - case 582: /* server_outbound_msg_retry: VAR_OUTBOUND_MSG_RETRY STRING_ARG */ -#line 2901 "util/configparser.y" + case 584: /* server_outbound_msg_retry: VAR_OUTBOUND_MSG_RETRY STRING_ARG */ +#line 2903 "util/configparser.y" { OUTYY(("P(server_outbound_msg_retry:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6312,11 +6321,11 @@ yyreduce: else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6316 "util/configparser.c" +#line 6325 "util/configparser.c" break; - case 583: /* server_max_sent_count: VAR_MAX_SENT_COUNT STRING_ARG */ -#line 2910 "util/configparser.y" + case 585: /* server_max_sent_count: VAR_MAX_SENT_COUNT STRING_ARG */ +#line 2912 "util/configparser.y" { OUTYY(("P(server_max_sent_count:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6324,11 +6333,11 @@ yyreduce: else cfg_parser->cfg->max_sent_count = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6328 "util/configparser.c" +#line 6337 "util/configparser.c" break; - case 584: /* server_max_query_restarts: VAR_MAX_QUERY_RESTARTS STRING_ARG */ -#line 2919 "util/configparser.y" + case 586: /* server_max_query_restarts: VAR_MAX_QUERY_RESTARTS STRING_ARG */ +#line 2921 "util/configparser.y" { OUTYY(("P(server_max_query_restarts:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6336,20 +6345,20 @@ yyreduce: else cfg_parser->cfg->max_query_restarts = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6340 "util/configparser.c" +#line 6349 "util/configparser.c" break; - case 585: /* server_low_rtt: VAR_LOW_RTT STRING_ARG */ -#line 2928 "util/configparser.y" + case 587: /* server_low_rtt: VAR_LOW_RTT STRING_ARG */ +#line 2930 "util/configparser.y" { OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n")); free((yyvsp[0].str)); } -#line 6349 "util/configparser.c" +#line 6358 "util/configparser.c" break; - case 586: /* server_fast_server_num: VAR_FAST_SERVER_NUM STRING_ARG */ -#line 2934 "util/configparser.y" + case 588: /* server_fast_server_num: VAR_FAST_SERVER_NUM STRING_ARG */ +#line 2936 "util/configparser.y" { OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) <= 0) @@ -6357,11 +6366,11 @@ yyreduce: else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6361 "util/configparser.c" +#line 6370 "util/configparser.c" break; - case 587: /* server_fast_server_permil: VAR_FAST_SERVER_PERMIL STRING_ARG */ -#line 2943 "util/configparser.y" + case 589: /* server_fast_server_permil: VAR_FAST_SERVER_PERMIL STRING_ARG */ +#line 2945 "util/configparser.y" { OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6369,11 +6378,11 @@ yyreduce: else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6373 "util/configparser.c" +#line 6382 "util/configparser.c" break; - case 588: /* server_qname_minimisation: VAR_QNAME_MINIMISATION STRING_ARG */ -#line 2952 "util/configparser.y" + case 590: /* server_qname_minimisation: VAR_QNAME_MINIMISATION STRING_ARG */ +#line 2954 "util/configparser.y" { OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6382,11 +6391,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6386 "util/configparser.c" +#line 6395 "util/configparser.c" break; - case 589: /* server_qname_minimisation_strict: VAR_QNAME_MINIMISATION_STRICT STRING_ARG */ -#line 2962 "util/configparser.y" + case 591: /* server_qname_minimisation_strict: VAR_QNAME_MINIMISATION_STRICT STRING_ARG */ +#line 2964 "util/configparser.y" { OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6395,11 +6404,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6399 "util/configparser.c" +#line 6408 "util/configparser.c" break; - case 590: /* server_pad_responses: VAR_PAD_RESPONSES STRING_ARG */ -#line 2972 "util/configparser.y" + case 592: /* server_pad_responses: VAR_PAD_RESPONSES STRING_ARG */ +#line 2974 "util/configparser.y" { OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6408,11 +6417,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6412 "util/configparser.c" +#line 6421 "util/configparser.c" break; - case 591: /* server_pad_responses_block_size: VAR_PAD_RESPONSES_BLOCK_SIZE STRING_ARG */ -#line 2982 "util/configparser.y" + case 593: /* server_pad_responses_block_size: VAR_PAD_RESPONSES_BLOCK_SIZE STRING_ARG */ +#line 2984 "util/configparser.y" { OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6420,11 +6429,11 @@ yyreduce: else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6424 "util/configparser.c" +#line 6433 "util/configparser.c" break; - case 592: /* server_pad_queries: VAR_PAD_QUERIES STRING_ARG */ -#line 2991 "util/configparser.y" + case 594: /* server_pad_queries: VAR_PAD_QUERIES STRING_ARG */ +#line 2993 "util/configparser.y" { OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6433,11 +6442,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6437 "util/configparser.c" +#line 6446 "util/configparser.c" break; - case 593: /* server_pad_queries_block_size: VAR_PAD_QUERIES_BLOCK_SIZE STRING_ARG */ -#line 3001 "util/configparser.y" + case 595: /* server_pad_queries_block_size: VAR_PAD_QUERIES_BLOCK_SIZE STRING_ARG */ +#line 3003 "util/configparser.y" { OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -6445,11 +6454,11 @@ yyreduce: else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6449 "util/configparser.c" +#line 6458 "util/configparser.c" break; - case 594: /* server_ipsecmod_enabled: VAR_IPSECMOD_ENABLED STRING_ARG */ -#line 3010 "util/configparser.y" + case 596: /* server_ipsecmod_enabled: VAR_IPSECMOD_ENABLED STRING_ARG */ +#line 3012 "util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str))); @@ -6461,11 +6470,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6465 "util/configparser.c" +#line 6474 "util/configparser.c" break; - case 595: /* server_ipsecmod_ignore_bogus: VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG */ -#line 3023 "util/configparser.y" + case 597: /* server_ipsecmod_ignore_bogus: VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG */ +#line 3025 "util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str))); @@ -6477,11 +6486,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 6481 "util/configparser.c" +#line 6490 "util/configparser.c" break; - case 596: /* server_ipsecmod_hook: VAR_IPSECMOD_HOOK STRING_ARG */ -#line 3036 "util/configparser.y" + case 598: /* server_ipsecmod_hook: VAR_IPSECMOD_HOOK STRING_ARG */ +#line 3038 "util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str))); @@ -6492,11 +6501,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6496 "util/configparser.c" +#line 6505 "util/configparser.c" break; - case 597: /* server_ipsecmod_max_ttl: VAR_IPSECMOD_MAX_TTL STRING_ARG */ -#line 3048 "util/configparser.y" + case 599: /* server_ipsecmod_max_ttl: VAR_IPSECMOD_MAX_TTL STRING_ARG */ +#line 3050 "util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str))); @@ -6509,11 +6518,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6513 "util/configparser.c" +#line 6522 "util/configparser.c" break; - case 598: /* server_ipsecmod_whitelist: VAR_IPSECMOD_WHITELIST STRING_ARG */ -#line 3062 "util/configparser.y" + case 600: /* server_ipsecmod_whitelist: VAR_IPSECMOD_WHITELIST STRING_ARG */ +#line 3064 "util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str))); @@ -6524,11 +6533,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6528 "util/configparser.c" +#line 6537 "util/configparser.c" break; - case 599: /* server_ipsecmod_strict: VAR_IPSECMOD_STRICT STRING_ARG */ -#line 3074 "util/configparser.y" + case 601: /* server_ipsecmod_strict: VAR_IPSECMOD_STRICT STRING_ARG */ +#line 3076 "util/configparser.y" { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str))); @@ -6541,22 +6550,22 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 6545 "util/configparser.c" +#line 6554 "util/configparser.c" break; - case 600: /* server_edns_client_string: VAR_EDNS_CLIENT_STRING STRING_ARG STRING_ARG */ -#line 3088 "util/configparser.y" + case 602: /* server_edns_client_string: VAR_EDNS_CLIENT_STRING STRING_ARG STRING_ARG */ +#line 3090 "util/configparser.y" { OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert( &cfg_parser->cfg->edns_client_strings, (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 6556 "util/configparser.c" +#line 6565 "util/configparser.c" break; - case 601: /* server_edns_client_string_opcode: VAR_EDNS_CLIENT_STRING_OPCODE STRING_ARG */ -#line 3096 "util/configparser.y" + case 603: /* server_edns_client_string_opcode: VAR_EDNS_CLIENT_STRING_OPCODE STRING_ARG */ +#line 3098 "util/configparser.y" { OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6566,11 +6575,11 @@ yyreduce: else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6570 "util/configparser.c" +#line 6579 "util/configparser.c" break; - case 602: /* server_ede: VAR_EDE STRING_ARG */ -#line 3107 "util/configparser.y" + case 604: /* server_ede: VAR_EDE STRING_ARG */ +#line 3109 "util/configparser.y" { OUTYY(("P(server_ede:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6578,11 +6587,11 @@ yyreduce: else cfg_parser->cfg->ede = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6582 "util/configparser.c" +#line 6591 "util/configparser.c" break; - case 603: /* server_dns_error_reporting: VAR_DNS_ERROR_REPORTING STRING_ARG */ -#line 3116 "util/configparser.y" + case 605: /* server_dns_error_reporting: VAR_DNS_ERROR_REPORTING STRING_ARG */ +#line 3118 "util/configparser.y" { OUTYY(("P(server_dns_error_reporting:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6590,21 +6599,21 @@ yyreduce: else cfg_parser->cfg->dns_error_reporting = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6594 "util/configparser.c" +#line 6603 "util/configparser.c" break; - case 604: /* server_proxy_protocol_port: VAR_PROXY_PROTOCOL_PORT STRING_ARG */ -#line 3125 "util/configparser.y" + case 606: /* server_proxy_protocol_port: VAR_PROXY_PROTOCOL_PORT STRING_ARG */ +#line 3127 "util/configparser.y" { OUTYY(("P(server_proxy_protocol_port:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->proxy_protocol_port, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6604 "util/configparser.c" +#line 6613 "util/configparser.c" break; - case 605: /* stub_name: VAR_NAME STRING_ARG */ -#line 3132 "util/configparser.y" + case 607: /* stub_name: VAR_NAME STRING_ARG */ +#line 3134 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->stubs->name) @@ -6613,31 +6622,31 @@ yyreduce: free(cfg_parser->cfg->stubs->name); cfg_parser->cfg->stubs->name = (yyvsp[0].str); } -#line 6617 "util/configparser.c" +#line 6626 "util/configparser.c" break; - case 606: /* stub_host: VAR_STUB_HOST STRING_ARG */ -#line 3142 "util/configparser.y" + case 608: /* stub_host: VAR_STUB_HOST STRING_ARG */ +#line 3144 "util/configparser.y" { OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6627 "util/configparser.c" +#line 6636 "util/configparser.c" break; - case 607: /* stub_addr: VAR_STUB_ADDR STRING_ARG */ -#line 3149 "util/configparser.y" + case 609: /* stub_addr: VAR_STUB_ADDR STRING_ARG */ +#line 3151 "util/configparser.y" { OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6637 "util/configparser.c" +#line 6646 "util/configparser.c" break; - case 608: /* stub_first: VAR_STUB_FIRST STRING_ARG */ -#line 3156 "util/configparser.y" + case 610: /* stub_first: VAR_STUB_FIRST STRING_ARG */ +#line 3158 "util/configparser.y" { OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6645,11 +6654,11 @@ yyreduce: else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6649 "util/configparser.c" +#line 6658 "util/configparser.c" break; - case 609: /* stub_no_cache: VAR_STUB_NO_CACHE STRING_ARG */ -#line 3165 "util/configparser.y" + case 611: /* stub_no_cache: VAR_STUB_NO_CACHE STRING_ARG */ +#line 3167 "util/configparser.y" { OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6657,11 +6666,11 @@ yyreduce: else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6661 "util/configparser.c" +#line 6670 "util/configparser.c" break; - case 610: /* stub_ssl_upstream: VAR_STUB_SSL_UPSTREAM STRING_ARG */ -#line 3174 "util/configparser.y" + case 612: /* stub_ssl_upstream: VAR_STUB_SSL_UPSTREAM STRING_ARG */ +#line 3176 "util/configparser.y" { OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6670,11 +6679,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6674 "util/configparser.c" +#line 6683 "util/configparser.c" break; - case 611: /* stub_tcp_upstream: VAR_STUB_TCP_UPSTREAM STRING_ARG */ -#line 3184 "util/configparser.y" + case 613: /* stub_tcp_upstream: VAR_STUB_TCP_UPSTREAM STRING_ARG */ +#line 3186 "util/configparser.y" { OUTYY(("P(stub-tcp-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6683,11 +6692,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6687 "util/configparser.c" +#line 6696 "util/configparser.c" break; - case 612: /* stub_prime: VAR_STUB_PRIME STRING_ARG */ -#line 3194 "util/configparser.y" + case 614: /* stub_prime: VAR_STUB_PRIME STRING_ARG */ +#line 3196 "util/configparser.y" { OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6696,11 +6705,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6700 "util/configparser.c" +#line 6709 "util/configparser.c" break; - case 613: /* forward_name: VAR_NAME STRING_ARG */ -#line 3204 "util/configparser.y" + case 615: /* forward_name: VAR_NAME STRING_ARG */ +#line 3206 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->forwards->name) @@ -6709,31 +6718,31 @@ yyreduce: free(cfg_parser->cfg->forwards->name); cfg_parser->cfg->forwards->name = (yyvsp[0].str); } -#line 6713 "util/configparser.c" +#line 6722 "util/configparser.c" break; - case 614: /* forward_host: VAR_FORWARD_HOST STRING_ARG */ -#line 3214 "util/configparser.y" + case 616: /* forward_host: VAR_FORWARD_HOST STRING_ARG */ +#line 3216 "util/configparser.y" { OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6723 "util/configparser.c" +#line 6732 "util/configparser.c" break; - case 615: /* forward_addr: VAR_FORWARD_ADDR STRING_ARG */ -#line 3221 "util/configparser.y" + case 617: /* forward_addr: VAR_FORWARD_ADDR STRING_ARG */ +#line 3223 "util/configparser.y" { OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6733 "util/configparser.c" +#line 6742 "util/configparser.c" break; - case 616: /* forward_first: VAR_FORWARD_FIRST STRING_ARG */ -#line 3228 "util/configparser.y" + case 618: /* forward_first: VAR_FORWARD_FIRST STRING_ARG */ +#line 3230 "util/configparser.y" { OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6741,11 +6750,11 @@ yyreduce: else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6745 "util/configparser.c" +#line 6754 "util/configparser.c" break; - case 617: /* forward_no_cache: VAR_FORWARD_NO_CACHE STRING_ARG */ -#line 3237 "util/configparser.y" + case 619: /* forward_no_cache: VAR_FORWARD_NO_CACHE STRING_ARG */ +#line 3239 "util/configparser.y" { OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6753,11 +6762,11 @@ yyreduce: else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6757 "util/configparser.c" +#line 6766 "util/configparser.c" break; - case 618: /* forward_ssl_upstream: VAR_FORWARD_SSL_UPSTREAM STRING_ARG */ -#line 3246 "util/configparser.y" + case 620: /* forward_ssl_upstream: VAR_FORWARD_SSL_UPSTREAM STRING_ARG */ +#line 3248 "util/configparser.y" { OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6766,11 +6775,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6770 "util/configparser.c" +#line 6779 "util/configparser.c" break; - case 619: /* forward_tcp_upstream: VAR_FORWARD_TCP_UPSTREAM STRING_ARG */ -#line 3256 "util/configparser.y" + case 621: /* forward_tcp_upstream: VAR_FORWARD_TCP_UPSTREAM STRING_ARG */ +#line 3258 "util/configparser.y" { OUTYY(("P(forward-tcp-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6779,11 +6788,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6783 "util/configparser.c" +#line 6792 "util/configparser.c" break; - case 620: /* auth_name: VAR_NAME STRING_ARG */ -#line 3266 "util/configparser.y" + case 622: /* auth_name: VAR_NAME STRING_ARG */ +#line 3268 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->auths->name) @@ -6792,52 +6801,52 @@ yyreduce: free(cfg_parser->cfg->auths->name); cfg_parser->cfg->auths->name = (yyvsp[0].str); } -#line 6796 "util/configparser.c" +#line 6805 "util/configparser.c" break; - case 621: /* auth_zonefile: VAR_ZONEFILE STRING_ARG */ -#line 3276 "util/configparser.y" + case 623: /* auth_zonefile: VAR_ZONEFILE STRING_ARG */ +#line 3278 "util/configparser.y" { OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->zonefile); cfg_parser->cfg->auths->zonefile = (yyvsp[0].str); } -#line 6806 "util/configparser.c" +#line 6815 "util/configparser.c" break; - case 622: /* auth_master: VAR_MASTER STRING_ARG */ -#line 3283 "util/configparser.y" + case 624: /* auth_master: VAR_MASTER STRING_ARG */ +#line 3285 "util/configparser.y" { OUTYY(("P(master:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6816 "util/configparser.c" +#line 6825 "util/configparser.c" break; - case 623: /* auth_url: VAR_URL STRING_ARG */ -#line 3290 "util/configparser.y" + case 625: /* auth_url: VAR_URL STRING_ARG */ +#line 3292 "util/configparser.y" { OUTYY(("P(url:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6826 "util/configparser.c" +#line 6835 "util/configparser.c" break; - case 624: /* auth_allow_notify: VAR_ALLOW_NOTIFY STRING_ARG */ -#line 3297 "util/configparser.y" + case 626: /* auth_allow_notify: VAR_ALLOW_NOTIFY STRING_ARG */ +#line 3299 "util/configparser.y" { OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify, (yyvsp[0].str))) yyerror("out of memory"); } -#line 6837 "util/configparser.c" +#line 6846 "util/configparser.c" break; - case 625: /* auth_zonemd_check: VAR_ZONEMD_CHECK STRING_ARG */ -#line 3305 "util/configparser.y" + case 627: /* auth_zonemd_check: VAR_ZONEMD_CHECK STRING_ARG */ +#line 3307 "util/configparser.y" { OUTYY(("P(zonemd-check:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6846,11 +6855,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6850 "util/configparser.c" +#line 6859 "util/configparser.c" break; - case 626: /* auth_zonemd_reject_absence: VAR_ZONEMD_REJECT_ABSENCE STRING_ARG */ -#line 3315 "util/configparser.y" + case 628: /* auth_zonemd_reject_absence: VAR_ZONEMD_REJECT_ABSENCE STRING_ARG */ +#line 3317 "util/configparser.y" { OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6859,11 +6868,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6863 "util/configparser.c" +#line 6872 "util/configparser.c" break; - case 627: /* auth_for_downstream: VAR_FOR_DOWNSTREAM STRING_ARG */ -#line 3325 "util/configparser.y" + case 629: /* auth_for_downstream: VAR_FOR_DOWNSTREAM STRING_ARG */ +#line 3327 "util/configparser.y" { OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6872,11 +6881,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6876 "util/configparser.c" +#line 6885 "util/configparser.c" break; - case 628: /* auth_for_upstream: VAR_FOR_UPSTREAM STRING_ARG */ -#line 3335 "util/configparser.y" + case 630: /* auth_for_upstream: VAR_FOR_UPSTREAM STRING_ARG */ +#line 3337 "util/configparser.y" { OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6885,11 +6894,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6889 "util/configparser.c" +#line 6898 "util/configparser.c" break; - case 629: /* auth_fallback_enabled: VAR_FALLBACK_ENABLED STRING_ARG */ -#line 3345 "util/configparser.y" + case 631: /* auth_fallback_enabled: VAR_FALLBACK_ENABLED STRING_ARG */ +#line 3347 "util/configparser.y" { OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -6898,22 +6907,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 6902 "util/configparser.c" +#line 6911 "util/configparser.c" break; - case 630: /* auth_max_transfer_size: VAR_MAX_TRANSFER_SIZE STRING_ARG */ -#line 3355 "util/configparser.y" + case 632: /* auth_max_transfer_size: VAR_MAX_TRANSFER_SIZE STRING_ARG */ +#line 3357 "util/configparser.y" { OUTYY(("P(max-transfer-size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->auths->max_transfer_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 6913 "util/configparser.c" +#line 6922 "util/configparser.c" break; - case 631: /* auth_max_transfer_time: VAR_MAX_TRANSFER_TIME STRING_ARG */ -#line 3363 "util/configparser.y" + case 633: /* auth_max_transfer_time: VAR_MAX_TRANSFER_TIME STRING_ARG */ +#line 3365 "util/configparser.y" { OUTYY(("P(max-transfer-time:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -6921,11 +6930,11 @@ yyreduce: else cfg_parser->cfg->auths->max_transfer_time = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 6925 "util/configparser.c" +#line 6934 "util/configparser.c" break; - case 632: /* view_name: VAR_NAME STRING_ARG */ -#line 3372 "util/configparser.y" + case 634: /* view_name: VAR_NAME STRING_ARG */ +#line 3374 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->views->name) @@ -6934,11 +6943,11 @@ yyreduce: free(cfg_parser->cfg->views->name); cfg_parser->cfg->views->name = (yyvsp[0].str); } -#line 6938 "util/configparser.c" +#line 6947 "util/configparser.c" break; - case 633: /* view_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG */ -#line 3382 "util/configparser.y" + case 635: /* view_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG */ +#line 3384 "util/configparser.y" { OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -6996,11 +7005,11 @@ yyreduce: yyerror("out of memory"); } } -#line 7000 "util/configparser.c" +#line 7009 "util/configparser.c" break; - case 634: /* view_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG */ -#line 3441 "util/configparser.y" + case 636: /* view_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG */ +#line 3443 "util/configparser.y" { OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -7008,33 +7017,33 @@ yyreduce: &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 7012 "util/configparser.c" +#line 7021 "util/configparser.c" break; - case 635: /* view_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG */ -#line 3450 "util/configparser.y" + case 637: /* view_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG */ +#line 3452 "util/configparser.y" { OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert( &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 7023 "util/configparser.c" +#line 7032 "util/configparser.c" break; - case 636: /* view_local_data: VAR_LOCAL_DATA STRING_ARG */ -#line 3458 "util/configparser.y" + case 638: /* view_local_data: VAR_LOCAL_DATA STRING_ARG */ +#line 3460 "util/configparser.y" { OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { yyerror("out of memory"); } } -#line 7034 "util/configparser.c" +#line 7043 "util/configparser.c" break; - case 637: /* view_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG */ -#line 3466 "util/configparser.y" + case 639: /* view_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG */ +#line 3468 "util/configparser.y" { char* ptr; OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -7048,11 +7057,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 7052 "util/configparser.c" +#line 7061 "util/configparser.c" break; - case 638: /* view_first: VAR_VIEW_FIRST STRING_ARG */ -#line 3481 "util/configparser.y" + case 640: /* view_first: VAR_VIEW_FIRST STRING_ARG */ +#line 3483 "util/configparser.y" { OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7060,20 +7069,20 @@ yyreduce: else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7064 "util/configparser.c" +#line 7073 "util/configparser.c" break; - case 639: /* rcstart: VAR_REMOTE_CONTROL */ -#line 3490 "util/configparser.y" + case 641: /* rcstart: VAR_REMOTE_CONTROL */ +#line 3492 "util/configparser.y" { OUTYY(("\nP(remote-control:)\n")); cfg_parser->started_toplevel = 1; } -#line 7073 "util/configparser.c" +#line 7082 "util/configparser.c" break; - case 650: /* rc_control_enable: VAR_CONTROL_ENABLE STRING_ARG */ -#line 3502 "util/configparser.y" + case 652: /* rc_control_enable: VAR_CONTROL_ENABLE STRING_ARG */ +#line 3504 "util/configparser.y" { OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7082,11 +7091,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7086 "util/configparser.c" +#line 7095 "util/configparser.c" break; - case 651: /* rc_control_port: VAR_CONTROL_PORT STRING_ARG */ -#line 3512 "util/configparser.y" + case 653: /* rc_control_port: VAR_CONTROL_PORT STRING_ARG */ +#line 3514 "util/configparser.y" { OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -7094,80 +7103,80 @@ yyreduce: else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 7098 "util/configparser.c" +#line 7107 "util/configparser.c" break; - case 652: /* rc_control_interface: VAR_CONTROL_INTERFACE STRING_ARG */ -#line 3521 "util/configparser.y" + case 654: /* rc_control_interface: VAR_CONTROL_INTERFACE STRING_ARG */ +#line 3523 "util/configparser.y" { OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 7108 "util/configparser.c" +#line 7117 "util/configparser.c" break; - case 653: /* rc_control_use_cert: VAR_CONTROL_USE_CERT STRING_ARG */ -#line 3528 "util/configparser.y" + case 655: /* rc_control_use_cert: VAR_CONTROL_USE_CERT STRING_ARG */ +#line 3530 "util/configparser.y" { OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7118 "util/configparser.c" +#line 7127 "util/configparser.c" break; - case 654: /* rc_server_key_file: VAR_SERVER_KEY_FILE STRING_ARG */ -#line 3535 "util/configparser.y" + case 656: /* rc_server_key_file: VAR_SERVER_KEY_FILE STRING_ARG */ +#line 3537 "util/configparser.y" { OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_key_file); cfg_parser->cfg->server_key_file = (yyvsp[0].str); } -#line 7128 "util/configparser.c" +#line 7137 "util/configparser.c" break; - case 655: /* rc_server_cert_file: VAR_SERVER_CERT_FILE STRING_ARG */ -#line 3542 "util/configparser.y" + case 657: /* rc_server_cert_file: VAR_SERVER_CERT_FILE STRING_ARG */ +#line 3544 "util/configparser.y" { OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_cert_file); cfg_parser->cfg->server_cert_file = (yyvsp[0].str); } -#line 7138 "util/configparser.c" +#line 7147 "util/configparser.c" break; - case 656: /* rc_control_key_file: VAR_CONTROL_KEY_FILE STRING_ARG */ -#line 3549 "util/configparser.y" + case 658: /* rc_control_key_file: VAR_CONTROL_KEY_FILE STRING_ARG */ +#line 3551 "util/configparser.y" { OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_key_file); cfg_parser->cfg->control_key_file = (yyvsp[0].str); } -#line 7148 "util/configparser.c" +#line 7157 "util/configparser.c" break; - case 657: /* rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG */ -#line 3556 "util/configparser.y" + case 659: /* rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG */ +#line 3558 "util/configparser.y" { OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_cert_file); cfg_parser->cfg->control_cert_file = (yyvsp[0].str); } -#line 7158 "util/configparser.c" +#line 7167 "util/configparser.c" break; - case 658: /* dtstart: VAR_DNSTAP */ -#line 3563 "util/configparser.y" + case 660: /* dtstart: VAR_DNSTAP */ +#line 3565 "util/configparser.y" { OUTYY(("\nP(dnstap:)\n")); cfg_parser->started_toplevel = 1; } -#line 7167 "util/configparser.c" +#line 7176 "util/configparser.c" break; - case 681: /* dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG */ -#line 3585 "util/configparser.y" + case 683: /* dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG */ +#line 3587 "util/configparser.y" { OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7175,11 +7184,11 @@ yyreduce: else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7179 "util/configparser.c" +#line 7188 "util/configparser.c" break; - case 682: /* dt_dnstap_bidirectional: VAR_DNSTAP_BIDIRECTIONAL STRING_ARG */ -#line 3594 "util/configparser.y" + case 684: /* dt_dnstap_bidirectional: VAR_DNSTAP_BIDIRECTIONAL STRING_ARG */ +#line 3596 "util/configparser.y" { OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7188,31 +7197,31 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7192 "util/configparser.c" +#line 7201 "util/configparser.c" break; - case 683: /* dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG */ -#line 3604 "util/configparser.y" + case 685: /* dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG */ +#line 3606 "util/configparser.y" { OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_socket_path); cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); } -#line 7202 "util/configparser.c" +#line 7211 "util/configparser.c" break; - case 684: /* dt_dnstap_ip: VAR_DNSTAP_IP STRING_ARG */ -#line 3611 "util/configparser.y" + case 686: /* dt_dnstap_ip: VAR_DNSTAP_IP STRING_ARG */ +#line 3613 "util/configparser.y" { OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_ip); cfg_parser->cfg->dnstap_ip = (yyvsp[0].str); } -#line 7212 "util/configparser.c" +#line 7221 "util/configparser.c" break; - case 685: /* dt_dnstap_tls: VAR_DNSTAP_TLS STRING_ARG */ -#line 3618 "util/configparser.y" + case 687: /* dt_dnstap_tls: VAR_DNSTAP_TLS STRING_ARG */ +#line 3620 "util/configparser.y" { OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7220,51 +7229,51 @@ yyreduce: else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7224 "util/configparser.c" +#line 7233 "util/configparser.c" break; - case 686: /* dt_dnstap_tls_server_name: VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG */ -#line 3627 "util/configparser.y" + case 688: /* dt_dnstap_tls_server_name: VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG */ +#line 3629 "util/configparser.y" { OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_server_name); cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str); } -#line 7234 "util/configparser.c" +#line 7243 "util/configparser.c" break; - case 687: /* dt_dnstap_tls_cert_bundle: VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG */ -#line 3634 "util/configparser.y" + case 689: /* dt_dnstap_tls_cert_bundle: VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG */ +#line 3636 "util/configparser.y" { OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_cert_bundle); cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str); } -#line 7244 "util/configparser.c" +#line 7253 "util/configparser.c" break; - case 688: /* dt_dnstap_tls_client_key_file: VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG */ -#line 3641 "util/configparser.y" + case 690: /* dt_dnstap_tls_client_key_file: VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG */ +#line 3643 "util/configparser.y" { OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_client_key_file); cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str); } -#line 7254 "util/configparser.c" +#line 7263 "util/configparser.c" break; - case 689: /* dt_dnstap_tls_client_cert_file: VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG */ -#line 3648 "util/configparser.y" + case 691: /* dt_dnstap_tls_client_cert_file: VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG */ +#line 3650 "util/configparser.y" { OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_client_cert_file); cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str); } -#line 7264 "util/configparser.c" +#line 7273 "util/configparser.c" break; - case 690: /* dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG */ -#line 3655 "util/configparser.y" + case 692: /* dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG */ +#line 3657 "util/configparser.y" { OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7272,11 +7281,11 @@ yyreduce: else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7276 "util/configparser.c" +#line 7285 "util/configparser.c" break; - case 691: /* dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG */ -#line 3664 "util/configparser.y" + case 693: /* dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG */ +#line 3666 "util/configparser.y" { OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7284,31 +7293,31 @@ yyreduce: else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7288 "util/configparser.c" +#line 7297 "util/configparser.c" break; - case 692: /* dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG */ -#line 3673 "util/configparser.y" + case 694: /* dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG */ +#line 3675 "util/configparser.y" { OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_identity); cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); } -#line 7298 "util/configparser.c" +#line 7307 "util/configparser.c" break; - case 693: /* dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG */ -#line 3680 "util/configparser.y" + case 695: /* dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG */ +#line 3682 "util/configparser.y" { OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_version); cfg_parser->cfg->dnstap_version = (yyvsp[0].str); } -#line 7308 "util/configparser.c" +#line 7317 "util/configparser.c" break; - case 694: /* dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG */ -#line 3687 "util/configparser.y" + case 696: /* dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG */ +#line 3689 "util/configparser.y" { OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7317,11 +7326,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7321 "util/configparser.c" +#line 7330 "util/configparser.c" break; - case 695: /* dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG */ -#line 3697 "util/configparser.y" + case 697: /* dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG */ +#line 3699 "util/configparser.y" { OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7330,11 +7339,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7334 "util/configparser.c" +#line 7343 "util/configparser.c" break; - case 696: /* dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG */ -#line 3707 "util/configparser.y" + case 698: /* dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG */ +#line 3709 "util/configparser.y" { OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7343,11 +7352,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7347 "util/configparser.c" +#line 7356 "util/configparser.c" break; - case 697: /* dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG */ -#line 3717 "util/configparser.y" + case 699: /* dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG */ +#line 3719 "util/configparser.y" { OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7356,11 +7365,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7360 "util/configparser.c" +#line 7369 "util/configparser.c" break; - case 698: /* dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG */ -#line 3727 "util/configparser.y" + case 700: /* dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG */ +#line 3729 "util/configparser.y" { OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7369,11 +7378,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7373 "util/configparser.c" +#line 7382 "util/configparser.c" break; - case 699: /* dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG */ -#line 3737 "util/configparser.y" + case 701: /* dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG */ +#line 3739 "util/configparser.y" { OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7382,11 +7391,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7386 "util/configparser.c" +#line 7395 "util/configparser.c" break; - case 700: /* dt_dnstap_sample_rate: VAR_DNSTAP_SAMPLE_RATE STRING_ARG */ -#line 3747 "util/configparser.y" + case 702: /* dt_dnstap_sample_rate: VAR_DNSTAP_SAMPLE_RATE STRING_ARG */ +#line 3749 "util/configparser.y" { OUTYY(("P(dt_dnstap_sample_rate:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -7396,49 +7405,49 @@ yyreduce: else cfg_parser->cfg->dnstap_sample_rate = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 7400 "util/configparser.c" +#line 7409 "util/configparser.c" break; - case 701: /* pythonstart: VAR_PYTHON */ -#line 3758 "util/configparser.y" + case 703: /* pythonstart: VAR_PYTHON */ +#line 3760 "util/configparser.y" { OUTYY(("\nP(python:)\n")); cfg_parser->started_toplevel = 1; } -#line 7409 "util/configparser.c" +#line 7418 "util/configparser.c" break; - case 705: /* py_script: VAR_PYTHON_SCRIPT STRING_ARG */ -#line 3768 "util/configparser.y" + case 707: /* py_script: VAR_PYTHON_SCRIPT STRING_ARG */ +#line 3770 "util/configparser.y" { OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str))) yyerror("out of memory"); } -#line 7419 "util/configparser.c" +#line 7428 "util/configparser.c" break; - case 706: /* dynlibstart: VAR_DYNLIB */ -#line 3775 "util/configparser.y" + case 708: /* dynlibstart: VAR_DYNLIB */ +#line 3777 "util/configparser.y" { OUTYY(("\nP(dynlib:)\n")); cfg_parser->started_toplevel = 1; } -#line 7428 "util/configparser.c" +#line 7437 "util/configparser.c" break; - case 710: /* dl_file: VAR_DYNLIB_FILE STRING_ARG */ -#line 3785 "util/configparser.y" + case 712: /* dl_file: VAR_DYNLIB_FILE STRING_ARG */ +#line 3787 "util/configparser.y" { OUTYY(("P(dynlib-file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[0].str))) yyerror("out of memory"); } -#line 7438 "util/configparser.c" +#line 7447 "util/configparser.c" break; - case 711: /* server_disable_dnssec_lame_check: VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG */ -#line 3792 "util/configparser.y" + case 713: /* server_disable_dnssec_lame_check: VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG */ +#line 3794 "util/configparser.y" { OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7447,21 +7456,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7451 "util/configparser.c" +#line 7460 "util/configparser.c" break; - case 712: /* server_log_identity: VAR_LOG_IDENTITY STRING_ARG */ -#line 3802 "util/configparser.y" + case 714: /* server_log_identity: VAR_LOG_IDENTITY STRING_ARG */ +#line 3804 "util/configparser.y" { OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->log_identity); cfg_parser->cfg->log_identity = (yyvsp[0].str); } -#line 7461 "util/configparser.c" +#line 7470 "util/configparser.c" break; - case 713: /* server_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG */ -#line 3809 "util/configparser.y" + case 715: /* server_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG */ +#line 3811 "util/configparser.y" { OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -7469,31 +7478,31 @@ yyreduce: (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 7473 "util/configparser.c" +#line 7482 "util/configparser.c" break; - case 714: /* server_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG */ -#line 3818 "util/configparser.y" + case 716: /* server_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG */ +#line 3820 "util/configparser.y" { OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) yyerror("out of memory"); } -#line 7484 "util/configparser.c" +#line 7493 "util/configparser.c" break; - case 715: /* dnscstart: VAR_DNSCRYPT */ -#line 3826 "util/configparser.y" + case 717: /* dnscstart: VAR_DNSCRYPT */ +#line 3828 "util/configparser.y" { OUTYY(("\nP(dnscrypt:)\n")); cfg_parser->started_toplevel = 1; } -#line 7493 "util/configparser.c" +#line 7502 "util/configparser.c" break; - case 728: /* dnsc_dnscrypt_enable: VAR_DNSCRYPT_ENABLE STRING_ARG */ -#line 3843 "util/configparser.y" + case 730: /* dnsc_dnscrypt_enable: VAR_DNSCRYPT_ENABLE STRING_ARG */ +#line 3845 "util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7501,11 +7510,11 @@ yyreduce: else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7505 "util/configparser.c" +#line 7514 "util/configparser.c" break; - case 729: /* dnsc_dnscrypt_port: VAR_DNSCRYPT_PORT STRING_ARG */ -#line 3852 "util/configparser.y" + case 731: /* dnsc_dnscrypt_port: VAR_DNSCRYPT_PORT STRING_ARG */ +#line 3854 "util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -7513,21 +7522,21 @@ yyreduce: else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 7517 "util/configparser.c" +#line 7526 "util/configparser.c" break; - case 730: /* dnsc_dnscrypt_provider: VAR_DNSCRYPT_PROVIDER STRING_ARG */ -#line 3861 "util/configparser.y" + case 732: /* dnsc_dnscrypt_provider: VAR_DNSCRYPT_PROVIDER STRING_ARG */ +#line 3863 "util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnscrypt_provider); cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); } -#line 7527 "util/configparser.c" +#line 7536 "util/configparser.c" break; - case 731: /* dnsc_dnscrypt_provider_cert: VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG */ -#line 3868 "util/configparser.y" + case 733: /* dnsc_dnscrypt_provider_cert: VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG */ +#line 3870 "util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str))); if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) { @@ -7537,21 +7546,21 @@ yyreduce: yyerror("out of memory"); } } -#line 7541 "util/configparser.c" +#line 7550 "util/configparser.c" break; - case 732: /* dnsc_dnscrypt_provider_cert_rotated: VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG */ -#line 3879 "util/configparser.y" + case 734: /* dnsc_dnscrypt_provider_cert_rotated: VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG */ +#line 3881 "util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str))) yyerror("out of memory"); } -#line 7551 "util/configparser.c" +#line 7560 "util/configparser.c" break; - case 733: /* dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG */ -#line 3886 "util/configparser.y" + case 735: /* dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG */ +#line 3888 "util/configparser.y" { OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str))); if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) { @@ -7561,22 +7570,22 @@ yyreduce: yyerror("out of memory"); } } -#line 7565 "util/configparser.c" +#line 7574 "util/configparser.c" break; - case 734: /* dnsc_dnscrypt_shared_secret_cache_size: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG */ -#line 3897 "util/configparser.y" + case 736: /* dnsc_dnscrypt_shared_secret_cache_size: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG */ +#line 3899 "util/configparser.y" { OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 7576 "util/configparser.c" +#line 7585 "util/configparser.c" break; - case 735: /* dnsc_dnscrypt_shared_secret_cache_slabs: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG */ -#line 3905 "util/configparser.y" + case 737: /* dnsc_dnscrypt_shared_secret_cache_slabs: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG */ +#line 3907 "util/configparser.y" { OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -7588,22 +7597,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 7592 "util/configparser.c" +#line 7601 "util/configparser.c" break; - case 736: /* dnsc_dnscrypt_nonce_cache_size: VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG */ -#line 3918 "util/configparser.y" + case 738: /* dnsc_dnscrypt_nonce_cache_size: VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG */ +#line 3920 "util/configparser.y" { OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 7603 "util/configparser.c" +#line 7612 "util/configparser.c" break; - case 737: /* dnsc_dnscrypt_nonce_cache_slabs: VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG */ -#line 3926 "util/configparser.y" + case 739: /* dnsc_dnscrypt_nonce_cache_slabs: VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG */ +#line 3928 "util/configparser.y" { OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) { @@ -7615,20 +7624,20 @@ yyreduce: } free((yyvsp[0].str)); } -#line 7619 "util/configparser.c" +#line 7628 "util/configparser.c" break; - case 738: /* cachedbstart: VAR_CACHEDB */ -#line 3939 "util/configparser.y" + case 740: /* cachedbstart: VAR_CACHEDB */ +#line 3941 "util/configparser.y" { OUTYY(("\nP(cachedb:)\n")); cfg_parser->started_toplevel = 1; } -#line 7628 "util/configparser.c" +#line 7637 "util/configparser.c" break; - case 762: /* cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG */ -#line 3959 "util/configparser.y" + case 764: /* cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG */ +#line 3961 "util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(backend:%s)\n", (yyvsp[0].str))); @@ -7639,11 +7648,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7643 "util/configparser.c" +#line 7652 "util/configparser.c" break; - case 763: /* cachedb_secret_seed: VAR_CACHEDB_SECRETSEED STRING_ARG */ -#line 3971 "util/configparser.y" + case 765: /* cachedb_secret_seed: VAR_CACHEDB_SECRETSEED STRING_ARG */ +#line 3973 "util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str))); @@ -7654,11 +7663,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7658 "util/configparser.c" +#line 7667 "util/configparser.c" break; - case 764: /* cachedb_no_store: VAR_CACHEDB_NO_STORE STRING_ARG */ -#line 3983 "util/configparser.y" + case 766: /* cachedb_no_store: VAR_CACHEDB_NO_STORE STRING_ARG */ +#line 3985 "util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(cachedb_no_store:%s)\n", (yyvsp[0].str))); @@ -7670,11 +7679,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7674 "util/configparser.c" +#line 7683 "util/configparser.c" break; - case 765: /* cachedb_check_when_serve_expired: VAR_CACHEDB_CHECK_WHEN_SERVE_EXPIRED STRING_ARG */ -#line 3996 "util/configparser.y" + case 767: /* cachedb_check_when_serve_expired: VAR_CACHEDB_CHECK_WHEN_SERVE_EXPIRED STRING_ARG */ +#line 3998 "util/configparser.y" { #ifdef USE_CACHEDB OUTYY(("P(cachedb_check_when_serve_expired:%s)\n", (yyvsp[0].str))); @@ -7686,11 +7695,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7690 "util/configparser.c" +#line 7699 "util/configparser.c" break; - case 766: /* redis_server_host: VAR_CACHEDB_REDISHOST STRING_ARG */ -#line 4009 "util/configparser.y" + case 768: /* redis_server_host: VAR_CACHEDB_REDISHOST STRING_ARG */ +#line 4011 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str))); @@ -7701,11 +7710,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7705 "util/configparser.c" +#line 7714 "util/configparser.c" break; - case 767: /* redis_replica_server_host: VAR_CACHEDB_REDISREPLICAHOST STRING_ARG */ -#line 4021 "util/configparser.y" + case 769: /* redis_replica_server_host: VAR_CACHEDB_REDISREPLICAHOST STRING_ARG */ +#line 4023 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_replica_server_host:%s)\n", (yyvsp[0].str))); @@ -7716,11 +7725,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7720 "util/configparser.c" +#line 7729 "util/configparser.c" break; - case 768: /* redis_server_port: VAR_CACHEDB_REDISPORT STRING_ARG */ -#line 4033 "util/configparser.y" + case 770: /* redis_server_port: VAR_CACHEDB_REDISPORT STRING_ARG */ +#line 4035 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) int port; @@ -7734,11 +7743,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7738 "util/configparser.c" +#line 7747 "util/configparser.c" break; - case 769: /* redis_replica_server_port: VAR_CACHEDB_REDISREPLICAPORT STRING_ARG */ -#line 4048 "util/configparser.y" + case 771: /* redis_replica_server_port: VAR_CACHEDB_REDISREPLICAPORT STRING_ARG */ +#line 4050 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) int port; @@ -7752,11 +7761,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7756 "util/configparser.c" +#line 7765 "util/configparser.c" break; - case 770: /* redis_server_path: VAR_CACHEDB_REDISPATH STRING_ARG */ -#line 4063 "util/configparser.y" + case 772: /* redis_server_path: VAR_CACHEDB_REDISPATH STRING_ARG */ +#line 4065 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_server_path:%s)\n", (yyvsp[0].str))); @@ -7767,11 +7776,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7771 "util/configparser.c" +#line 7780 "util/configparser.c" break; - case 771: /* redis_replica_server_path: VAR_CACHEDB_REDISREPLICAPATH STRING_ARG */ -#line 4075 "util/configparser.y" + case 773: /* redis_replica_server_path: VAR_CACHEDB_REDISREPLICAPATH STRING_ARG */ +#line 4077 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_replica_server_path:%s)\n", (yyvsp[0].str))); @@ -7782,11 +7791,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7786 "util/configparser.c" +#line 7795 "util/configparser.c" break; - case 772: /* redis_server_password: VAR_CACHEDB_REDISPASSWORD STRING_ARG */ -#line 4087 "util/configparser.y" + case 774: /* redis_server_password: VAR_CACHEDB_REDISPASSWORD STRING_ARG */ +#line 4089 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_server_password:%s)\n", (yyvsp[0].str))); @@ -7797,11 +7806,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7801 "util/configparser.c" +#line 7810 "util/configparser.c" break; - case 773: /* redis_replica_server_password: VAR_CACHEDB_REDISREPLICAPASSWORD STRING_ARG */ -#line 4099 "util/configparser.y" + case 775: /* redis_replica_server_password: VAR_CACHEDB_REDISREPLICAPASSWORD STRING_ARG */ +#line 4101 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_replica_server_password:%s)\n", (yyvsp[0].str))); @@ -7812,11 +7821,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 7816 "util/configparser.c" +#line 7825 "util/configparser.c" break; - case 774: /* redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG */ -#line 4111 "util/configparser.y" + case 776: /* redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG */ +#line 4113 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str))); @@ -7828,11 +7837,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7832 "util/configparser.c" +#line 7841 "util/configparser.c" break; - case 775: /* redis_replica_timeout: VAR_CACHEDB_REDISREPLICATIMEOUT STRING_ARG */ -#line 4124 "util/configparser.y" + case 777: /* redis_replica_timeout: VAR_CACHEDB_REDISREPLICATIMEOUT STRING_ARG */ +#line 4126 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_replica_timeout:%s)\n", (yyvsp[0].str))); @@ -7844,11 +7853,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7848 "util/configparser.c" +#line 7857 "util/configparser.c" break; - case 776: /* redis_command_timeout: VAR_CACHEDB_REDISCOMMANDTIMEOUT STRING_ARG */ -#line 4137 "util/configparser.y" + case 778: /* redis_command_timeout: VAR_CACHEDB_REDISCOMMANDTIMEOUT STRING_ARG */ +#line 4139 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_command_timeout:%s)\n", (yyvsp[0].str))); @@ -7860,11 +7869,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7864 "util/configparser.c" +#line 7873 "util/configparser.c" break; - case 777: /* redis_replica_command_timeout: VAR_CACHEDB_REDISREPLICACOMMANDTIMEOUT STRING_ARG */ -#line 4150 "util/configparser.y" + case 779: /* redis_replica_command_timeout: VAR_CACHEDB_REDISREPLICACOMMANDTIMEOUT STRING_ARG */ +#line 4152 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_replica_command_timeout:%s)\n", (yyvsp[0].str))); @@ -7876,11 +7885,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7880 "util/configparser.c" +#line 7889 "util/configparser.c" break; - case 778: /* redis_connect_timeout: VAR_CACHEDB_REDISCONNECTTIMEOUT STRING_ARG */ -#line 4163 "util/configparser.y" + case 780: /* redis_connect_timeout: VAR_CACHEDB_REDISCONNECTTIMEOUT STRING_ARG */ +#line 4165 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_connect_timeout:%s)\n", (yyvsp[0].str))); @@ -7892,11 +7901,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7896 "util/configparser.c" +#line 7905 "util/configparser.c" break; - case 779: /* redis_replica_connect_timeout: VAR_CACHEDB_REDISREPLICACONNECTTIMEOUT STRING_ARG */ -#line 4176 "util/configparser.y" + case 781: /* redis_replica_connect_timeout: VAR_CACHEDB_REDISREPLICACONNECTTIMEOUT STRING_ARG */ +#line 4178 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_replica_connect_timeout:%s)\n", (yyvsp[0].str))); @@ -7908,11 +7917,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7912 "util/configparser.c" +#line 7921 "util/configparser.c" break; - case 780: /* redis_expire_records: VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG */ -#line 4189 "util/configparser.y" + case 782: /* redis_expire_records: VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG */ +#line 4191 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[0].str))); @@ -7924,11 +7933,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7928 "util/configparser.c" +#line 7937 "util/configparser.c" break; - case 781: /* redis_logical_db: VAR_CACHEDB_REDISLOGICALDB STRING_ARG */ -#line 4202 "util/configparser.y" + case 783: /* redis_logical_db: VAR_CACHEDB_REDISLOGICALDB STRING_ARG */ +#line 4204 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) int db; @@ -7942,11 +7951,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7946 "util/configparser.c" +#line 7955 "util/configparser.c" break; - case 782: /* redis_replica_logical_db: VAR_CACHEDB_REDISREPLICALOGICALDB STRING_ARG */ -#line 4217 "util/configparser.y" + case 784: /* redis_replica_logical_db: VAR_CACHEDB_REDISREPLICALOGICALDB STRING_ARG */ +#line 4219 "util/configparser.y" { #if defined(USE_CACHEDB) && defined(USE_REDIS) int db; @@ -7960,11 +7969,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 7964 "util/configparser.c" +#line 7973 "util/configparser.c" break; - case 783: /* server_tcp_connection_limit: VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG */ -#line 4232 "util/configparser.y" + case 785: /* server_tcp_connection_limit: VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG */ +#line 4234 "util/configparser.y" { OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if (atoi((yyvsp[0].str)) < 0) @@ -7974,11 +7983,11 @@ yyreduce: yyerror("out of memory"); } } -#line 7978 "util/configparser.c" +#line 7987 "util/configparser.c" break; - case 784: /* server_answer_cookie: VAR_ANSWER_COOKIE STRING_ARG */ -#line 4243 "util/configparser.y" + case 786: /* server_answer_cookie: VAR_ANSWER_COOKIE STRING_ARG */ +#line 4245 "util/configparser.y" { OUTYY(("P(server_answer_cookie:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -7986,11 +7995,11 @@ yyreduce: else cfg_parser->cfg->do_answer_cookie = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 7990 "util/configparser.c" +#line 7999 "util/configparser.c" break; - case 785: /* server_cookie_secret: VAR_COOKIE_SECRET STRING_ARG */ -#line 4252 "util/configparser.y" + case 787: /* server_cookie_secret: VAR_COOKIE_SECRET STRING_ARG */ +#line 4254 "util/configparser.y" { uint8_t secret[32]; size_t secret_len = sizeof(secret); @@ -8005,21 +8014,21 @@ yyreduce: } free((yyvsp[0].str)); } -#line 8009 "util/configparser.c" +#line 8018 "util/configparser.c" break; - case 786: /* server_cookie_secret_file: VAR_COOKIE_SECRET_FILE STRING_ARG */ -#line 4268 "util/configparser.y" + case 788: /* server_cookie_secret_file: VAR_COOKIE_SECRET_FILE STRING_ARG */ +#line 4270 "util/configparser.y" { OUTYY(("P(cookie_secret_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->cookie_secret_file); cfg_parser->cfg->cookie_secret_file = (yyvsp[0].str); } -#line 8019 "util/configparser.c" +#line 8028 "util/configparser.c" break; - case 787: /* server_iter_scrub_ns: VAR_ITER_SCRUB_NS STRING_ARG */ -#line 4275 "util/configparser.y" + case 789: /* server_iter_scrub_ns: VAR_ITER_SCRUB_NS STRING_ARG */ +#line 4277 "util/configparser.y" { OUTYY(("P(server_iter_scrub_ns:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) < 1) @@ -8027,11 +8036,11 @@ yyreduce: else cfg_parser->cfg->iter_scrub_ns = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 8031 "util/configparser.c" +#line 8040 "util/configparser.c" break; - case 788: /* server_iter_scrub_cname: VAR_ITER_SCRUB_CNAME STRING_ARG */ -#line 4284 "util/configparser.y" + case 790: /* server_iter_scrub_cname: VAR_ITER_SCRUB_CNAME STRING_ARG */ +#line 4286 "util/configparser.y" { OUTYY(("P(server_iter_scrub_cname:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -8039,11 +8048,11 @@ yyreduce: else cfg_parser->cfg->iter_scrub_cname = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 8043 "util/configparser.c" +#line 8052 "util/configparser.c" break; - case 789: /* server_iter_scrub_rrsig: VAR_ITER_SCRUB_RRSIG STRING_ARG */ -#line 4293 "util/configparser.y" + case 791: /* server_iter_scrub_rrsig: VAR_ITER_SCRUB_RRSIG STRING_ARG */ +#line 4295 "util/configparser.y" { OUTYY(("P(server_iter_scrub_rrsig:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -8051,11 +8060,11 @@ yyreduce: else cfg_parser->cfg->iter_scrub_rrsig = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 8055 "util/configparser.c" +#line 8064 "util/configparser.c" break; - case 790: /* server_max_global_quota: VAR_MAX_GLOBAL_QUOTA STRING_ARG */ -#line 4302 "util/configparser.y" + case 792: /* server_max_global_quota: VAR_MAX_GLOBAL_QUOTA STRING_ARG */ +#line 4304 "util/configparser.y" { OUTYY(("P(server_max_global_quota:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -8063,11 +8072,11 @@ yyreduce: else cfg_parser->cfg->max_global_quota = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 8067 "util/configparser.c" +#line 8076 "util/configparser.c" break; - case 791: /* server_iter_scrub_promiscuous: VAR_ITER_SCRUB_PROMISCUOUS STRING_ARG */ -#line 4311 "util/configparser.y" + case 793: /* server_iter_scrub_promiscuous: VAR_ITER_SCRUB_PROMISCUOUS STRING_ARG */ +#line 4313 "util/configparser.y" { OUTYY(("P(server_iter_scrub_promiscuous:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -8076,20 +8085,44 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 8080 "util/configparser.c" +#line 8089 "util/configparser.c" break; - case 792: /* ipsetstart: VAR_IPSET */ -#line 4321 "util/configparser.y" + case 794: /* server_val_validation_attempts: VAR_VAL_VALIDATION_ATTEMPTS STRING_ARG */ +#line 4323 "util/configparser.y" + { + OUTYY(("P(server_val_validation_attempts:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) + yyerror("number expected"); + else cfg_parser->cfg->val_validation_attempts = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); + } +#line 8101 "util/configparser.c" + break; + + case 795: /* server_val_hash_attempts: VAR_VAL_HASH_ATTEMPTS STRING_ARG */ +#line 4332 "util/configparser.y" + { + OUTYY(("P(server_val_hash_attempts:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) + yyerror("number expected"); + else cfg_parser->cfg->val_hash_attempts = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); + } +#line 8113 "util/configparser.c" + break; + + case 796: /* ipsetstart: VAR_IPSET */ +#line 4341 "util/configparser.y" { OUTYY(("\nP(ipset:)\n")); cfg_parser->started_toplevel = 1; } -#line 8089 "util/configparser.c" +#line 8122 "util/configparser.c" break; - case 797: /* ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG */ -#line 4331 "util/configparser.y" + case 801: /* ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG */ +#line 4351 "util/configparser.y" { #ifdef USE_IPSET OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str))); @@ -8103,11 +8136,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 8107 "util/configparser.c" +#line 8140 "util/configparser.c" break; - case 798: /* ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG */ -#line 4346 "util/configparser.y" + case 802: /* ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG */ +#line 4366 "util/configparser.y" { #ifdef USE_IPSET OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str))); @@ -8121,11 +8154,11 @@ yyreduce: free((yyvsp[0].str)); #endif } -#line 8125 "util/configparser.c" +#line 8158 "util/configparser.c" break; -#line 8129 "util/configparser.c" +#line 8162 "util/configparser.c" default: break; } @@ -8318,7 +8351,7 @@ yyreturnlab: return yyresult; } -#line 4360 "util/configparser.y" +#line 4380 "util/configparser.y" /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index 95e317feb7d1..099deff9c38b 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -432,8 +432,10 @@ extern int yydebug; VAR_MAX_GLOBAL_QUOTA = 633, /* VAR_MAX_GLOBAL_QUOTA */ VAR_HARDEN_UNVERIFIED_GLUE = 634, /* VAR_HARDEN_UNVERIFIED_GLUE */ VAR_LOG_TIME_ISO = 635, /* VAR_LOG_TIME_ISO */ - VAR_ITER_SCRUB_PROMISCUOUS = 636, /* VAR_ITER_SCRUB_PROMISCUOUS */ - VAR_LOG_THREAD_ID = 637 /* VAR_LOG_THREAD_ID */ + VAR_VAL_VALIDATION_ATTEMPTS = 636, /* VAR_VAL_VALIDATION_ATTEMPTS */ + VAR_VAL_HASH_ATTEMPTS = 637, /* VAR_VAL_HASH_ATTEMPTS */ + VAR_ITER_SCRUB_PROMISCUOUS = 638, /* VAR_ITER_SCRUB_PROMISCUOUS */ + VAR_LOG_THREAD_ID = 639 /* VAR_LOG_THREAD_ID */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -820,8 +822,10 @@ extern int yydebug; #define VAR_MAX_GLOBAL_QUOTA 633 #define VAR_HARDEN_UNVERIFIED_GLUE 634 #define VAR_LOG_TIME_ISO 635 -#define VAR_ITER_SCRUB_PROMISCUOUS 636 -#define VAR_LOG_THREAD_ID 637 +#define VAR_VAL_VALIDATION_ATTEMPTS 636 +#define VAR_VAL_HASH_ATTEMPTS 637 +#define VAR_ITER_SCRUB_PROMISCUOUS 638 +#define VAR_LOG_THREAD_ID 639 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -831,7 +835,7 @@ union YYSTYPE char* str; -#line 835 "util/configparser.h" +#line 839 "util/configparser.h" }; typedef union YYSTYPE YYSTYPE; diff --git a/util/configparser.y b/util/configparser.y index 490bba0ffaa4..1f877df0bba7 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -218,6 +218,7 @@ extern struct config_parser_state* cfg_parser; %token VAR_ITER_SCRUB_RRSIG %token VAR_MAX_TRANSFER_SIZE VAR_MAX_TRANSFER_TIME %token VAR_MAX_GLOBAL_QUOTA VAR_HARDEN_UNVERIFIED_GLUE VAR_LOG_TIME_ISO +%token VAR_VAL_VALIDATION_ATTEMPTS VAR_VAL_HASH_ATTEMPTS %token VAR_ITER_SCRUB_PROMISCUOUS VAR_LOG_THREAD_ID %% @@ -360,7 +361,8 @@ content_server: server_num_threads | server_verbosity | server_port | server_harden_unknown_additional | server_disable_edns_do | server_log_destaddr | server_cookie_secret_file | server_iter_scrub_ns | server_iter_scrub_cname | server_max_global_quota | - server_iter_scrub_rrsig | + server_val_validation_attempts | + server_val_hash_attempts | server_iter_scrub_rrsig | server_harden_unverified_glue | server_log_time_iso | server_iter_scrub_promiscuous ; stub_clause: stubstart contents_stub @@ -4317,6 +4319,24 @@ server_iter_scrub_promiscuous: VAR_ITER_SCRUB_PROMISCUOUS STRING_ARG free($2); } ; +server_val_validation_attempts: VAR_VAL_VALIDATION_ATTEMPTS STRING_ARG + { + OUTYY(("P(server_val_validation_attempts:%s)\n", $2)); + if(atoi($2) == 0 && strcmp($2, "0") != 0) + yyerror("number expected"); + else cfg_parser->cfg->val_validation_attempts = atoi($2); + free($2); + } + ; +server_val_hash_attempts: VAR_VAL_HASH_ATTEMPTS STRING_ARG + { + OUTYY(("P(server_val_hash_attempts:%s)\n", $2)); + if(atoi($2) == 0 && strcmp($2, "0") != 0) + yyerror("number expected"); + else cfg_parser->cfg->val_hash_attempts = atoi($2); + free($2); + } + ; ipsetstart: VAR_IPSET { OUTYY(("\nP(ipset:)\n")); diff --git a/util/data/dname.c b/util/data/dname.c index 5370aa6f9585..9fbbe109246a 100644 --- a/util/data/dname.c +++ b/util/data/dname.c @@ -192,34 +192,34 @@ pkt_dname_len(sldns_buffer* pkt) while(1) { /* read next label */ if(sldns_buffer_remaining(pkt) < 1) - return 0; + goto fail; labellen = sldns_buffer_read_u8(pkt); if(LABEL_IS_PTR(labellen)) { /* compression ptr */ uint16_t ptr; if(sldns_buffer_remaining(pkt) < 1) - return 0; + goto fail; ptr = PTR_OFFSET(labellen, sldns_buffer_read_u8(pkt)); if(ptrcount++ > MAX_COMPRESS_PTRS) - return 0; /* loop! */ + goto fail; /* loop! */ if(sldns_buffer_limit(pkt) <= ptr) - return 0; /* out of bounds! */ + goto fail; /* out of bounds! */ if(!endpos) endpos = sldns_buffer_position(pkt); sldns_buffer_set_position(pkt, ptr); } else { /* label contents */ if(labellen > 0x3f) - return 0; /* label too long */ + goto fail; /* label too long */ len += 1 + labellen; if(len > LDNS_MAX_DOMAINLEN) - return 0; + goto fail; if(labellen == 0) { /* end of dname */ break; } if(sldns_buffer_remaining(pkt) < labellen) - return 0; + goto fail; sldns_buffer_skip(pkt, (ssize_t)labellen); } } @@ -227,6 +227,13 @@ pkt_dname_len(sldns_buffer* pkt) sldns_buffer_set_position(pkt, endpos); return len; +fail: + /* Restore the position on failure too: callers (rdata_copy) compute + * the consumed field length from the buffer position and must not + * see a partial walk of a name that failed to parse. */ + if(endpos) + sldns_buffer_set_position(pkt, endpos); + return 0; } int diff --git a/util/data/msgreply.c b/util/data/msgreply.c index 0beb893c3573..86193a671c34 100644 --- a/util/data/msgreply.c +++ b/util/data/msgreply.c @@ -248,6 +248,7 @@ rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to, sldns_pkt_section section) { uint16_t pkt_len; + size_t tolen; uint32_t ttl; const sldns_rr_descriptor* desc; @@ -293,9 +294,13 @@ rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to, (rr->ttl_data - sldns_buffer_begin(pkt) + sizeof(uint32_t))); /* insert decompressed size into rdata len stored in memory */ /* -2 because rdatalen bytes are not included. */ + tolen = rr->size; + if(tolen < 2) + return 0; pkt_len = htons(rr->size - 2); memmove(to, &pkt_len, sizeof(uint16_t)); to += 2; + tolen -= 2; /* read packet rdata len */ pkt_len = sldns_buffer_read_u16(pkt); if(sldns_buffer_remaining(pkt) < pkt_len) @@ -304,16 +309,29 @@ rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to, if(pkt_len > 0 && desc && desc->_dname_count > 0) { int count = (int)desc->_dname_count; int rdf = 0; - size_t len; - size_t oldpos; + size_t len, dlen; + size_t oldpos, newpos; /* decompress dnames. */ while(pkt_len > 0 && count) { switch(desc->_wireformat[rdf]) { case LDNS_RDF_TYPE_DNAME: oldpos = sldns_buffer_position(pkt); - dname_pkt_copy(pkt, to, + dlen = pkt_dname_len(pkt); + if(dlen == 0) + return 0; /* malformed */ + if(dlen > tolen) + return 0; /* alloc mismatch */ + newpos = sldns_buffer_position(pkt); + if(oldpos > newpos) + return 0; /* should have moved forward*/ + sldns_buffer_set_position(pkt, oldpos); + dname_pkt_copy(pkt, to, sldns_buffer_current(pkt)); - to += pkt_dname_len(pkt); + sldns_buffer_set_position(pkt, newpos); + to += dlen; + tolen -= dlen; + if(sldns_buffer_position(pkt)-oldpos > pkt_len) + return 0; /* malformed: walks diverged */ pkt_len -= sldns_buffer_position(pkt)-oldpos; count--; len = 0; @@ -326,9 +344,12 @@ rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to, break; } if(len) { + if(len > tolen) + return 0; /* alloc mismatch */ log_assert(len <= pkt_len); memmove(to, sldns_buffer_current(pkt), len); to += len; + tolen -= len; sldns_buffer_skip(pkt, (ssize_t)len); pkt_len -= len; } @@ -336,8 +357,11 @@ rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to, } } /* copy remaining rdata */ - if(pkt_len > 0) + if(pkt_len > 0) { + if(pkt_len > tolen) + return 0; /* alloc mismatch */ memmove(to, sldns_buffer_current(pkt), pkt_len); + } return 1; } @@ -1115,6 +1139,17 @@ reply_all_rrsets_secure(struct reply_info* rep) return 1; } +int reply_an_ns_rrsets_secure(struct reply_info* rep) +{ + size_t i; + for(i=0; i<rep->an_numrrsets+rep->ns_numrrsets; i++) { + if( ((struct packed_rrset_data*)rep->rrsets[i]->entry.data) + ->security != sec_status_secure ) + return 0; + } + return 1; +} + struct reply_info* parse_reply_in_temp_region(sldns_buffer* pkt, struct regional* region, struct query_info* qi) diff --git a/util/data/msgreply.h b/util/data/msgreply.h index e7c688e97a3a..e4476660d025 100644 --- a/util/data/msgreply.h +++ b/util/data/msgreply.h @@ -494,6 +494,9 @@ int reply_check_cname_chain(struct query_info* qinfo, struct reply_info* rep); */ int reply_all_rrsets_secure(struct reply_info* rep); +/** Check status of answer and authority section RRs. */ +int reply_an_ns_rrsets_secure(struct reply_info* rep); + /** * Find answer rrset in reply, the one matching qinfo. Follows CNAMEs, so the * result may have a different owner name. diff --git a/util/fptr_wlist.c b/util/fptr_wlist.c index 0ff6840ad5e9..1be742bd5483 100644 --- a/util/fptr_wlist.c +++ b/util/fptr_wlist.c @@ -141,6 +141,8 @@ fptr_whitelist_comm_timer(void (*fptr)(void*)) #ifdef UB_ON_WINDOWS else if(fptr == &wsvc_cron_cb) return 1; #endif + else if(fptr == &tcp_read_again_cb) return 1; + else if(fptr == &tcp_more_read_again_cb) return 1; else if(fptr == &auth_xfer_timer) return 1; else if(fptr == &auth_xfer_probe_timer_callback) return 1; else if(fptr == &auth_xfer_transfer_timer_callback) return 1; diff --git a/util/netevent.c b/util/netevent.c index 432fead1b19d..47e7c4b78045 100644 --- a/util/netevent.c +++ b/util/netevent.c @@ -122,6 +122,10 @@ #define NUM_UDP_PER_SELECT 1 #endif +/** The number of TCP queries over a TCP connection, per read indication + * from select. */ +#define NUM_TCP_PER_SELECT 100 + /** timeout in millisec to wait for write to unblock, packets dropped after.*/ #define SEND_BLOCKED_WAIT_TIMEOUT 200 /** max number of times to wait for write to unblock, packets dropped after.*/ @@ -3226,6 +3230,26 @@ static int http2_submit_settings(struct http2_session* h2_session) } #endif /* HAVE_NGHTTP2 */ +/** Clear http2 stream mesh states */ +static void http2_session_clear_meshstate(struct http2_session* h2_session) +{ +#ifdef HAVE_NGHTTP2 + /* Since the session gets closed, remove the mesh state references. */ + struct http2_stream* h2_stream; + for(h2_stream = h2_session->first_stream; h2_stream; + h2_stream = h2_stream->next) { + if(h2_stream->mesh_state) { + mesh_state_remove_reply(h2_stream->mesh, + h2_stream->mesh_state, h2_session->c, + h2_stream, NULL); + h2_stream->mesh_state = NULL; + } + } +#else + (void)h2_session; +#endif /* HAVE_NGHTTP2 */ +} + #ifdef HAVE_NGHTTP2 /** Delete http2 stream. After session delete or stream close callback */ static void http2_stream_delete(struct http2_session* h2_session, @@ -4621,6 +4645,10 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c) static int tcp_req_info_read_again(int fd, struct comm_point* c) { + /* One event-loop visit drains at most this many pipelined queries; + * the rest is re-queued, so that other file descriptors get + * serviced in between. */ + int budget = NUM_TCP_PER_SELECT; while(c->tcp_req_info->read_again) { int r; c->tcp_req_info->read_again = 0; @@ -4637,6 +4665,16 @@ tcp_req_info_read_again(int fd, struct comm_point* c) } return 0; } + if(--budget <= 0 && c->tcp_req_info->read_again) { + /* Defer the rest of the drain to the next loop turn. + * This uses a zero delay timer. For TLS the undrained + * remainder sits in OpenSSL's user-space buffer. */ + struct timeval tv; + memset(&tv, 0, sizeof(tv)); + verbose(VERB_ALGO, "Defer tcp_req_info read again"); + comm_timer_set(c->tcp_req_info->read_again_timer, &tv); + return 1; + } } return 1; } @@ -4650,6 +4688,7 @@ tcp_more_read_again(int fd, struct comm_point* c) /* this continues until the read routines get EAGAIN or so, * and thus does not call the callback, and the bool is 0 */ int* moreread = c->tcp_more_read_again; + int budget = NUM_TCP_PER_SELECT; while(moreread && *moreread) { *moreread = 0; if(!comm_point_tcp_handle_read(fd, c, 0)) { @@ -4662,6 +4701,30 @@ tcp_more_read_again(int fd, struct comm_point* c) } return; } + if(--budget <= 0 && *moreread) { + /* Defer the rest of the drain to the next loop turn. + * This uses a zero delay timer. For TLS the undrained + * remainder sits in OpenSSL's user-space buffer. */ + struct timeval tv; + memset(&tv, 0, sizeof(tv)); + if(!c->tcp_more_read_again_timer) { + c->tcp_more_read_again_timer = comm_timer_create(c->ev->base, tcp_more_read_again_cb, c); + if(!c->tcp_more_read_again_timer) { + log_err("out of memory for tcp more read again timer"); + reclaim_tcp_handler(c); + if(!c->tcp_do_close) { + fptr_ok(fptr_whitelist_comm_point( + c->callback)); + (void)(*c->callback)(c, c->cb_arg, + NETEVENT_CLOSED, NULL); + } + return; + } + } + verbose(VERB_ALGO, "Defer more read again"); + comm_timer_set(c->tcp_more_read_again_timer, &tv); + return; + } } } @@ -4690,6 +4753,23 @@ tcp_more_write_again(int fd, struct comm_point* c) } void +tcp_read_again_cb(void* arg) +{ + struct tcp_req_info* req = (struct tcp_req_info*)arg; + verbose(VERB_ALGO, "tcp_read_again_cb"); + if(!tcp_req_info_read_again(req->cp->fd, req->cp)) + return; +} + +void +tcp_more_read_again_cb(void* arg) +{ + struct comm_point* c = (struct comm_point*)arg; + verbose(VERB_ALGO, "tcp_more_read_again_cb"); + tcp_more_read_again(c->fd, c); +} + +void comm_point_tcp_handle_callback(int fd, short event, void* arg) { struct comm_point* c = (struct comm_point*)arg; @@ -6131,7 +6211,7 @@ comm_point_create_tcp_handler(struct comm_base *base, c->pp2_enabled = parent->pp2_enabled; c->pp2_header_state = pp2_header_none; if(spoolbuf) { - c->tcp_req_info = tcp_req_info_create(spoolbuf); + c->tcp_req_info = tcp_req_info_create(base, spoolbuf); if(!c->tcp_req_info) { log_err("could not create tcp commpoint"); sldns_buffer_free(c->buffer); @@ -6693,6 +6773,9 @@ comm_point_close(struct comm_point* c) *c->tcp_more_read_again = 0; if(c->tcp_more_write_again && *c->tcp_more_write_again) *c->tcp_more_write_again = 0; + if(c->tcp_more_read_again_timer && + comm_timer_is_set(c->tcp_more_read_again_timer)) + comm_timer_disable(c->tcp_more_read_again_timer); /* close fd after removing from event lists, or epoll.. is messed up */ if(c->fd != -1 && !c->do_not_close) { @@ -6732,6 +6815,7 @@ comm_point_delete(struct comm_point* c) free(c->tcp_handlers); } free(c->timeout); + comm_timer_delete(c->tcp_more_read_again_timer); if(c->type == comm_tcp || c->type == comm_local || c->type == comm_http) { sldns_buffer_free(c->buffer); #ifdef USE_DNSCRYPT @@ -6872,6 +6956,7 @@ comm_point_drop_reply(struct comm_reply* repinfo) if(repinfo->c->type == comm_http) { if(repinfo->c->h2_session) { repinfo->c->h2_session->is_drop = 1; + http2_session_clear_meshstate(repinfo->c->h2_session); if(!repinfo->c->h2_session->postpone_drop) reclaim_http_handler(repinfo->c); return; diff --git a/util/netevent.h b/util/netevent.h index 7d64fac5b540..7f53464b1bf5 100644 --- a/util/netevent.h +++ b/util/netevent.h @@ -384,6 +384,9 @@ struct comm_point { * Or leave NULL if it is not used at all. */ int* tcp_more_write_again; + /** resume timer for tcp_more_read_again */ + struct comm_timer* tcp_more_read_again_timer; + /** if set, read/write completes: read/write state of tcp is toggled. buffer reset/bytecount reset. @@ -1133,6 +1136,12 @@ void doq_send_pkt(struct comm_point* c, struct doq_pkt_addr* paddr, /** doq timer callback function. */ void doq_timer_cb(void* arg); +/** tcp read again callback function. For tcp req info listen. */ +void tcp_read_again_cb(void* arg); + +/** tcp more read again callback function. For outside network. */ +void tcp_more_read_again_cb(void* arg); + /** * This routine is published for checks and tests, and is only used internally. * handle libevent callback for timer comm. diff --git a/validator/autotrust.c b/validator/autotrust.c index fc7897b712e9..bfe0319afb10 100644 --- a/validator/autotrust.c +++ b/validator/autotrust.c @@ -1297,12 +1297,13 @@ void autr_write_file(struct module_env* env, struct trust_anchor* tp) * @param tp: trust point to verify with * @param rrset: DNSKEY rrset to verify. * @param qstate: qstate with region. + * @param vq: validator query state. * @return false on failure, true if verification successful. */ static int verify_dnskey(struct module_env* env, struct val_env* ve, struct trust_anchor* tp, struct ub_packed_rrset_key* rrset, - struct module_qstate* qstate) + struct module_qstate* qstate, struct val_qstate* vq) { char reasonbuf[256]; char* reason = NULL; @@ -1310,7 +1311,7 @@ verify_dnskey(struct module_env* env, struct val_env* ve, int downprot = env->cfg->harden_algo_downgrade; enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve, rrset, tp->ds_rrset, tp->dnskey_rrset, downprot?sigalg:NULL, &reason, - NULL, qstate, reasonbuf, sizeof(reasonbuf)); + NULL, qstate, vq, reasonbuf, sizeof(reasonbuf)); /* sigalg is ignored, it returns algorithms signalled to exist, but * in 5011 there are no other rrsets to check. if downprot is * enabled, then it checks that the DNSKEY is signed with all @@ -1350,16 +1351,18 @@ min_expiry(struct module_env* env, struct packed_rrset_data* dd) static int rr_is_selfsigned_revoked(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset, size_t i, - struct module_qstate* qstate) + struct module_qstate* qstate, struct val_qstate* vq) { enum sec_status sec; char* reason = NULL; + size_t num_tagmatches = 0; verbose(VERB_ALGO, "seen REVOKE flag, check self-signed, rr %d", (int)i); /* no algorithm downgrade protection necessary, if it is selfsigned * revoked it can be removed. */ sec = dnskey_verify_rrset(env, ve, dnskey_rrset, dnskey_rrset, i, - &reason, NULL, LDNS_SECTION_ANSWER, qstate); + &reason, NULL, LDNS_SECTION_ANSWER, qstate, vq, + &num_tagmatches); return (sec == sec_status_secure); } @@ -1575,7 +1578,7 @@ init_events(struct trust_anchor* tp) static void check_contains_revoked(struct module_env* env, struct val_env* ve, struct trust_anchor* tp, struct ub_packed_rrset_key* dnskey_rrset, - int* changed, struct module_qstate* qstate) + int* changed, struct module_qstate* qstate, struct val_qstate* vq) { struct packed_rrset_data* dd = (struct packed_rrset_data*) dnskey_rrset->entry.data; @@ -1595,7 +1598,8 @@ check_contains_revoked(struct module_env* env, struct val_env* ve, } if(!ta) continue; /* key not found */ - if(rr_is_selfsigned_revoked(env, ve, dnskey_rrset, i, qstate)) { + if(rr_is_selfsigned_revoked(env, ve, dnskey_rrset, i, qstate, + vq)) { /* checked if there is an rrsig signed by this key. */ /* same keytag, but stored can be revoked already, so * compare keytags, with +0 or +128(REVOKE flag) */ @@ -2209,7 +2213,7 @@ autr_tp_remove(struct module_env* env, struct trust_anchor* tp, int autr_process_prime(struct module_env* env, struct val_env* ve, struct trust_anchor* tp, struct ub_packed_rrset_key* dnskey_rrset, - struct module_qstate* qstate) + struct module_qstate* qstate, struct val_qstate* vq) { int changed = 0; log_assert(tp && tp->autr); @@ -2250,7 +2254,7 @@ int autr_process_prime(struct module_env* env, struct val_env* ve, return 1; /* trust point exists */ } /* check for revoked keys to remove immediately */ - check_contains_revoked(env, ve, tp, dnskey_rrset, &changed, qstate); + check_contains_revoked(env, ve, tp, dnskey_rrset, &changed, qstate, vq); if(changed) { verbose(VERB_ALGO, "autotrust: revokedkeys, reassemble"); if(!autr_assemble(tp)) { @@ -2266,7 +2270,7 @@ int autr_process_prime(struct module_env* env, struct val_env* ve, } } /* verify the dnskey rrset and see if it is valid. */ - if(!verify_dnskey(env, ve, tp, dnskey_rrset, qstate)) { + if(!verify_dnskey(env, ve, tp, dnskey_rrset, qstate, vq)) { verbose(VERB_ALGO, "autotrust: dnskey did not verify."); /* only increase failure count if this is not the first prime, * this means there was a previous successful probe */ diff --git a/validator/autotrust.h b/validator/autotrust.h index 057f2b68aed7..2e2f926684bd 100644 --- a/validator/autotrust.h +++ b/validator/autotrust.h @@ -50,6 +50,7 @@ struct module_env; struct module_qstate; struct val_env; struct sldns_buffer; +struct val_qstate; /** Autotrust anchor states */ typedef enum { @@ -190,13 +191,14 @@ void autr_point_delete(struct trust_anchor* tp); * @param dnskey_rrset: DNSKEY rrset probed (can be NULL if bad prime result). * allocated in a region. Has not been validated yet. * @param qstate: qstate with region. + * @param vq: validator query state. * @return false if trust anchor was revoked completely. * Otherwise logs errors to log, does not change return value. * On errors, likely the trust point has been unchanged. */ int autr_process_prime(struct module_env* env, struct val_env* ve, struct trust_anchor* tp, struct ub_packed_rrset_key* dnskey_rrset, - struct module_qstate* qstate); + struct module_qstate* qstate, struct val_qstate* vq); /** * Debug printout of rfc5011 tracked anchors diff --git a/validator/val_nsec.c b/validator/val_nsec.c index becd42b4db1e..a7f49d6e1557 100644 --- a/validator/val_nsec.c +++ b/validator/val_nsec.c @@ -177,7 +177,8 @@ static int nsec_verify_rrset(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* nsec, struct key_entry_key* kkey, char** reason, sldns_ede_code* reason_bogus, - struct module_qstate* qstate, char* reasonbuf, size_t reasonlen) + struct module_qstate* qstate, struct val_qstate* vq, char* reasonbuf, + size_t reasonlen) { struct packed_rrset_data* d = (struct packed_rrset_data*) nsec->entry.data; @@ -189,7 +190,7 @@ nsec_verify_rrset(struct module_env* env, struct val_env* ve, if(d->security == sec_status_secure) return 1; d->security = val_verify_rrset_entry(env, ve, nsec, kkey, reason, - reason_bogus, LDNS_SECTION_AUTHORITY, qstate, &verified, + reason_bogus, LDNS_SECTION_AUTHORITY, qstate, vq, &verified, reasonbuf, reasonlen); if(d->security == sec_status_secure) { rrset_update_sec_status(env->rrset_cache, nsec, *env->now); @@ -203,7 +204,7 @@ val_nsec_prove_nodata_dsreply(struct module_env* env, struct val_env* ve, struct query_info* qinfo, struct reply_info* rep, struct key_entry_key* kkey, time_t* proof_ttl, char** reason, sldns_ede_code* reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, char* reasonbuf, size_t reasonlen) { struct ub_packed_rrset_key* nsec = reply_find_rrset_section_ns( rep, qinfo->qname, qinfo->qname_len, LDNS_RR_TYPE_NSEC, @@ -221,7 +222,7 @@ val_nsec_prove_nodata_dsreply(struct module_env* env, struct val_env* ve, * 2) this is not a delegation point */ if(nsec) { if(!nsec_verify_rrset(env, ve, nsec, kkey, reason, - reason_bogus, qstate, reasonbuf, reasonlen)) { + reason_bogus, qstate, vq, reasonbuf, reasonlen)) { verbose(VERB_ALGO, "NSEC RRset for the " "referral did not verify."); return sec_status_bogus; @@ -258,7 +259,7 @@ val_nsec_prove_nodata_dsreply(struct module_env* env, struct val_env* ve, if(rep->rrsets[i]->rk.type != htons(LDNS_RR_TYPE_NSEC)) continue; if(!nsec_verify_rrset(env, ve, rep->rrsets[i], kkey, reason, - reason_bogus, qstate, reasonbuf, reasonlen)) { + reason_bogus, qstate, vq, reasonbuf, reasonlen)) { verbose(VERB_ALGO, "NSEC for empty non-terminal " "did not verify."); *reason = "NSEC for empty non-terminal " diff --git a/validator/val_nsec.h b/validator/val_nsec.h index c1d45314abea..a9002b78ab3f 100644 --- a/validator/val_nsec.h +++ b/validator/val_nsec.h @@ -52,6 +52,7 @@ struct ub_packed_rrset_key; struct reply_info; struct query_info; struct key_entry_key; +struct val_qstate; /** * Check DS absence. @@ -68,6 +69,7 @@ struct key_entry_key; * @param reason: string explaining why bogus. * @param reason_bogus: relevant EDE code for validation failure. * @param qstate: qstate with region. + * @param vq: validator qstate. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. * @return security status. @@ -80,7 +82,8 @@ enum sec_status val_nsec_prove_nodata_dsreply(struct module_env* env, struct val_env* ve, struct query_info* qinfo, struct reply_info* rep, struct key_entry_key* kkey, time_t* proof_ttl, char** reason, sldns_ede_code* reason_bogus, - struct module_qstate* qstate, char* reasonbuf, size_t reasonlen); + struct module_qstate* qstate, struct val_qstate* vq, char* reasonbuf, + size_t reasonlen); /** * nsec typemap check, takes an NSEC-type bitmap as argument, checks for type. diff --git a/validator/val_nsec3.c b/validator/val_nsec3.c index d0385be68e0c..8314f2db93e2 100644 --- a/validator/val_nsec3.c +++ b/validator/val_nsec3.c @@ -1521,7 +1521,8 @@ static int list_is_secure(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key** list, size_t num, struct key_entry_key* kkey, char** reason, sldns_ede_code *reason_bogus, - struct module_qstate* qstate, char* reasonbuf, size_t reasonlen) + struct module_qstate* qstate, struct val_qstate* vq, char* reasonbuf, + size_t reasonlen) { struct packed_rrset_data* d; size_t i; @@ -1537,7 +1538,7 @@ list_is_secure(struct module_env* env, struct val_env* ve, continue; d->security = val_verify_rrset_entry(env, ve, list[i], kkey, reason, reason_bogus, LDNS_SECTION_AUTHORITY, qstate, - &verified, reasonbuf, reasonlen); + vq, &verified, reasonbuf, reasonlen); if(d->security != sec_status_secure) { verbose(VERB_ALGO, "NSEC3 did not verify"); return 0; @@ -1552,7 +1553,8 @@ nsec3_prove_nods(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key** list, size_t num, struct query_info* qinfo, struct key_entry_key* kkey, char** reason, sldns_ede_code* reason_bogus, struct module_qstate* qstate, - struct nsec3_cache_table* ct, char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, struct nsec3_cache_table* ct, char* reasonbuf, + size_t reasonlen) { struct nsec3_filter flt; struct ce_response ce; @@ -1568,7 +1570,7 @@ nsec3_prove_nods(struct module_env* env, struct val_env* ve, return sec_status_bogus; /* no valid NSEC3s, bogus */ } if(!list_is_secure(env, ve, list, num, kkey, reason, reason_bogus, - qstate, reasonbuf, reasonlen)) { + qstate, vq, reasonbuf, reasonlen)) { *reason = "not all NSEC3 records secure"; return sec_status_bogus; /* not all NSEC3 records secure */ } diff --git a/validator/val_nsec3.h b/validator/val_nsec3.h index a13e92991106..b6f56741ffa1 100644 --- a/validator/val_nsec3.h +++ b/validator/val_nsec3.h @@ -78,6 +78,7 @@ struct reply_info; struct query_info; struct key_entry_key; struct sldns_buffer; +struct val_qstate; /** * 0 1 2 3 4 5 6 7 @@ -215,6 +216,7 @@ nsec3_prove_wildcard(struct module_env* env, struct val_env* ve, * @param reason: string for bogus result. * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param qstate: qstate with region. + * @param vq: validator qstate. * @param ct: cached hashes table. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. @@ -230,7 +232,8 @@ nsec3_prove_nods(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key** list, size_t num, struct query_info* qinfo, struct key_entry_key* kkey, char** reason, sldns_ede_code* reason_bogus, struct module_qstate* qstate, - struct nsec3_cache_table* ct, char* reasonbuf, size_t reasonlen); + struct val_qstate* vq, struct nsec3_cache_table* ct, char* reasonbuf, + size_t reasonlen); /** * Prove NXDOMAIN or NODATA. diff --git a/validator/val_sigcrypt.c b/validator/val_sigcrypt.c index 4139cc1fe0ce..612754cf3fcb 100644 --- a/validator/val_sigcrypt.c +++ b/validator/val_sigcrypt.c @@ -82,6 +82,8 @@ /** Maximum number of RRSIG validations for an RRset. */ #define MAX_VALIDATE_RRSIGS 8 +/** Maximum number of NSEC validations for a message. */ +#define MAX_VALIDATE_NSECS 8 /** return number of rrs in an rrset */ static size_t @@ -305,6 +307,8 @@ ds_create_dnskey_digest(struct module_env* env, * digest = digest_algorithm( DNSKEY owner name | DNSKEY RDATA); * DNSKEY RDATA = Flags | Protocol | Algorithm | Public Key. */ sldns_buffer_clear(b); + if(!sldns_buffer_available(b, dnskey_rrset->rk.dname_len + dnskey_len-2)) + return 0; /* buffer too small */ sldns_buffer_write(b, dnskey_rrset->rk.dname, dnskey_rrset->rk.dname_len); query_dname_tolower(sldns_buffer_begin(b)); @@ -546,8 +550,10 @@ int algo_needs_missing(struct algo_needs* n) * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param section: section of packet where this rrset comes from. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param numverified: incremented when the number of RRSIG validations * increases. + * @param num_tagmatches: incremented for tag matches. * @return secure if any key signs *this* signature. bogus if no key signs it, * unchecked on error, or indeterminate if all keys are not supported by * the crypto library (openssl3+ only). @@ -559,7 +565,7 @@ dnskeyset_verify_rrset_sig(struct module_env* env, struct val_env* ve, struct rbtree_type** sortree, char** reason, sldns_ede_code *reason_bogus, sldns_pkt_section section, struct module_qstate* qstate, - int* numverified) + struct val_qstate* vq, int* numverified, size_t* num_tagmatches) { /* find matching keys and check them */ enum sec_status sec = sec_status_bogus; @@ -578,6 +584,14 @@ dnskeyset_verify_rrset_sig(struct module_env* env, struct val_env* ve, } for(i=0; i<num; i++) { + if((*num_tagmatches)++ > MAX_TAG_MATCHES) { + *reason = "too many tag matches"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "verify sig: too many tag matches, " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + return sec_status_bogus; + } /* see if key matches keytag and algo */ if(algo != dnskey_get_algo(dnskey, i) || tag != dnskey_calc_keytag(dnskey, i)) @@ -585,6 +599,26 @@ dnskeyset_verify_rrset_sig(struct module_env* env, struct val_env* ve, numchecked ++; (*numverified)++; + if(vq && vq->num_validation_attempts++ > env->cfg->val_validation_attempts) { + *reason = "too many validation attempts"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "verify sig: too many validation attempts, " + "val-validation-attempts (%d); bogus", env->cfg->val_validation_attempts); + return sec_status_bogus; + } + if(vq && (ntohs(rrset->rk.type) == LDNS_RR_TYPE_NSEC || + ntohs(rrset->rk.type) == LDNS_RR_TYPE_NSEC3) && + vq->num_nsec_attempts++ > MAX_VALIDATE_NSECS) { + *reason = "too many NSEC or NSEC3 validation attempts"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "verify sig: too many NSEC or NSEC3 validation attempts, " + "(%d); bogus", MAX_VALIDATE_NSECS); + vq->num_nsec_attempts_exceeded = 1; + return sec_status_bogus; + } + /* see if key verifies */ sec = dnskey_verify_rrset_sig(env->scratch, env->scratch_buffer, ve, now, rrset, dnskey, i, @@ -624,11 +658,12 @@ enum sec_status dnskeyset_verify_rrset(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, - sldns_pkt_section section, struct module_qstate* qstate, int* verified, - char* reasonbuf, size_t reasonlen) + sldns_pkt_section section, struct module_qstate* qstate, + struct val_qstate* vq, int* verified, char* reasonbuf, + size_t reasonlen) { enum sec_status sec; - size_t i, num; + size_t i, num, num_tagmatches = 0; rbtree_type* sortree = NULL; /* make sure that for all DNSKEY algorithms there are valid sigs */ struct algo_needs needs; @@ -656,9 +691,19 @@ dnskeyset_verify_rrset(struct module_env* env, struct val_env* ve, } } for(i=0; i<num; i++) { + if(num_tagmatches > MAX_TAG_MATCHES) { + *reason = "too many tag matches"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "rrset failed to verify: too many tag matches, " + "MAX_TAG_MATCHES (%d)", MAX_TAG_MATCHES); + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + return sec_status_bogus; + } sec = dnskeyset_verify_rrset_sig(env, ve, *env->now, rrset, dnskey, i, &sortree, reason, reason_bogus, - section, qstate, verified); + section, qstate, vq, verified, &num_tagmatches); /* see which algorithm has been fixed up */ if(sec == sec_status_secure) { if(!sigalg) @@ -707,7 +752,8 @@ enum sec_status dnskey_verify_rrset(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey, size_t dnskey_idx, char** reason, sldns_ede_code *reason_bogus, - sldns_pkt_section section, struct module_qstate* qstate) + sldns_pkt_section section, struct module_qstate* qstate, + struct val_qstate* vq, size_t* num_tagmatches) { enum sec_status sec; size_t i, num, numchecked = 0, numindeterminate = 0; @@ -728,9 +774,26 @@ dnskey_verify_rrset(struct module_env* env, struct val_env* ve, } for(i=0; i<num; i++) { /* see if sig matches keytag and algo */ + if((*num_tagmatches)++ > MAX_TAG_MATCHES) { + *reason = "too many tag matches"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "rrset failed to verify: too many tag matches, " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + return sec_status_bogus; + } if(algo != rrset_get_sig_algo(rrset, i) || tag != rrset_get_sig_keytag(rrset, i)) continue; + if(vq && vq->num_validation_attempts++ > env->cfg->val_validation_attempts) { + *reason = "too many validation attempts"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "rrset failed to verify: too many validation attempts, " + "val-validation-attempts (%d); bogus", env->cfg->val_validation_attempts); + return sec_status_bogus; + } + buf_canon = 0; sec = dnskey_verify_rrset_sig(env->scratch, env->scratch_buffer, ve, *env->now, rrset, @@ -1308,15 +1371,32 @@ rrset_canonical(struct regional* region, sldns_buffer* buf, } sldns_buffer_clear(buf); + if(sldns_buffer_remaining(buf) < siglen || siglen < 18+1) { + verbose(VERB_ALGO, "verify: failed to canonicalize, " + "rrset too big"); + return 0; + } sldns_buffer_write(buf, sig, siglen); /* canonicalize signer name */ canon_dname_tolower(sldns_buffer_begin(buf)+18, sldns_buffer_current(buf)); + + if(sldns_buffer_remaining(buf) < k->rk.dname_len+2) { + /* Check if the first can_owner name can fit in the buffer. + * The length is k->rk.dname_len or k->rk.dname_len+2 + * if it has '*.' in prefixed. Checks the upper bound, + * also realistically the rest of the rrtype, rrclass, origttl, + * rdata and so on has to be inserted, so that extra space has + * to be there. */ + verbose(VERB_ALGO, "verify: failed to canonicalize, " + "rrset too big"); + return 0; + } RBTREE_FOR(walk, struct canon_rr*, (*sortree)) { /* see if there is enough space left in the buffer */ if(sldns_buffer_remaining(buf) < can_owner_len + 2 + 2 + 4 + d->rr_len[walk->rr_idx]) { - log_err("verify: failed to canonicalize, " + verbose(VERB_ALGO, "verify: failed to canonicalize, " "rrset too big"); return 0; } @@ -1325,6 +1405,13 @@ rrset_canonical(struct regional* region, sldns_buffer* buf, sldns_buffer_write(buf, can_owner, can_owner_len); else insert_can_owner(buf, k, sig, &can_owner, &can_owner_len); + /* Check again, if the rdata can fit in the buffer */ + if(sldns_buffer_remaining(buf) < 2 + 2 + 4 + + d->rr_len[walk->rr_idx]) { + verbose(VERB_ALGO, "verify: failed to canonicalize, " + "rrset too big"); + return 0; + } sldns_buffer_write(buf, &k->rk.type, 2); sldns_buffer_write(buf, &k->rk.rrset_class, 2); sldns_buffer_write(buf, sig+4, 4); @@ -1376,11 +1463,17 @@ rrset_canonicalize_to_buffer(struct regional* region, sldns_buffer* buf, canonical_sort(k, d, sortree, rrs); sldns_buffer_clear(buf); + if(sldns_buffer_remaining(buf) < k->rk.dname_len) { + /* Check if the first can_owner name can fit in the buffer. */ + verbose(VERB_ALGO, "verify: failed to canonicalize, " + "rrset too big"); + return 0; + } RBTREE_FOR(walk, struct canon_rr*, sortree) { /* see if there is enough space left in the buffer */ if(sldns_buffer_remaining(buf) < can_owner_len + 2 + 2 + 4 + d->rr_len[walk->rr_idx]) { - log_err("verify: failed to canonicalize, " + verbose(VERB_ALGO, "verify: failed to canonicalize, " "rrset too big"); return 0; } @@ -1393,6 +1486,13 @@ rrset_canonicalize_to_buffer(struct regional* region, sldns_buffer* buf, query_dname_tolower(can_owner); can_owner_len = k->rk.dname_len; } + /* Check again, if the rdata can fit in the buffer */ + if(sldns_buffer_remaining(buf) < 2 + 2 + 4 + + d->rr_len[walk->rr_idx]) { + verbose(VERB_ALGO, "verify: failed to canonicalize, " + "rrset too big"); + return 0; + } sldns_buffer_write(buf, &k->rk.type, 2); sldns_buffer_write(buf, &k->rk.rrset_class, 2); sldns_buffer_write_u32(buf, d->rr_ttl[walk->rr_idx]); diff --git a/validator/val_sigcrypt.h b/validator/val_sigcrypt.h index c1e2658e4fd1..b2cfae96da52 100644 --- a/validator/val_sigcrypt.h +++ b/validator/val_sigcrypt.h @@ -53,6 +53,7 @@ struct ub_packed_rrset_key; struct rbtree_type; struct regional; struct sldns_buffer; +struct val_qstate; /** number of entries in algorithm needs array */ #define ALGO_NEEDS_MAX 256 @@ -262,6 +263,7 @@ uint16_t dnskey_get_flags(struct ub_packed_rrset_key* k, size_t idx); * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param section: section of packet where this rrset comes from. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param verified: if not NULL the number of RRSIG validations is returned. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. @@ -273,8 +275,9 @@ enum sec_status dnskeyset_verify_rrset(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, - sldns_pkt_section section, struct module_qstate* qstate, int* verified, - char* reasonbuf, size_t reasonlen); + sldns_pkt_section section, struct module_qstate* qstate, + struct val_qstate* vq, int* verified, char* reasonbuf, + size_t reasonlen); /** * verify rrset against one specific dnskey (from rrset) @@ -287,13 +290,16 @@ enum sec_status dnskeyset_verify_rrset(struct module_env* env, * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param section: section of packet where this rrset comes from. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. + * @param num_tagmatches: incremented to keep track of tag matches. * @return secure if *this* key signs any of the signatures on rrset. * unchecked on error or and bogus on bad signature. */ enum sec_status dnskey_verify_rrset(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* dnskey, size_t dnskey_idx, char** reason, sldns_ede_code *reason_bogus, - sldns_pkt_section section, struct module_qstate* qstate); + sldns_pkt_section section, struct module_qstate* qstate, + struct val_qstate* vq, size_t* num_tagmatches); /** * verify rrset, with specific dnskey(from set), for a specific rrsig diff --git a/validator/val_utils.c b/validator/val_utils.c index e77f93f5ae8e..c5fb7f325c6b 100644 --- a/validator/val_utils.c +++ b/validator/val_utils.c @@ -406,7 +406,8 @@ val_verify_rrset(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct ub_packed_rrset_key* keys, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, sldns_pkt_section section, struct module_qstate* qstate, - int *verified, char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, int *verified, char* reasonbuf, + size_t reasonlen) { enum sec_status sec; struct packed_rrset_data* d = (struct packed_rrset_data*)rrset-> @@ -431,7 +432,8 @@ val_verify_rrset(struct module_env* env, struct val_env* ve, log_nametypeclass(VERB_ALGO, "verify rrset", rrset->rk.dname, ntohs(rrset->rk.type), ntohs(rrset->rk.rrset_class)); sec = dnskeyset_verify_rrset(env, ve, rrset, keys, sigalg, reason, - reason_bogus, section, qstate, verified, reasonbuf, reasonlen); + reason_bogus, section, qstate, vq, verified, reasonbuf, + reasonlen); verbose(VERB_ALGO, "verify result: %s", sec_status_to_string(sec)); regional_free_all(env->scratch); @@ -475,7 +477,8 @@ val_verify_rrset_entry(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct key_entry_key* kkey, char** reason, sldns_ede_code *reason_bogus, sldns_pkt_section section, struct module_qstate* qstate, - int* verified, char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, int* verified, char* reasonbuf, + size_t reasonlen) { /* temporary dnskey rrset-key */ struct ub_packed_rrset_key dnskey; @@ -489,7 +492,8 @@ val_verify_rrset_entry(struct module_env* env, struct val_env* ve, dnskey.entry.key = &dnskey; dnskey.entry.data = kd->rrset_data; sec = val_verify_rrset(env, ve, rrset, &dnskey, kd->algo, reason, - reason_bogus, section, qstate, verified, reasonbuf, reasonlen); + reason_bogus, section, qstate, vq, verified, reasonbuf, + reasonlen); return sec; } @@ -499,13 +503,20 @@ verify_dnskeys_with_ds_rr(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset, struct ub_packed_rrset_key* ds_rrset, size_t ds_idx, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - int *nonechecked, char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, int *nonechecked, char* reasonbuf, + size_t reasonlen, size_t* num_tagmatches, + size_t* num_tagmatches_dnskeysig) { enum sec_status sec = sec_status_bogus; size_t i, num, numchecked = 0, numhashok = 0, numsizesupp = 0; num = rrset_get_count(dnskey_rrset); *nonechecked = 0; for(i=0; i<num; i++) { + if((*num_tagmatches)++ > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "DS match attempt reached " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + return sec_status_bogus; + } /* Skip DNSKEYs that don't match the basic criteria. */ if(ds_get_key_algo(ds_rrset, ds_idx) != dnskey_get_algo(dnskey_rrset, i) @@ -518,6 +529,15 @@ verify_dnskeys_with_ds_rr(struct module_env* env, struct val_env* ve, ds_get_key_algo(ds_rrset, ds_idx), ds_get_keytag(ds_rrset, ds_idx)); + if(vq && vq->num_hash_attempts++ > env->cfg->val_hash_attempts) { + *reason = "too many hash attempts"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + verbose(VERB_ALGO, "rrset failed to verify: too many hash attempts, " + "val-hash-attempts (%d); bogus", env->cfg->val_hash_attempts); + return sec_status_bogus; + } + /* Convert the candidate DNSKEY into a hash using the * same DS hash algorithm. */ if(!ds_digest_match_dnskey(env, dnskey_rrset, i, ds_rrset, @@ -541,8 +561,14 @@ verify_dnskeys_with_ds_rr(struct module_env* env, struct val_env* ve, /* Otherwise, we have a match! Make sure that the DNSKEY * verifies *with this key* */ + if(*num_tagmatches_dnskeysig > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "DS that matched has too many DNSKEY to RRSIG tag matches " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + return sec_status_bogus; + } sec = dnskey_verify_rrset(env, ve, dnskey_rrset, dnskey_rrset, - i, reason, reason_bogus, LDNS_SECTION_ANSWER, qstate); + i, reason, reason_bogus, LDNS_SECTION_ANSWER, qstate, + vq, num_tagmatches_dnskeysig); if(sec == sec_status_secure) { return sec; } @@ -586,14 +612,14 @@ val_verify_DNSKEY_with_DS(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset, struct ub_packed_rrset_key* ds_rrset, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, char* reasonbuf, size_t reasonlen) { /* as long as this is false, we can consider this DS rrset to be * equivalent to no DS rrset. */ int has_useful_ds = 0, digest_algo, alg, has_algo_refusal = 0, nonechecked, has_checked_ds = 0; struct algo_needs needs; - size_t i, num; + size_t i, num, num_tagmatches = 0, num_tagmatches_dnskeysig = 0; enum sec_status sec; if(dnskey_rrset->rk.dname_len != ds_rrset->rk.dname_len || @@ -615,6 +641,13 @@ val_verify_DNSKEY_with_DS(struct module_env* env, struct val_env* ve, } num = rrset_get_count(ds_rrset); for(i=0; i<num; i++) { + if(num_tagmatches > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "DS verify attempt reached " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + *reason = "DS verify has too many tag matches"; + return sec_status_bogus; + } + /* Check to see if we can understand this DS. * And check it is the strongest digest */ if(!ds_digest_algo_is_supported(ds_rrset, i) || @@ -623,9 +656,16 @@ val_verify_DNSKEY_with_DS(struct module_env* env, struct val_env* ve, continue; } + if(num_tagmatches_dnskeysig > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "DS verify attempt reached " + "DNSKEY to RRSIG MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + *reason = "DS verify has too many DNSKEY to RRSIG tag matches"; + return sec_status_bogus; + } sec = verify_dnskeys_with_ds_rr(env, ve, dnskey_rrset, - ds_rrset, i, reason, reason_bogus, qstate, - &nonechecked, reasonbuf, reasonlen); + ds_rrset, i, reason, reason_bogus, qstate, vq, + &nonechecked, reasonbuf, reasonlen, &num_tagmatches, + &num_tagmatches_dnskeysig); if(sec == sec_status_insecure) { /* DNSKEY too large unsupported or algo refused by * crypto lib. */ @@ -687,12 +727,12 @@ val_verify_new_DNSKEYs(struct regional* region, struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset, struct ub_packed_rrset_key* ds_rrset, int downprot, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, char* reasonbuf, size_t reasonlen) { uint8_t sigalg[ALGO_NEEDS_MAX+1]; enum sec_status sec = val_verify_DNSKEY_with_DS(env, ve, dnskey_rrset, ds_rrset, downprot?sigalg:NULL, reason, - reason_bogus, qstate, reasonbuf, reasonlen); + reason_bogus, qstate, vq, reasonbuf, reasonlen); if(sec == sec_status_secure) { return key_entry_create_rrset(region, @@ -718,14 +758,14 @@ val_verify_DNSKEY_with_TA(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* ta_ds, struct ub_packed_rrset_key* ta_dnskey, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen) + struct val_qstate* vq, char* reasonbuf, size_t reasonlen) { /* as long as this is false, we can consider this anchor to be * equivalent to no anchor. */ int has_useful_ta = 0, digest_algo = 0, alg, has_algo_refusal = 0, nonechecked, has_checked_ds = 0; struct algo_needs needs; - size_t i, num; + size_t i, num, num_tagmatches = 0, num_tagmatches_dnskeysig = 0; enum sec_status sec; if(ta_ds && (dnskey_rrset->rk.dname_len != ta_ds->rk.dname_len || @@ -761,6 +801,15 @@ val_verify_DNSKEY_with_TA(struct module_env* env, struct val_env* ve, if(ta_ds) { num = rrset_get_count(ta_ds); for(i=0; i<num; i++) { + if(num_tagmatches > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "anchor DS verify attempt reached " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + *reason = "anchor DS verify has too many tag matches"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + return sec_status_bogus; + } + /* Check to see if we can understand this DS. * And check it is the strongest digest */ if(!ds_digest_algo_is_supported(ta_ds, i) || @@ -768,9 +817,18 @@ val_verify_DNSKEY_with_TA(struct module_env* env, struct val_env* ve, ds_get_digest_algo(ta_ds, i) != digest_algo) continue; + if(num_tagmatches_dnskeysig > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "anchor DS verify has too many DNSKEY to RRSIG tag matches " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + *reason = "anchor DS verify has too many DNSKEY to RRSIG tag matches"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + return sec_status_bogus; + } sec = verify_dnskeys_with_ds_rr(env, ve, dnskey_rrset, - ta_ds, i, reason, reason_bogus, qstate, &nonechecked, - reasonbuf, reasonlen); + ta_ds, i, reason, reason_bogus, qstate, vq, + &nonechecked, reasonbuf, reasonlen, &num_tagmatches, + &num_tagmatches_dnskeysig); if(sec == sec_status_insecure) { has_algo_refusal = 1; continue; @@ -813,8 +871,16 @@ val_verify_DNSKEY_with_TA(struct module_env* env, struct val_env* ve, /* we saw a useful TA */ has_useful_ta = 1; + if(num_tagmatches_dnskeysig > MAX_TAG_MATCHES) { + verbose(VERB_ALGO, "anchor DS that matched has too many DNSKEY to RRSIG tag matches " + "MAX_TAG_MATCHES (%d); bogus", MAX_TAG_MATCHES); + *reason = "anchor DS that matched has too many DNSKEY to RRSIG tag matches"; + if(reason_bogus) + *reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + return sec_status_bogus; + } sec = dnskey_verify_rrset(env, ve, dnskey_rrset, - ta_dnskey, i, reason, reason_bogus, LDNS_SECTION_ANSWER, qstate); + ta_dnskey, i, reason, reason_bogus, LDNS_SECTION_ANSWER, qstate, vq, &num_tagmatches_dnskeysig); if(sec == sec_status_secure) { if(!sigalg || algo_needs_set_secure(&needs, (uint8_t)dnskey_get_algo(ta_dnskey, i))) { @@ -862,12 +928,13 @@ val_verify_new_DNSKEYs_with_ta(struct regional* region, struct module_env* env, struct ub_packed_rrset_key* ta_ds_rrset, struct ub_packed_rrset_key* ta_dnskey_rrset, int downprot, char** reason, sldns_ede_code *reason_bogus, - struct module_qstate* qstate, char* reasonbuf, size_t reasonlen) + struct module_qstate* qstate, struct val_qstate* vq, char* reasonbuf, + size_t reasonlen) { uint8_t sigalg[ALGO_NEEDS_MAX+1]; enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve, dnskey_rrset, ta_ds_rrset, ta_dnskey_rrset, - downprot?sigalg:NULL, reason, reason_bogus, qstate, + downprot?sigalg:NULL, reason, reason_bogus, qstate, vq, reasonbuf, reasonlen); if(sec == sec_status_secure) { diff --git a/validator/val_utils.h b/validator/val_utils.h index 43386edbf351..e5e3194a99d8 100644 --- a/validator/val_utils.h +++ b/validator/val_utils.h @@ -55,6 +55,11 @@ struct regional; struct val_anchors; struct rrset_cache; struct sock_list; +struct val_qstate; + +/** Maximum number of matches with key tag and algorithm, for DNSKEY to + * RRSIG and DS to DNSKEY. Since the number is O(N*N), there is a limit. */ +#define MAX_TAG_MATCHES 256 /** * Response classifications for the validator. The different types of proofs. @@ -124,6 +129,7 @@ void val_find_signer(enum val_classification subtype, * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param section: section of packet where this rrset comes from. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param verified: if not NULL, the number of RRSIG validations is returned. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. @@ -133,7 +139,8 @@ enum sec_status val_verify_rrset_entry(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* rrset, struct key_entry_key* kkey, char** reason, sldns_ede_code *reason_bogus, sldns_pkt_section section, struct module_qstate* qstate, - int* verified, char* reasonbuf, size_t reasonlen); + struct val_qstate* vq, int* verified, char* reasonbuf, + size_t reasonlen); /** * Verify DNSKEYs with DS rrset. Like val_verify_new_DNSKEYs but @@ -148,6 +155,7 @@ enum sec_status val_verify_rrset_entry(struct module_env* env, * @param reason: reason of failure. Fixed string or alloced in scratch. * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. * @return: sec_status_secure if a DS matches. @@ -158,7 +166,7 @@ enum sec_status val_verify_DNSKEY_with_DS(struct module_env* env, struct val_env* ve, struct ub_packed_rrset_key* dnskey_rrset, struct ub_packed_rrset_key* ds_rrset, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen); + struct val_qstate* vq, char* reasonbuf, size_t reasonlen); /** * Verify DNSKEYs with DS and DNSKEY rrset. Like val_verify_DNSKEY_with_DS @@ -174,6 +182,7 @@ enum sec_status val_verify_DNSKEY_with_DS(struct module_env* env, * @param reason: reason of failure. Fixed string or alloced in scratch. * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. * @return: sec_status_secure if a DS matches. @@ -185,7 +194,7 @@ enum sec_status val_verify_DNSKEY_with_TA(struct module_env* env, struct ub_packed_rrset_key* ta_ds, struct ub_packed_rrset_key* ta_dnskey, uint8_t* sigalg, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen); + struct val_qstate* vq, char* reasonbuf, size_t reasonlen); /** * Verify new DNSKEYs with DS rrset. The DS contains hash values that should @@ -202,6 +211,7 @@ enum sec_status val_verify_DNSKEY_with_TA(struct module_env* env, * @param reason: reason of failure. Fixed string or alloced in scratch. * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. * @return a KeyEntry. This will either contain the now trusted @@ -219,7 +229,7 @@ struct key_entry_key* val_verify_new_DNSKEYs(struct regional* region, struct ub_packed_rrset_key* dnskey_rrset, struct ub_packed_rrset_key* ds_rrset, int downprot, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen); + struct val_qstate* vq, char* reasonbuf, size_t reasonlen); /** * Verify rrset with trust anchor: DS and DNSKEY rrset. @@ -235,6 +245,7 @@ struct key_entry_key* val_verify_new_DNSKEYs(struct regional* region, * @param reason: reason of failure. Fixed string or alloced in scratch. * @param reason_bogus: EDE (RFC8914) code paired with the reason of failure. * @param qstate: qstate with region. + * @param vq: validator qstate with attempt counts. * @param reasonbuf: buffer to use for fail reason string print. * @param reasonlen: length of reasonbuf. * @return a KeyEntry. This will either contain the now trusted @@ -253,7 +264,7 @@ struct key_entry_key* val_verify_new_DNSKEYs_with_ta(struct regional* region, struct ub_packed_rrset_key* ta_ds_rrset, struct ub_packed_rrset_key* ta_dnskey_rrset, int downprot, char** reason, sldns_ede_code *reason_bogus, struct module_qstate* qstate, - char* reasonbuf, size_t reasonlen); + struct val_qstate* vq, char* reasonbuf, size_t reasonlen); /** * Determine if DS rrset is usable for validator or not. diff --git a/validator/validator.c b/validator/validator.c index d3ed8be3ed34..4958a2242b90 100644 --- a/validator/validator.c +++ b/validator/validator.c @@ -350,13 +350,17 @@ static void val_restart(struct val_qstate* vq) { struct comm_timer* temp_timer; - int restart_count; + int restart_count, num_validation_attempts, num_hash_attempts; if(!vq) return; temp_timer = vq->suspend_timer; restart_count = vq->restart_count+1; + num_validation_attempts = vq->num_validation_attempts; + num_hash_attempts = vq->num_hash_attempts; memset(vq, 0, sizeof(*vq)); vq->suspend_timer = temp_timer; vq->restart_count = restart_count; + vq->num_validation_attempts = num_validation_attempts; + vq->num_hash_attempts = num_hash_attempts; vq->state = VAL_INIT_STATE; } @@ -455,6 +459,24 @@ already_validated(struct dns_msg* ret_msg) return 0; } +/** If it is possible to restart the validation state */ +static int +val_can_restart(struct module_qstate* qstate, struct val_qstate* vq, + struct val_env* ve) +{ + /* For validation failures that are limits exceeded on the amount + * of work that the DNSSEC validator is willing to do, the restart + * is not allowed. A restart would increase the amount of effort + * spent even further. */ + if(vq->restart_count < ve->max_restart && + vq->num_validation_attempts <= qstate->env->cfg->val_validation_attempts && + vq->num_hash_attempts <= qstate->env->cfg->val_hash_attempts && + !vq->num_nsec_attempts_exceeded) + return 1; + (void)qstate; + return 0; +} + /** * Generate a request for DNS data. * @@ -763,8 +785,8 @@ validate_msg_signatures(struct module_qstate* qstate, struct val_qstate* vq, /* Verify the answer rrset */ sec = val_verify_rrset_entry(env, ve, s, key_entry, &reason, - &reason_bogus, LDNS_SECTION_ANSWER, qstate, &verified, - reasonbuf, sizeof(reasonbuf)); + &reason_bogus, LDNS_SECTION_ANSWER, qstate, vq, + &verified, reasonbuf, sizeof(reasonbuf)); /* If the (answer) rrset failed to validate, then this * message is BAD. */ if(sec != sec_status_secure) { @@ -808,7 +830,7 @@ validate_msg_signatures(struct module_qstate* qstate, struct val_qstate* vq, continue; s = chase_reply->rrsets[i]; sec = val_verify_rrset_entry(env, ve, s, key_entry, &reason, - &reason_bogus, LDNS_SECTION_AUTHORITY, qstate, + &reason_bogus, LDNS_SECTION_AUTHORITY, qstate, vq, &verified, reasonbuf, sizeof(reasonbuf)); /* If anything in the authority section fails to be secure, * we have a bad message. */ @@ -855,7 +877,7 @@ validate_msg_signatures(struct module_qstate* qstate, struct val_qstate* vq, if(sname && query_dname_compare(sname, key_entry->name)==0) (void)val_verify_rrset_entry(env, ve, s, key_entry, &reason, NULL, LDNS_SECTION_ADDITIONAL, qstate, - &verified, reasonbuf, sizeof(reasonbuf)); + vq, &verified, reasonbuf, sizeof(reasonbuf)); /* the additional section can fail to be secure, * it is optional, check signature in case we need * to clean the additional section later. */ @@ -1433,16 +1455,20 @@ validate_nameerror_response(struct module_env* env, struct val_env* ve, * trusted DNSKEY rrset that signs this response must already have been * completed. * + * @param env: module env. * @param chase_reply: answer to validate. */ static void -validate_referral_response(struct reply_info* chase_reply) +validate_referral_response(struct module_env* env, struct reply_info* chase_reply) { - size_t i; + size_t i, count; enum sec_status s; /* message security equals lowest rrset security */ chase_reply->security = sec_status_secure; - for(i=0; i<chase_reply->rrset_count; i++) { + if(env->cfg->val_clean_additional) + count = chase_reply->rrset_count; + else count = chase_reply->an_numrrsets+chase_reply->ns_numrrsets; + for(i=0; i<count; i++) { s = ((struct packed_rrset_data*)chase_reply->rrsets[i] ->entry.data)->security; if(s < chase_reply->security) @@ -2309,7 +2335,7 @@ processValidate(struct module_qstate* qstate, struct val_qstate* vq, key_entry_get_reason_bogus(vq->key_entry)); errinf_ede(qstate, "while building chain of trust", key_entry_get_reason_bogus(vq->key_entry)); - if(vq->restart_count >= ve->max_restart) + if(!val_can_restart(qstate, vq, ve)) key_cache_insert(ve->kcache, vq->key_entry, qstate->env->cfg->val_log_level >= 2); return 1; @@ -2457,7 +2483,7 @@ processValidate(struct module_qstate* qstate, struct val_qstate* vq, case VAL_CLASS_REFERRAL: verbose(VERB_ALGO, "Validating a referral response"); - validate_referral_response(vq->chase_reply); + validate_referral_response(qstate->env, vq->chase_reply); verbose(VERB_DETAIL, "validate(referral): %s", sec_status_to_string( vq->chase_reply->security)); @@ -2531,15 +2557,17 @@ processFinished(struct module_qstate* qstate, struct val_qstate* vq, } if(subtype == VAL_CLASS_REFERRAL) { - /* for a referral, move to next unchecked rrset and check it*/ - vq->rrset_skip = val_next_unchecked(vq->orig_msg->rep, - vq->rrset_skip); - if(vq->rrset_skip < vq->orig_msg->rep->rrset_count) { - /* and restart for this rrset */ - verbose(VERB_ALGO, "validator: go to next rrset"); - vq->chase_reply->security = sec_status_unchecked; - vq->state = VAL_INIT_STATE; - return 1; + if(qstate->env->cfg->val_clean_additional) { + /* for a referral, move to next unchecked rrset and check it*/ + vq->rrset_skip = val_next_unchecked(vq->orig_msg->rep, + vq->rrset_skip); + if(vq->rrset_skip < vq->orig_msg->rep->rrset_count) { + /* and restart for this rrset */ + verbose(VERB_ALGO, "validator: go to next rrset"); + vq->chase_reply->security = sec_status_unchecked; + vq->state = VAL_INIT_STATE; + return 1; + } } /* referral chase is done */ } @@ -2584,7 +2612,7 @@ processFinished(struct module_qstate* qstate, struct val_qstate* vq, struct msgreply_entry* e; /* see if we can try again to fetch data */ - if(vq->restart_count < ve->max_restart) { + if(val_can_restart(qstate, vq, ve)) { verbose(VERB_ALGO, "validation failed, " "blacklist and retry to fetch data"); val_blacklist(&qstate->blacklist, qstate->region, @@ -2876,6 +2904,7 @@ val_operate(struct module_qstate* qstate, enum module_ev event, int id, * (this rrset is allocated in the wrong region, not the qstate). * @param ta: trust anchor. * @param qstate: qstate that needs key. + * @param vq: validator qstate. * @param id: module id. * @param sub_qstate: the sub query state, that is the lookup that fetched * the trust anchor data, it contains error information for the answer. @@ -2886,8 +2915,8 @@ val_operate(struct module_qstate* qstate, enum module_ev event, int id, */ static struct key_entry_key* primeResponseToKE(struct ub_packed_rrset_key* dnskey_rrset, - struct trust_anchor* ta, struct module_qstate* qstate, int id, - struct module_qstate* sub_qstate) + struct trust_anchor* ta, struct module_qstate* qstate, + struct val_qstate* vq, int id, struct module_qstate* sub_qstate) { struct val_env* ve = (struct val_env*)qstate->env->modinfo[id]; struct key_entry_key* kkey = NULL; @@ -2927,7 +2956,8 @@ primeResponseToKE(struct ub_packed_rrset_key* dnskey_rrset, /* attempt to verify with trust anchor DS and DNSKEY */ kkey = val_verify_new_DNSKEYs_with_ta(qstate->region, qstate->env, ve, dnskey_rrset, ta->ds_rrset, ta->dnskey_rrset, downprot, - &reason, &reason_bogus, qstate, reasonbuf, sizeof(reasonbuf)); + &reason, &reason_bogus, qstate, vq, reasonbuf, + sizeof(reasonbuf)); if(!kkey) { log_err("out of memory: verifying prime TA"); return NULL; @@ -3040,7 +3070,7 @@ ds_response_to_ke(struct module_qstate* qstate, struct val_qstate* vq, * bogus, then we are done. */ sec = val_verify_rrset_entry(qstate->env, ve, ds, vq->key_entry, &reason, &reason_bogus, - LDNS_SECTION_ANSWER, qstate, &verified, reasonbuf, + LDNS_SECTION_ANSWER, qstate, vq, &verified, reasonbuf, sizeof(reasonbuf)); if(sec != sec_status_secure) { verbose(VERB_DETAIL, "DS rrset in DS response did " @@ -3091,7 +3121,7 @@ ds_response_to_ke(struct module_qstate* qstate, struct val_qstate* vq, /* Try to prove absence of the DS with NSEC */ sec = val_nsec_prove_nodata_dsreply( qstate->env, ve, qinfo, msg->rep, vq->key_entry, - &proof_ttl, &reason, &reason_bogus, qstate, + &proof_ttl, &reason, &reason_bogus, qstate, vq, reasonbuf, sizeof(reasonbuf)); switch(sec) { case sec_status_secure: @@ -3129,7 +3159,7 @@ ds_response_to_ke(struct module_qstate* qstate, struct val_qstate* vq, sec = nsec3_prove_nods(qstate->env, ve, msg->rep->rrsets + msg->rep->an_numrrsets, msg->rep->ns_numrrsets, qinfo, vq->key_entry, &reason, - &reason_bogus, qstate, &vq->nsec3_cache_table, + &reason_bogus, qstate, vq, &vq->nsec3_cache_table, reasonbuf, sizeof(reasonbuf)); switch(sec) { case sec_status_insecure: @@ -3197,7 +3227,7 @@ ds_response_to_ke(struct module_qstate* qstate, struct val_qstate* vq, } sec = val_verify_rrset_entry(qstate->env, ve, cname, vq->key_entry, &reason, &reason_bogus, - LDNS_SECTION_ANSWER, qstate, &verified, reasonbuf, + LDNS_SECTION_ANSWER, qstate, vq, &verified, reasonbuf, sizeof(reasonbuf)); if(sec == sec_status_secure) { /* Check for wildcard expansion */ @@ -3318,6 +3348,7 @@ process_ds_response(struct module_qstate* qstate, struct val_qstate* vq, uint8_t* olds = vq->empty_DS_name; int ret; *suspend = 0; + vq->num_nsec_attempts = 0; vq->empty_DS_name = NULL; if(sub_qstate && sub_qstate->rpz_applied) { verbose(VERB_ALGO, "rpz was applied to the DS lookup, " @@ -3329,6 +3360,8 @@ process_ds_response(struct module_qstate* qstate, struct val_qstate* vq, } ret = ds_response_to_ke(qstate, vq, id, rcode, msg, qinfo, &dske, sub_qstate); + /* New NSEC attempt count for next message validation. */ + vq->num_nsec_attempts = 0; if(ret != 0) { switch(ret) { case 1: @@ -3370,7 +3403,7 @@ process_ds_response(struct module_qstate* qstate, struct val_qstate* vq, vq->chain_blacklist = NULL; /* fresh blacklist for next part*/ /* Keep the forState.state on FINDKEY. */ } else if(key_entry_isbad(dske) - && vq->restart_count < ve->max_restart) { + && val_can_restart(qstate, vq, ve)) { vq->empty_DS_name = olds; val_blacklist(&vq->chain_blacklist, qstate->region, origin, 1); qstate->errinf = NULL; @@ -3420,6 +3453,7 @@ process_dnskey_response(struct module_qstate* qstate, struct val_qstate* vq, char* reason = NULL; sldns_ede_code reason_bogus = LDNS_EDE_DNSSEC_BOGUS; + vq->num_nsec_attempts = 0; if(sub_qstate && sub_qstate->rpz_applied) { verbose(VERB_ALGO, "rpz was applied to the DNSKEY lookup, " "make it insecure"); @@ -3439,7 +3473,7 @@ process_dnskey_response(struct module_qstate* qstate, struct val_qstate* vq, verbose(VERB_DETAIL, "Missing DNSKEY RRset in response to " "DNSKEY query."); - if(vq->restart_count < ve->max_restart) { + if(val_can_restart(qstate, vq, ve)) { val_blacklist(&vq->chain_blacklist, qstate->region, origin, 1); qstate->errinf = NULL; @@ -3476,7 +3510,9 @@ process_dnskey_response(struct module_qstate* qstate, struct val_qstate* vq, downprot = qstate->env->cfg->harden_algo_downgrade; vq->key_entry = val_verify_new_DNSKEYs(qstate->region, qstate->env, ve, dnskey, vq->ds_rrset, downprot, &reason, &reason_bogus, - qstate, reasonbuf, sizeof(reasonbuf)); + qstate, vq, reasonbuf, sizeof(reasonbuf)); + /* New NSEC attempt count for next message validation. */ + vq->num_nsec_attempts = 0; if(!vq->key_entry) { log_err("out of memory in verify new DNSKEYs"); @@ -3487,7 +3523,7 @@ process_dnskey_response(struct module_qstate* qstate, struct val_qstate* vq, * state. */ if(!key_entry_isgood(vq->key_entry)) { if(key_entry_isbad(vq->key_entry)) { - if(vq->restart_count < ve->max_restart) { + if(val_can_restart(qstate, vq, ve)) { val_blacklist(&vq->chain_blacklist, qstate->region, origin, 1); qstate->errinf = NULL; @@ -3539,6 +3575,7 @@ process_prime_response(struct module_qstate* qstate, struct val_qstate* vq, struct trust_anchor* ta = anchor_find(qstate->env->anchors, vq->trust_anchor_name, vq->trust_anchor_labs, vq->trust_anchor_len, vq->qchase.qclass); + vq->num_nsec_attempts = 0; if(!ta) { /* trust anchor revoked, restart with less anchors */ vq->state = VAL_INIT_STATE; @@ -3557,19 +3594,23 @@ process_prime_response(struct module_qstate* qstate, struct val_qstate* vq, if(ta->autr) { if(!autr_process_prime(qstate->env, ve, ta, dnskey_rrset, - qstate)) { + qstate, vq)) { + /* New NSEC attempt count for next message validation. */ + vq->num_nsec_attempts = 0; /* trust anchor revoked, restart with less anchors */ vq->state = VAL_INIT_STATE; vq->trust_anchor_name = NULL; return; } } - vq->key_entry = primeResponseToKE(dnskey_rrset, ta, qstate, id, + vq->key_entry = primeResponseToKE(dnskey_rrset, ta, qstate, vq, id, sub_qstate); lock_basic_unlock(&ta->lock); + /* New NSEC attempt count for next message validation. */ + vq->num_nsec_attempts = 0; if(vq->key_entry) { if(key_entry_isbad(vq->key_entry) - && vq->restart_count < ve->max_restart) { + && val_can_restart(qstate, vq, ve)) { val_blacklist(&vq->chain_blacklist, qstate->region, origin, 1); qstate->errinf = NULL; diff --git a/validator/validator.h b/validator/validator.h index e04fad572770..f7bc3550a9cc 100644 --- a/validator/validator.h +++ b/validator/validator.h @@ -231,6 +231,19 @@ struct val_qstate { struct comm_timer* suspend_timer; /** Number of suspends */ int suspend_count; + + /** Number of DNSKEY RRSIG validation attempts. This is the number of + * cryptographic operations done for the mesh state. */ + int num_validation_attempts; + /** Number of DS hash verification attempts. This is the number of + * hash operations done for the mesh state. + * It does not count NSEC3 hashes. */ + int num_hash_attempts; + /** Number of NSEC validations. And NSEC3 too. This is reset per + * answer. */ + int num_nsec_attempts; + /** The nsec attempts have been exceeded. */ + int num_nsec_attempts_exceeded; }; /** |
