[oe] [PATCH] mariadb: refresh local patches to avoid fuzz warnings
Denys Dmytriyenko
denis at denix.org
Mon Apr 2 23:55:43 UTC 2018
From: Denys Dmytriyenko <denys at ti.com>
Signed-off-by: Denys Dmytriyenko <denys at ti.com>
---
.../mariadb/0001-disable-ucontext-on-musl.patch | 6 +-
.../mysql/mariadb/change-cc-to-cc-version.patch | 17 +-
.../mariadb/configure.cmake-fix-valgrind.patch | 10 +-
.../mysql/mariadb/fix-a-building-failure.patch | 13 +-
.../mysql/mariadb/fix-cmake-module-path.patch | 66226 ++++++++++++++++++-
.../mysql/mariadb/fix-mysqlclient-r-version.patch | 30 +-
.../mysql/mariadb/remove-bad-path.patch | 17 +-
7 files changed, 66273 insertions(+), 46 deletions(-)
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
index 60e9199..f0768de 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
@@ -1,4 +1,4 @@
-From 5bc3e7ef9700d12054e0125a126f1bb093f01ef9 Mon Sep 17 00:00:00 2001
+From 48d3da164a14d59f09e2b8c7ef73343859ae5d32 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem at gmail.com>
Date: Sun, 26 Mar 2017 14:30:33 -0700
Subject: [PATCH] disable ucontext on musl
@@ -6,6 +6,7 @@ Subject: [PATCH] disable ucontext on musl
musl does not have *contex() APIs even though it has ucontext.h header
Signed-off-by: Khem Raj <raj.khem at gmail.com>
+
---
include/my_context.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -23,6 +24,3 @@ index dd44103..9b28c17 100644
#define MY_CONTEXT_USE_UCONTEXT
#else
#define MY_CONTEXT_DISABLE
---
-2.12.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch b/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
index 02bda24..2951234 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
@@ -1,4 +1,8 @@
-mariadb: replace the CC with CC_VERSION and CXX with CXX_VERSION
+From 9f3e0d8c8fc874bc13e1a34f92c8df6b31914e83 Mon Sep 17 00:00:00 2001
+From: Yue Tao <Yue.Tao at windriver.com>
+Date: Wed, 28 Sep 2016 22:49:11 -0400
+Subject: [PATCH] mariadb: replace the CC with CC_VERSION and CXX with
+ CXX_VERSION
mysqlbug.sh is a bug report script. It makes a report with the build information,
including gcc version. The CC is the local path of gcc, which is useless for bug
@@ -9,9 +13,14 @@ Upstream-Status: Pending
Signed-off-by: Yue Tao <Yue.Tao at windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan at windriver.com>
================================
-diff --git a/scripts/mysqlbug.sh.old b/scripts/mysqlbug.sh
-index e9df210..d4b8d53 100644
---- a/scripts/mysqlbug.sh.old
+
+---
+ scripts/mysqlbug.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/mysqlbug.sh b/scripts/mysqlbug.sh
+index e9df210..7177915 100644
+--- a/scripts/mysqlbug.sh
+++ b/scripts/mysqlbug.sh
@@ -24,8 +24,8 @@ VERSION="@VERSION@@MYSQL_SERVER_SUFFIX@"
COMPILATION_COMMENT="@COMPILATION_COMMENT@"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch b/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
index e97def6..9448b6e 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
@@ -1,4 +1,4 @@
-From 5effba0d7d47071a3f1bca56823190d5a95bb1a6 Mon Sep 17 00:00:00 2001
+From eda09f35a23a2580f1e6f9667387e1d198a7cca7 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang at windriver.com>
Date: Wed, 12 Nov 2014 03:09:10 -0500
Subject: [PATCH] configure.cmake: fix valgrind
@@ -15,15 +15,16 @@ PACKAGECONFIG to decide if valgrind is needed or not.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
+
---
configure.cmake | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.cmake b/configure.cmake
-index 0bd7bbe..51a098f 100644
+index 4051b55..01410ad 100644
--- a/configure.cmake
+++ b/configure.cmake
-@@ -1047,10 +1047,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY)
+@@ -1057,10 +1057,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY)
IF(WITH_VALGRIND)
SET(HAVE_valgrind 1)
@@ -36,6 +37,3 @@ index 0bd7bbe..51a098f 100644
#--------------------------------------------------------------------
# Check for IPv6 support
---
-2.0.0
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
index 0c4e102..3811029 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
@@ -1,4 +1,7 @@
-[PATCH] fix a building failure
+From b36d327b12a3e2f7b712b22fdd4e69f941bdd01d Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li at windriver.com>
+Date: Wed, 6 May 2015 11:05:40 +0800
+Subject: [PATCH] [PATCH] fix a building failure
Upstream-Status: Inappropriate [configuration]
@@ -6,15 +9,16 @@ building failed since native does not generate import_executables.cmake
In fact, our building system will export the needed commands
Signed-off-by: Roy Li <rongqing.li at windriver.com>
+
---
CMakeLists.txt | 5 -----
1 file changed, 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c1ce1c5..83b3a7e 100644
+index 11103c8..7557a00 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -350,11 +350,6 @@ MYSQL_CHECK_READLINE()
+@@ -352,11 +352,6 @@ MYSQL_CHECK_READLINE()
CHECK_JEMALLOC()
@@ -26,6 +30,3 @@ index c1ce1c5..83b3a7e 100644
#
# Setup maintainer mode options by the end. Platform checks are
# not run with the warning options as to not perturb fragile checks
---
-1.9.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
index 8d9f558..a4fe02b 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
@@ -1,4 +1,7 @@
-Avoid CMAKE_MODULE_PATH being overwritten
+From 8bd396589ffe0e68181e92995a27cd30acd4f8a8 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton at linux.intel.com>
+Date: Fri, 8 Aug 2014 15:16:40 +0100
+Subject: [PATCH] Avoid CMAKE_MODULE_PATH being overwritten
OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless
we set it after setting the project name.
@@ -7,9 +10,133 @@ Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Upstream-Status: Inappropriate [working around OE-Core bug]
---- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100
-+++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100
-@@ -28,8 +28,6 @@
+---
+ CMakeLists.txt | 4 +-
+ Docs/INFO_SRC | 8 +
+ dbug/user.r | 1121 +
+ sql/sql_yacc.cc | 37809 +++++++++++++++++++
+ sql/sql_yacc.h | 1348 +
+ storage/maria/unittest/ma_test_all-t | 766 +
+ storage/ndb/ndbapi-examples/Makefile | 27 +
+ .../ndb/ndbapi-examples/mgmapi_logevent/Makefile | 24 +
+ .../ndb/ndbapi-examples/mgmapi_logevent2/Makefile | 24 +
+ storage/ndb/ndbapi-examples/ndbapi_async/Makefile | 24 +
+ storage/ndb/ndbapi-examples/ndbapi_async1/Makefile | 23 +
+ storage/ndb/ndbapi-examples/ndbapi_event/Makefile | 24 +
+ .../ndb/ndbapi-examples/ndbapi_retries/Makefile | 23 +
+ storage/ndb/ndbapi-examples/ndbapi_scan/Makefile | 24 +
+ storage/ndb/ndbapi-examples/ndbapi_simple/Makefile | 24 +
+ .../ndbapi-examples/ndbapi_simple_dual/Makefile | 24 +
+ .../ndbapi-examples/ndbapi_simple_index/Makefile | 24 +
+ storage/ndb/src/common/logger/listtest/Makefile | 14 +
+ storage/ndb/src/common/logger/loggertest/Makefile | 16 +
+ .../ndb/src/common/mgmcommon/printConfig/Makefile | 16 +
+ .../ndb/src/common/transporter/basictest/Makefile | 15 +
+ .../src/common/transporter/failoverSCI/Makefile | 18 +
+ .../ndb/src/common/transporter/perftest/Makefile | 15 +
+ .../ndb/src/common/transporter/priotest/Makefile | 15 +
+ .../common/transporter/priotest/prioSCI/Makefile | 17 +
+ .../common/transporter/priotest/prioSHM/Makefile | 13 +
+ .../common/transporter/priotest/prioTCP/Makefile | 13 +
+ storage/ndb/src/common/util/filetest/Makefile | 14 +
+ .../ndb/src/common/util/testConfigValues/Makefile | 12 +
+ .../ndb/src/common/util/testProperties/Makefile | 9 +
+ .../src/common/util/testSimpleProperties/Makefile | 12 +
+ storage/ndb/src/cw/test/socketclient/Makefile | 24 +
+ storage/ndb/src/cw/util/Makefile | 10 +
+ .../src/kernel/blocks/dbdih/printSysfile/Makefile | 12 +
+ .../src/kernel/blocks/ndbfs/AsyncFileTest/Makefile | 27 +
+ .../kernel/blocks/ndbfs/MemoryChannelTest/Makefile | 13 +
+ storage/ndb/src/kernel/vm/al_test/Makefile | 12 +
+ storage/ndb/src/kernel/vm/testCopy/Makefile | 9 +
+ storage/ndb/src/kernel/vm/testDataBuffer/Makefile | 10 +
+ storage/ndb/src/kernel/vm/testLongSig/Makefile | 9 +
+ .../kernel/vm/testSimplePropertiesSection/Makefile | 10 +
+ storage/ndb/src/mgmapi/test/Makefile | 13 +
+ storage/ndb/src/mgmclient/test_cpcd/Makefile | 17 +
+ storage/ndb/src/mgmsrv/mkconfig/Makefile | 13 +
+ storage/ndb/src/ndbapi/signal-sender/Makefile | 19 +
+ storage/ndb/test/newtonapi/basic_test/Makefile | 25 +
+ .../ndb/test/newtonapi/basic_test/basic/Makefile | 14 +
+ .../test/newtonapi/basic_test/bulk_read/Makefile | 14 +
+ .../test/newtonapi/basic_test/ptr_binding/Makefile | 14 +
+ storage/ndb/test/newtonapi/perf_test/Makefile | 14 +
+ storage/ndb/test/odbc/SQL99_test/Makefile | 26 +
+ storage/ndb/test/odbc/client/Makefile | 95 +
+ storage/ndb/test/odbc/dm-iodbc/Makefile | 38 +
+ storage/ndb/test/odbc/dm-unixodbc/Makefile | 39 +
+ storage/ndb/test/odbc/driver/Makefile | 30 +
+ storage/ndb/test/odbc/test_compiler/Makefile | 21 +
+ .../ft-index/third_party/xz-4.999.9beta/configure | 23074 +++++++++++
+ .../third_party/xz-4.999.9beta/dos/Makefile | 255 +
+ .../third_party/xz-4.999.9beta/windows/Makefile | 308 +
+ storage/tokudb/tests/Makefile | 53 +
+ 60 files changed, 65736 insertions(+), 2 deletions(-)
+ create mode 100644 Docs/INFO_SRC
+ create mode 100644 dbug/user.r
+ create mode 100644 sql/sql_yacc.cc
+ create mode 100644 sql/sql_yacc.h
+ create mode 100755 storage/maria/unittest/ma_test_all-t
+ create mode 100644 storage/ndb/ndbapi-examples/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_async/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_async1/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_event/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_retries/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_scan/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_simple/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile
+ create mode 100644 storage/ndb/src/common/logger/listtest/Makefile
+ create mode 100644 storage/ndb/src/common/logger/loggertest/Makefile
+ create mode 100644 storage/ndb/src/common/mgmcommon/printConfig/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/basictest/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/failoverSCI/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/perftest/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/prioSCI/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/prioSHM/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/prioTCP/Makefile
+ create mode 100644 storage/ndb/src/common/util/filetest/Makefile
+ create mode 100644 storage/ndb/src/common/util/testConfigValues/Makefile
+ create mode 100644 storage/ndb/src/common/util/testProperties/Makefile
+ create mode 100644 storage/ndb/src/common/util/testSimpleProperties/Makefile
+ create mode 100644 storage/ndb/src/cw/test/socketclient/Makefile
+ create mode 100644 storage/ndb/src/cw/util/Makefile
+ create mode 100644 storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile
+ create mode 100644 storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile
+ create mode 100644 storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/al_test/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testCopy/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testDataBuffer/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testLongSig/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile
+ create mode 100644 storage/ndb/src/mgmapi/test/Makefile
+ create mode 100644 storage/ndb/src/mgmclient/test_cpcd/Makefile
+ create mode 100644 storage/ndb/src/mgmsrv/mkconfig/Makefile
+ create mode 100644 storage/ndb/src/ndbapi/signal-sender/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/basic/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/perf_test/Makefile
+ create mode 100644 storage/ndb/test/odbc/SQL99_test/Makefile
+ create mode 100644 storage/ndb/test/odbc/client/Makefile
+ create mode 100644 storage/ndb/test/odbc/dm-iodbc/Makefile
+ create mode 100644 storage/ndb/test/odbc/dm-unixodbc/Makefile
+ create mode 100644 storage/ndb/test/odbc/driver/Makefile
+ create mode 100644 storage/ndb/test/odbc/test_compiler/Makefile
+ create mode 100755 storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure
+ create mode 100644 storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile
+ create mode 100644 storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile
+ create mode 100644 storage/tokudb/tests/Makefile
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6ab17eb..11103c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,8 +38,6 @@ ENDIF()
MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
@@ -18,7 +145,7 @@ Upstream-Status: Inappropriate [working around OE-Core bug]
# Distinguish between community and non-community builds, with the
# default being a community build. This does not impact the feature
# set that will be compiled in; it's merely provided as a hint to
-@@ -77,6 +75,8 @@
+@@ -87,6 +85,8 @@ ELSE()
ENDIF()
PROJECT(${MYSQL_PROJECT_NAME})
@@ -27,3 +154,66092 @@ Upstream-Status: Inappropriate [working around OE-Core bug]
IF(BUILD_CONFIG)
INCLUDE(
${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
+diff --git a/Docs/INFO_SRC b/Docs/INFO_SRC
+new file mode 100644
+index 0000000..7887ce5
+--- /dev/null
++++ b/Docs/INFO_SRC
+@@ -0,0 +1,8 @@
++commit: 59fca5806af65c8379a993f9e604cb0b20a76e2b
++date: 2017-07-18 19:50:11 +0200
++build-date: 2017-07-18 20:33:21 +0000
++short: 59fca58
++branch: HEAD
++
++
++MySQL source 5.5.57
+diff --git a/dbug/user.r b/dbug/user.r
+new file mode 100644
+index 0000000..8d8a9ce
+--- /dev/null
++++ b/dbug/user.r
+@@ -0,0 +1,1121 @@
++.\" @(#)user.r 1.13 10/29/86
++.\"
++.\" 2004-10-29: documented features implemented since 10/29/86
++.\" formatting cleanup
++.\" - Sergei Golubchik
++.\"
++.\" DBUG (Macro Debugger Package) nroff source
++.\"
++.\" nroff -mm user.r >user.t
++.\" groff -mm user.r >user.ps
++.\"
++.\" ===================================================
++.\"
++.\" === Some sort of black magic, but I forget...
++.tr ~
++.\" === Hyphenation control (1 = on)
++.\".nr Hy 1
++.\" === Force all first level headings to start on new page
++.nr Ej 1
++.\" === Set for breaks after headings for levels 1-3
++.nr Hb 3
++.\" === Set for space after headings for levels 1-3
++.nr Hs 3
++.\" === Set standard indent for one/half inch
++.nr Si 10
++.\" === Set page header
++.PH "/DBUG User Manual//\*(DT/"
++.\" === Set page footer
++.PF "// - % - //"
++.\" === Set page offset
++.\".po 0.60i
++.\" === Set line length
++.\".ll 6.5i
++.TL
++.warn 0
++D B U G
++.P 0
++C Program Debugging Package
++.P 0
++by
++.AU "Fred Fish"
++.AF ""
++.SA 1
++.\" === All paragraphs indented.
++.nr Pt 1
++.AS 1
++This document introduces
++.I dbug ,
++a macro based C debugging
++package which has proven to be a very flexible and useful tool
++for debugging, testing, and porting C programs.
++
++.P
++All of the features of the
++.I dbug
++package can be enabled or disabled dynamically at execution time.
++This means that production programs will run normally when
++debugging is not enabled, and eliminates the need to maintain two
++separate versions of a program.
++
++.P
++Many of the things easily accomplished with conventional debugging
++tools, such as symbolic debuggers, are difficult or impossible with this
++package, and vice versa.
++Thus the
++.I dbug
++package should
++.I not
++be thought of as a replacement or substitute for
++other debugging tools, but simply as a useful
++.I addition
++to the
++program development and maintenance environment.
++
++.AE
++.MT 4
++.SK
++.B
++INTRODUCTION
++.R
++
++.P
++Almost every program development environment worthy of the name
++provides some sort of debugging facility.
++Usually this takes the form of a program which is capable of
++controlling execution of other programs and examining the internal
++state of other executing programs.
++These types of programs will be referred to as external debuggers
++since the debugger is not part of the executing program.
++Examples of this type of debugger include the
++.B adb
++and
++.B sdb
++debuggers provided with the
++.B UNIX\*F
++.FS
++UNIX is a trademark of AT&T Bell Laboratories.
++.FE
++operating system.
++
++.P
++One of the problems associated with developing programs in an environment
++with good external debuggers is that developed programs tend to have
++little or no internal instrumentation.
++This is usually not a problem for the developer since he is,
++or at least should be, intimately familiar with the internal organization,
++data structures, and control flow of the program being debugged.
++It is a serious problem for maintenance programmers, who
++are unlikely to have such familiarity with the program being
++maintained, modified, or ported to another environment.
++It is also a problem, even for the developer, when the program is
++moved to an environment with a primitive or unfamiliar debugger,
++or even no debugger.
++
++.P
++On the other hand,
++.I dbug
++is an example of an internal debugger.
++Because it requires internal instrumentation of a program,
++and its usage does not depend on any special capabilities of
++the execution environment, it is always available and will
++execute in any environment that the program itself will
++execute in.
++In addition, since it is a complete package with a specific
++user interface, all programs which use it will be provided
++with similar debugging capabilities.
++This is in sharp contrast to other forms of internal instrumentation
++where each developer has their own, usually less capable, form
++of internal debugger.
++In summary,
++because
++.I dbug
++is an internal debugger it provides consistency across operating
++environments,
++and because it is available to all developers it provides
++consistency across all programs in the same environment.
++
++.P
++The
++.I dbug
++package imposes only a slight speed penalty on executing
++programs, typically much less than 10 percent, and a modest size
++penalty, typically 10 to 20 percent.
++By defining a specific C preprocessor symbol both of these
++can be reduced to zero with no changes required to the
++source code.
++
++.P
++The following list is a quick summary of the capabilities
++of the
++.I dbug
++package.
++Each capability can be individually enabled or disabled
++at the time a program is invoked by specifying the appropriate
++command line arguments.
++.SP 1
++.ML o 1i
++.LI
++Execution trace showing function level control flow in a
++semi-graphically manner using indentation to indicate nesting
++depth.
++.LI
++Output the values of all, or any subset of, key internal variables.
++.LI
++Limit actions to a specific set of named functions.
++.LI
++Limit function trace to a specified nesting depth.
++.LI
++Label each output line with source file name and line number.
++.LI
++Label each output line with name of current process.
++.LI
++Push or pop internal debugging state to allow execution with
++built in debugging defaults.
++.LI
++Redirect the debug output stream to standard output (stdout)
++or a named file.
++The default output stream is standard error (stderr).
++The redirection mechanism is completely independent of
++normal command line redirection to avoid output conflicts.
++.LE
++
++.SK
++.B
++PRIMITIVE DEBUGGING TECHNIQUES
++.R
++
++.P
++Internal instrumentation is already a familiar concept
++to most programmers, since it is usually the first debugging
++technique learned.
++Typically, "print\ statements" are inserted in the source
++code at interesting points, the code is recompiled and executed,
++and the resulting output is examined in an attempt to determine
++where the problem is.
++
++The procedure is iterative, with each iteration yielding more
++and more output, and hopefully the source of the problem is
++discovered before the output becomes too large to deal with
++or previously inserted statements need to be removed.
++Figure 1 is an example of this type of primitive debugging
++technique.
++.DS I N
++.SP 2
++\fC
++.so example1.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 1
++.ce
++Primitive Debugging Technique
++.ll +5
++.SP 2
++.DE
++
++.P
++Eventually, and usually after at least several iterations, the
++problem will be found and corrected.
++At this point, the newly inserted print statements must be
++dealt with.
++One obvious solution is to simply delete them all.
++Beginners usually do this a few times until they have to
++repeat the entire process every time a new bug pops up.
++The second most obvious solution is to somehow disable
++the output, either through the source code comment facility,
++creation of a debug variable to be switched on or off, or by using the
++C preprocessor.
++Figure 2 is an example of all three techniques.
++.DS I N
++.SP 2
++\fC
++.so example2.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 2
++.ce
++Debug Disable Techniques
++.ll +5
++.SP 2
++.DE
++
++.P
++Each technique has its advantages and disadvantages with respect
++to dynamic vs static activation, source code overhead, recompilation
++requirements, ease of use, program readability, etc.
++Overuse of the preprocessor solution quickly leads to problems with
++source code readability and maintainability when multiple
++.B #ifdef
++symbols are to be defined or undefined based on specific types
++of debug desired.
++The source code can be made slightly more readable by suitable indentation
++of the
++.B #ifdef
++arguments to match the indentation of the code, but
++not all C preprocessors allow this.
++The only requirement for the standard
++.B UNIX
++C preprocessor is for the '#' character to appear
++in the first column, but even this seems
++like an arbitrary and unreasonable restriction.
++Figure 3 is an example of this usage.
++.DS I N
++.SP 2
++\fC
++.so example3.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 3
++.ce
++More Readable Preprocessor Usage
++.ll +5
++.SP 2
++.DE
++
++.SK
++.B
++FUNCTION TRACE EXAMPLE
++.R
++
++.P
++We will start off learning about the capabilities of the
++.I dbug
++package by using a simple minded program which computes the
++factorial of a number.
++In order to better demonstrate the function trace mechanism, this
++program is implemented recursively.
++Figure 4 is the main function for this factorial program.
++.DS I N
++.SP 2
++\fC
++.so main.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 4
++.ce
++Factorial Program Mainline
++.ll +5
++.SP 2
++.DE
++
++.P
++The
++.B main
++function is responsible for processing any command line
++option arguments and then computing and printing the factorial of
++each non-option argument.
++.P
++First of all, notice that all of the debugger functions are implemented
++via preprocessor macros.
++This does not detract from the readability of the code and makes disabling
++all debug compilation trivial (a single preprocessor symbol,
++.B DBUG_OFF ,
++forces the macro expansions to be null).
++.P
++Also notice the inclusion of the header file
++.B dbug.h
++from the local header file directory.
++(The version included here is the test version in the dbug source
++distribution directory).
++This file contains all the definitions for the debugger macros, which
++all have the form
++.B DBUG_XX...XX .
++
++.P
++The
++.B DBUG_ENTER
++macro informs that debugger that we have entered the
++function named
++.B main .
++It must be the very first "executable" line in a function, after
++all declarations and before any other executable line.
++The
++.B DBUG_PROCESS
++macro is generally used only once per program to
++inform the debugger what name the program was invoked with.
++The
++.B DBUG_PUSH
++macro modifies the current debugger state by
++saving the previous state and setting a new state based on the
++control string passed as its argument.
++The
++.B DBUG_PRINT
++macro is used to print the values of each argument
++for which a factorial is to be computed.
++The
++.B DBUG_RETURN
++macro tells the debugger that the end of the current
++function has been reached and returns a value to the calling
++function.
++All of these macros will be fully explained in subsequent sections.
++.P
++To use the debugger, the factorial program is invoked with a command
++line of the form:
++.DS CB N
++\fCfactorial -#d:t 1 2 3
++.DE
++The
++.B main
++function recognizes the "-#d:t" string as a debugger control
++string, and passes the debugger arguments ("d:t") to the
++.I dbug
++runtime support routines via the
++.B DBUG_PUSH
++macro.
++This particular string enables output from the
++.B DBUG_PRINT
++macro with the 'd' flag and enables function tracing with the 't' flag.
++The factorial function is then called three times, with the arguments
++"1", "2", and "3".
++Note that the DBUG_PRINT takes exactly
++.B two
++arguments, with the second argument (a format string and list
++of printable values) enclosed in parentheses.
++.P
++Debug control strings consist of a header, the "-#", followed
++by a colon separated list of debugger arguments.
++Each debugger argument is a single character flag followed
++by an optional comma separated list of arguments specific
++to the given flag.
++Some examples are:
++.DS CB N
++\fC
++-#d:t:o
++-#d,in,out:f,main:F:L
++.DE
++Note that previously enabled debugger actions can be disabled by the
++control string "-#".
++
++.P
++The definition of the factorial function, symbolized as "N!", is
++given by:
++.DS CB N
++N! = N * N-1 * ... 2 * 1
++.DE
++Figure 5 is the factorial function which implements this algorithm
++recursively.
++Note that this is not necessarily the best way to do factorials
++and error conditions are ignored completely.
++.DS I N
++.SP 2
++\fC
++.so factorial.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 5
++.ce
++Factorial Function
++.ll +5
++.SP 2
++.DE
++
++.P
++One advantage (some may not consider it so) to using the
++.I dbug
++package is that it strongly encourages fully structured coding
++with only one entry and one exit point in each function.
++Multiple exit points, such as early returns to escape a loop,
++may be used, but each such point requires the use of an
++appropriate
++.B DBUG_RETURN
++or
++.B DBUG_VOID_RETURN
++macro.
++
++.P
++To build the factorial program on a
++.B UNIX
++system, compile and
++link with the command:
++.DS CB N
++\fCcc -o factorial main.c factorial.c -ldbug
++.DE
++The "-ldbug" argument tells the loader to link in the
++runtime support modules for the
++.I dbug
++package.
++Executing the factorial program with a command of the form:
++.DS CB N
++\fCfactorial 1 2 3 4 5
++.DE
++generates the output shown in figure 6.
++.DS I N
++.SP 2
++\fC
++.so output1.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 6
++.ce
++\fCfactorial 1 2 3 4 5
++.ll +5
++.SP 2
++.DE
++
++.P
++Function level tracing is enabled by passing the debugger
++the 't' flag in the debug control string.
++Figure 7 is the output resulting from the command
++"factorial\ -#t:o\ 2\ 3".
++.DS I N
++.SP 2
++\fC
++.so output2.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 7
++.ce
++\fCfactorial -#t:o 2 3
++.ll +5
++.SP 2
++.DE
++
++.P
++Each entry to or return from a function is indicated by '>' for the
++entry point and '<' for the exit point, connected by
++vertical bars to allow matching points to be easily found
++when separated by large distances.
++
++.P
++This trace output indicates that there was an initial call
++to factorial from main (to compute 2!), followed by
++a single recursive call to factorial to compute 1!.
++The main program then output the result for 2! and called the
++factorial function again with the second argument, 3.
++Factorial called itself recursively to compute 2! and 1!, then
++returned control to main, which output the value for 3! and exited.
++
++.P
++Note that there is no matching entry point "main>" for the
++return point "<main" because at the time the
++.B DBUG_ENTER
++macro was reached in main, tracing was not enabled yet.
++It was only after the macro
++.B DBUG_PUSH
++was executing that tracing became enabled.
++This implies that the argument list should be processed as early as
++possible since all code preceding the first call to
++.B DBUG_PUSH
++is
++essentially invisible to
++.I dbug
++(this can be worked around by
++inserting a temporary
++.B DBUG_PUSH(argv[1])
++immediately after the
++.B DBUG_ENTER("main")
++macro.
++
++.P
++One last note,
++the trace output normally comes out on the standard error.
++Since the factorial program prints its result on the standard
++output, there is the possibility of the output on the terminal
++being scrambled if the two streams are not synchronized.
++Thus the debugger is told to write its output on the standard
++output instead, via the 'o' flag character.
++Note that no 'o' implies the default (standard error), a 'o'
++with no arguments means standard output, and a 'o'
++with an argument means used the named file.
++i.e, "factorial\ -#t:o,logfile\ 3\ 2" would write the trace
++output in "logfile".
++Because of
++.B UNIX
++implementation details, programs usually run
++faster when writing to stdout rather than stderr, though this
++is not a prime consideration in this example.
++
++.SK
++.B
++USE OF DBUG_PRINT MACRO
++.R
++
++.P
++The mechanism used to produce "printf" style output is the
++.B DBUG_PRINT
++macro.
++
++.P
++To allow selection of output from specific macros, the first argument
++to every
++.B DBUG_PRINT
++macro is a
++.I dbug
++keyword.
++When this keyword appears in the argument list of the 'd' flag in
++a debug control string, as in "-#d,keyword1,keyword2,...:t",
++output from the corresponding macro is enabled.
++The default when there is no 'd' flag in the control string is to
++enable output from all
++.B DBUG_PRINT
++macros.
++
++.P
++Typically, a program will be run once, with no keywords specified,
++to determine what keywords are significant for the current problem
++(the keywords are printed in the macro output line).
++Then the program will be run again, with the desired keywords,
++to examine only specific areas of interest.
++
++.P
++The second argument to a
++.B DBUG_PRINT
++macro is a standard printf style
++format string and one or more arguments to print, all
++enclosed in parentheses so that they collectively become a single macro
++argument.
++This is how variable numbers of printf arguments are supported.
++Also note that no explicit newline is required at the end of the format string.
++As a matter of style, two or three small
++.B DBUG_PRINT
++macros are preferable
++to a single macro with a huge format string.
++Figure 8 shows the output for default tracing and debug.
++.DS I N
++.SP 2
++\fC
++.so output3.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 8
++.ce
++\fCfactorial -#d:t:o 3
++.ll +5
++.SP 2
++.DE
++
++.P
++The output from the
++.B DBUG_PRINT
++macro is indented to match the trace output
++for the function in which the macro occurs.
++When debugging is enabled, but not trace, the output starts at the left
++margin, without indentation.
++
++.P
++To demonstrate selection of specific macros for output, figure
++9 shows the result when the factorial program is invoked with
++the debug control string "-#d,result:o".
++.DS I N
++.SP 2
++\fC
++.so output4.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 9
++.ce
++\fCfactorial -#d,result:o 4
++.ll +5
++.SP 2
++.DE
++
++.P
++It is sometimes desirable to restrict debugging and trace actions
++to a specific function or list of functions.
++This is accomplished with the 'f' flag character in the debug
++control string.
++Figure 10 is the output of the factorial program when run with the
++control string "-#d:f,factorial:F:L:o".
++The 'F' flag enables printing of the source file name and the 'L'
++flag enables printing of the source file line number.
++.DS I N
++.SP 2
++\fC
++.so output5.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 10
++.ce
++\fCfactorial -#d:f,factorial:F:L:o 3
++.ll +5
++.SP 2
++.DE
++
++.P
++The output in figure 10 shows that the "find" macro is in file
++"factorial.c" at source line 8 and the "result" macro is in the same
++file at source line 12.
++
++.SK
++.B
++SUMMARY OF MACROS
++.R
++
++.P
++This section summarizes the usage of all currently defined macros
++in the
++.I dbug
++package.
++The macros definitions are found in the user include file
++.B dbug.h
++from the standard include directory.
++
++.SP 2
++.BL 20
++.LI DBUG_ENTER\
++Used to tell the runtime support module the name of the function being
++entered. The argument must be of type "pointer to character". The
++DBUG_ENTER macro must precede all executable lines in the function
++just entered, and must come after all local declarations. Each
++DBUG_ENTER macro must have a matching DBUG_RETURN or DBUG_VOID_RETURN
++macro at the function exit points. DBUG_ENTER macros used without a
++matching DBUG_RETURN or DBUG_VOID_RETURN macro will cause warning
++messages from the
++.I dbug
++package runtime support module.
++.SP 1
++EX:\ \fCDBUG_ENTER\ ("main");\fR
++.SP 1
++.LI DBUG_RETURN\
++Used at each exit point of a function containing a DBUG_ENTER macro at
++the entry point. The argument is the value to return. Functions
++which return no value (void) should use the DBUG_VOID_RETURN macro.
++It is an error to have a DBUG_RETURN or DBUG_VOID_RETURN macro in a
++function which has no matching DBUG_ENTER macro, and the compiler will
++complain if the macros are actually used (expanded).
++.SP 1
++EX:\ \fCDBUG_RETURN\ (value);\fR
++.br
++EX:\ \fCDBUG_VOID_RETURN;\fR
++.SP 1
++.LI DBUG_PROCESS\
++Used to name the current process being executed.
++A typical argument for this macro is "argv[0]", though
++it will be perfectly happy with any other string.
++Im multi-threaded environment threads may have different names.
++.SP 1
++EX:\ \fCDBUG_PROCESS\ (argv[0]);\fR
++.SP 1
++.LI DBUG_PUSH\
++Sets a new debugger state by pushing the current
++.I dbug
++state onto an internal stack and setting up the new state using the
++debug control string passed as the macro argument. The most common
++usage is to set the state specified by a debug control string
++retrieved from the argument list. If the control string is
++.I incremental,
++the new state is a copy of the old state, modified by the control
++string.
++.SP 1
++EX:\ \fCDBUG_PUSH\ (\&(argv[i][2]));\fR
++.br
++EX:\ \fCDBUG_PUSH\ ("d:t");\fR
++.br
++EX:\ \fCDBUG_PUSH\ ("");\fR
++.SP 1
++.LI DBUG_POP\
++Restores the previous debugger state by popping the state stack.
++Attempting to pop more states than pushed will be ignored and no
++warning will be given. The DBUG_POP macro has no arguments.
++.SP 1
++EX:\ \fCDBUG_POP\ ();\fR
++.SP 1
++.LI DBUG_SET\
++Modifies the current debugger state on top of the stack or pushes
++a new state if the current is set to the initial settings, using
++the debug control string passed as the macro argument. Unless
++.I incremental
++control string is used (see below), it's equivalent to a combination of
++DBUG_POP and DBUG_PUSH.
++.SP 1
++EX:\ \fCDBUG_SET\ ("d:t");\fR
++.br
++EX:\ \fCDBUG_SET\ ("+d,info");\fR
++.br
++EX:\ \fCDBUG_SET\ ("+t:-d");\fR
++.SP 1
++.LI DBUG_FILE\
++The DBUG_FILE macro is used to do explicit I/O on the debug output
++stream. It is used in the same manner as the symbols "stdout" and
++"stderr" in the standard I/O package.
++.SP 1
++EX:\ \fCfprintf\ (DBUG_FILE,\ "Doing\ my\ own\ I/O!\\n");\fR
++.SP 1
++.LI DBUG_EXECUTE\
++The DBUG_EXECUTE macro is used to execute any arbitrary C code. The
++first argument is the debug keyword, used to trigger execution of the
++code specified as the second argument. This macro must be used
++cautiously because, like the DBUG_PRINT macro, it is automatically
++selected by default whenever the 'd' flag has no argument list (i.e.,
++a "-#d:t" control string).
++.SP 1
++EX:\ \fCDBUG_EXECUTE\ ("status",\ print_status\ ());\fR
++.SP 1
++.LI DBUG_EXECUTE_IF\
++Works like DBUG_EXECUTE macro, but the code is
++.B not
++executed "by default", if the keyword is not explicitly listed in
++the 'd' flag. Used to conditionally execute "dangerous" actions, e.g
++to crash the program testing how recovery works, or to introduce an
++artificial delay checking for race conditions.
++.SP 1
++EX:\ \fCDBUG_EXECUTE_IF\ ("crashme",\ DBUG_ABORT()\ ());\fR
++.SP 1
++.LI DBUG_EVALUATE\
++The DBUG_EVALUATE macro is similar to DBUG_EXECUTE, but it can be used in
++the expression context. The first argument is the debug keyword that is used to
++choose whether the second (keyword is enabled) or the third (keyword is not
++enabled) argument is evaluated. When
++.I dbug
++is compiled off, the third argument is evaluated.
++.SP 1
++EX:\fC
++.br
++ printf("Info-debug is %s",
++.br
++ DBUG_EVALUATE\ ("info", "ON", "OFF"));\fR
++.SP 1
++.LI DBUG_EVALUATE_IF\
++Works like DBUG_EVALUATE macro, but the second argument is
++.B not
++evaluated, if the keyword is not explicitly listed in
++the 'd' flag. Like DBUG_EXECUTE_IF this could be used to conditionally execute
++"dangerous" actions.
++.SP 1
++EX:\fC
++.br
++ if (prepare_transaction () ||
++.br
++ DBUG_EVALUATE ("crashme", (DBUG_ABORT(), 0), 0) ||
++.br
++ commit_transaction () )\fR
++.SP 1
++.LI DBUG_PRINT\
++Used to do printing via the "fprintf" library function on the current
++debug stream, DBUG_FILE. The first argument is a debug keyword, the
++second is a format string and the corresponding argument list. Note
++that the format string and argument list are all one macro argument
++and
++.B must
++be enclosed in parentheses.
++.SP 1
++EX:\ \fCDBUG_PRINT\ ("eof",\ ("end\ of\ file\ found"));\fR
++.br
++EX:\ \fCDBUG_PRINT\ ("type",\ ("type\ is\ %x", type));\fR
++.br
++EX:\ \fCDBUG_PRINT\ ("stp",\ ("%x\ ->\ %s", stp, stp\ ->\ name));\fR
++.SP 1
++.LI DBUG_DUMP\
++Used to dump a memory block in hex via the "fprintf" library function
++on the current debug stream, DBUG_FILE. The first argument is a debug
++keyword, the second is a pointer to a memory to dump, the third is a
++number of bytes to dump.
++.SP 1
++EX: \fCDBUG_DBUG\ ("net",\ packet,\ len);\fR
++.SP 1
++.LI DBUG_LOCK_FILE\
++Used in multi-threaded environment to lock DBUG_FILE stream.
++It can be used, for example, in functions that need to write something to a
++debug stream more than in one fprintf() call and want to ensure that no other
++thread will write something in between.
++.SP 1
++EX:\fC
++.br
++ DBUG_LOCK_FILE;
++.br
++ fprintf (DBUG_FILE, "a=[");
++.br
++ for (int i=0; i < a_length; i++)
++.br
++ fprintf (DBUG_FILE, "0x%03x ", a[i]);
++.br
++ fprintf (DBUG_FILE, "]");
++.br
++ DBUG_UNLOCK_FILE;\fR
++.SP 1
++.LI DBUG_UNLOCK_FILE\
++Unlocks DBUG_FILE stream, that was locked with a DBUG_LOCK_FILE.
++.LI DBUG_ASSERT\
++This macro just does a regular assert(). The difference is that it will be
++disabled by DBUG_OFF togeher with the
++.I dbug
++library. So there will be no need to disable asserts separately with NDEBUG.
++.SP 1
++EX:\ \fCDBUG_ASSERT(\ a\ >\ 0\ );\fR
++.SP 1
++.LI DBUG_ABORT\
++This macro could be used instead of abort(). It flushes DBUG_FILE stream
++to ensure that no
++.I dbug
++output is lost and then calls abort().
++.SP 1
++.LI DBUG_EXPLAIN\
++Generates control string corresponding to the current debug state.
++The macro takes two arguments - a buffer to store the result string
++into and its length. The macro (which could be used as a function)
++returns 1 if the control string didn't fit into the buffer and was
++truncated and 0 otherwise.
++.SP 1
++EX:\fC
++.br
++ char buf[256];
++.br
++ DBUG_EXPLAIN( buf, sizeof(buf) );\fR
++.SP 1
++.LI DBUG_SET_INITIAL\
++.LI DBUG_EXPLAIN_INITIAL\
++.br
++These two macros are identical to DBUG_SET and DBUG_EXPLAIN, but they
++operate on the debug state that any new thread starts from.
++Modifying
++.I initial
++value does not affect threads that are already running. Obviously,
++these macros are only useful in the multi-threaded environment.
++.LE
++
++.SK
++.B
++DEBUG CONTROL STRING
++.R
++
++.P
++The debug control string is used to set the state of the debugger
++via the
++.B DBUG_PUSH
++or
++.B DBUG_SET
++macros. Control string consists of colon separated flags. Colons
++that are part of ':\\', ':/', or '::' are not considered flag
++separators. A flag may take an argument or a list of arguments.
++If a control string starts from a '+' sign it works
++.I incrementally,
++that is, it can modify existing state without overriding it. Every
++flag may be preceded by a '+' or '-' to enable or disable a
++corresponding option in the debugger state or to add or remove
++arguments to the list. This section summarizes the currently available
++debugger options and the flag characters which enable or disable them.
++Argument lists enclosed in '[' and ']' are optional.
++.SP 2
++.BL 22
++.LI a[,file]
++Redirect the debugger output stream and append it to the specified
++file. The default output stream is stderr. A null argument list
++causes output to be redirected to stdout.
++.SP 1
++EX: \fCa,C:\\tmp\\log\fR
++.LI A[,file]
++Like 'a[,file]' but ensure that data are written after each write
++(this typically implies flush or close/reopen). It helps to get
++a complete log file in case of crashes. This mode is implicit in
++multi-threaded environment.
++.LI d[,keywords]
++Enable output from macros with specified keywords.
++Every keyword can be a
++.I glob(7)
++pattern.
++An empty list of keywords implies that all keywords are selected.
++.LI D[,time]
++Delay for specified time after each output line, to let output drain.
++Time is given in tenths of a second (value of 10 is one second).
++Default is zero.
++.LI f[,functions]
++Limit debugger actions to the specified list of functions.
++Every function can be a
++.I glob(7)
++pattern.
++An empty list of functions implies that all functions are selected.
++Every function in the list may optionally be followed by a '/' -
++this will implicitly select all the functions down the call stack.
++.SP 1
++EX: \fCf,func1,func2/:-f,func3,func4/\fR
++.SP 1
++This would enable debugger in functions 'func1()', 'func2()' and all
++functions called from it (directly or indirectly). But not in
++functions 'func3()' or 'func4()' and all functions called from
++it.
++.LI F
++Mark each debugger output line with the name of the source file
++containing the macro causing the output.
++.LI i
++Mark each debugger output line with the PID (or thread ID) of the
++current process.
++.LI L
++Mark each debugger output line with the source file line number of
++the macro causing the output.
++.LI n
++Mark each debugger output line with the current function nesting depth.
++.LI N
++Sequentially number each debugger output line starting at 1.
++This is useful for reference purposes when debugger output is
++interspersed with program output.
++.LI o[,file]
++Like 'a[,file]' but overwrite old file, do not append.
++.LI O[,file]
++Like 'A[,file]' but overwrite old file, do not append.
++.LI p[,processes]
++Limit debugger actions to the specified processes.
++Every name can be a
++.I glob(7)
++pattern.
++An empty list
++implies all processes. This is useful for processes which run child
++processes. Note that each debugger output line can be marked with the
++name of the current process via the 'P' flag. The process name must
++match the argument passed to the
++.B DBUG_PROCESS
++macro.
++.LI P
++Mark each debugger output line with the name of the current process.
++Most useful when used with a process which runs child processes that
++are also being debugged. Note that the parent process must arrange
++for the debugger control string to be passed to the child processes.
++.LI r
++Used in conjunction with the
++.B DBUG_PUSH
++macro to reset the current
++indentation level back to zero.
++Most useful with
++.B DBUG_PUSH
++macros used to temporarily alter the
++debugger state.
++.LI S
++When compiled with
++.I safemalloc
++this flag invokes "sanity" memory checks (for overwrites/underwrites)
++on each
++.B DBUG_ENTER
++and
++.B DBUG_RETURN.
++.LI t[,N]
++Enable function control flow tracing.
++The maximum nesting depth is specified by N, and defaults to
++200.
++.LI T
++Mark each debugger output line with the current timestamp.
++The value is printed with microsecond resolution, as returned by
++.I gettimeofday()
++system call. The actual resolution is OS- and hardware-dependent.
++.LE
++
++.SK
++.B
++MULTI-THREADED DEBUGGING
++.R
++
++.P
++When
++.I dbug
++is used in a multi-threaded environment there are few differences from a single-threaded
++case to keep in mind. This section tries to summarize them.
++.SP 2
++.BL 5
++.LI
++Every thread has its own stack of debugger states.
++.B DBUG_PUSH
++and
++.B DBUG_POP
++affect only the thread that executed them.
++.LI
++At the bottom of the stack for all threads there is the common
++.I initial
++state. Changes to this state (for example, with
++.B DBUG_SET_INITIAL
++macro) affect all new threads and all running threads that didn't
++.B DBUG_PUSH
++yet.
++.LI
++Every thread can have its own name, that can be set with
++.B DBUG_PROCESS
++macro. Thus, "-#p,name1,name2" can be used to limit the output to specific threads.
++.LI
++When printing directly to
++.B DBUG_FILE
++it may be necessary to prevent other threads from writing something between two parts
++of logically indivisible output. It is done with
++.B DBUG_LOCK_FILE
++and
++.B DBUG_UNLOCK_FILE
++macors. See the appropriate section for examples.
++.LI
++"-#o,file" and "-#O,file" are treated as "-#a,file" and "-#A,file" respectively. That is
++all writes to a file are always followed by a flush.
++.LI
++"-#i" prints not a PID but a thread id in the form of "T at nnn"
++.LE
++
++.SK
++.B
++
++HINTS AND MISCELLANEOUS
++.R
++
++.P
++One of the most useful capabilities of the
++.I dbug
++package is to compare the executions of a given program in two
++different environments.
++This is typically done by executing the program in the environment
++where it behaves properly and saving the debugger output in a
++reference file.
++The program is then run with identical inputs in the environment where
++it misbehaves and the output is again captured in a reference file.
++The two reference files can then be differentially compared to
++determine exactly where execution of the two processes diverges.
++
++.P
++A related usage is regression testing where the execution of a current
++version is compared against executions of previous versions.
++This is most useful when there are only minor changes.
++
++.P
++It is not difficult to modify an existing compiler to implement
++some of the functionality of the
++.I dbug
++package automatically, without source code changes to the
++program being debugged.
++In fact, such changes were implemented in a version of the
++Portable C Compiler by the author in less than a day.
++However, it is strongly encouraged that all newly
++developed code continue to use the debugger macros
++for the portability reasons noted earlier.
++The modified compiler should be used only for testing existing
++programs.
++
++.SK
++.B
++CAVEATS
++.R
++
++.P
++The
++.I dbug
++package works best with programs which have "line\ oriented"
++output, such as text processors, general purpose utilities, etc.
++It can be interfaced with screen oriented programs such as
++visual editors by redefining the appropriate macros to call
++special functions for displaying the debugger results.
++Of course, this caveat is not applicable if the debugger output
++is simply dumped into a file for post-execution examination.
++
++.P
++Programs which use memory allocation functions other than
++.B malloc
++will usually have problems using the standard
++.I dbug
++package.
++The most common problem is multiply allocated memory.
++.SP 2
++.\" .DE nroff dident like this. davida 900108
++.CS
++
++.\" vim:filetype=nroff
+diff --git a/sql/sql_yacc.cc b/sql/sql_yacc.cc
+new file mode 100644
+index 0000000..9234796
+--- /dev/null
++++ b/sql/sql_yacc.cc
+@@ -0,0 +1,37809 @@
++/* A Bison parser, made by GNU Bison 3.0.2. */
++
++/* Bison implementation for Yacc-like parsers in C
++
++ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
++
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
++
++/* As a special exception, you may create a larger work that contains
++ part or all of the Bison parser skeleton and distribute that work
++ under terms of your choice, so long as that work isn't itself a
++ parser generator using the skeleton or a modified version thereof
++ as a parser skeleton. Alternatively, if you modify or redistribute
++ the parser skeleton itself, you may (at your option) remove this
++ special exception, which will cause the skeleton and the resulting
++ Bison output files to be licensed under the GNU General Public
++ License without this special exception.
++
++ This special exception was added by the Free Software Foundation in
++ version 2.2 of Bison. */
++
++/* C LALR(1) parser skeleton written by Richard Stallman, by
++ simplifying the original so-called "semantic" parser. */
++
++/* All symbols defined below should begin with yy or YY, to avoid
++ infringing on user name space. This should be done even for local
++ variables, as they might otherwise be expanded by user macros.
++ There are some unavoidable exceptions within include files to
++ define necessary library symbols; they are noted "INFRINGES ON
++ USER NAME SPACE" below. */
++
++/* Identify Bison output. */
++#define YYBISON 1
++
++/* Bison version. */
++#define YYBISON_VERSION "3.0.2"
++
++/* Skeleton name. */
++#define YYSKELETON_NAME "yacc.c"
++
++/* Pure parsers. */
++#define YYPURE 1
++
++/* Push parsers. */
++#define YYPUSH 0
++
++/* Pull parsers. */
++#define YYPULL 1
++
++
++/* Substitute the variable and function names. */
++#define yyparse MYSQLparse
++#define yylex MYSQLlex
++#define yyerror MYSQLerror
++#define yydebug MYSQLdebug
++#define yynerrs MYSQLnerrs
++
++
++/* Copy the first part of user declarations. */
++#line 25 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:339 */
++
++#define YYLIP (& thd->m_parser_state->m_lip)
++#define YYPS (& thd->m_parser_state->m_yacc)
++
++#define MYSQL_YACC
++#define YYINITDEPTH 100
++#define YYMAXDEPTH 3200 /* Because of 64K stack */
++#define Lex (thd->lex)
++
++#define Select Lex->current_select
++#include "sql_priv.h"
++#include "unireg.h" // REQUIRED: for other includes
++#include "sql_parse.h" /* comp_*_creator */
++#include "sql_table.h" /* primary_key_name */
++#include "sql_partition.h" /* mem_alloc_error, partition_info, HASH_PARTITION */
++#include "sql_acl.h" /* *_ACL */
++#include "password.h" /* my_make_scrambled_password_323, my_make_scrambled_password */
++#include "sql_class.h" /* Key_part_spec, enum_filetype, Diag_condition_item_name */
++#include "slave.h"
++#include "lex_symbol.h"
++#include "item_create.h"
++#include "sp_head.h"
++#include "sp_pcontext.h"
++#include "sp_rcontext.h"
++#include "sp.h"
++#include "sql_alter.h" // Alter_table*_statement
++#include "sql_truncate.h" // Truncate_statement
++#include "sql_admin.h" // Analyze/Check..._table_stmt
++#include "sql_partition_admin.h" // Alter_table_*_partition_stmt
++#include "sql_signal.h"
++#include "event_parse_data.h"
++#include "create_options.h"
++#include <myisam.h>
++#include <myisammrg.h>
++#include "keycaches.h"
++#include "set_var.h"
++
++/* this is to get the bison compilation windows warnings out */
++#ifdef _MSC_VER
++/* warning C4065: switch statement contains 'default' but no 'case' labels */
++#pragma warning (disable : 4065)
++#endif
++
++int yylex(void *yylval, void *yythd);
++
++#define yyoverflow(A,B,C,D,E,F) \
++ { \
++ ulong val= *(F); \
++ if (my_yyoverflow((B), (D), &val)) \
++ { \
++ yyerror(thd, (char*) (A)); \
++ return 2; \
++ } \
++ else \
++ { \
++ *(F)= (YYSIZE_T)val; \
++ } \
++ }
++
++#define MYSQL_YYABORT \
++ do \
++ { \
++ LEX::cleanup_lex_after_parse_error(thd); \
++ YYABORT; \
++ } while (0)
++
++#define MYSQL_YYABORT_UNLESS(A) \
++ if (!(A)) \
++ { \
++ my_parse_error(ER(ER_SYNTAX_ERROR));\
++ MYSQL_YYABORT; \
++ }
++
++/*
++ Work around for broken code generated by bison 1.875.
++
++ The code generated by bison 1.875a and later, bison 2.1 and bison 2.2 is ok.
++ With bison 1.875 however, the generated code contains:
++<pre>
++ yyerrlab1:
++ #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
++ __attribute__ ((__unused__))
++ #endif
++</pre>
++ This usage of __attribute__ is illegal, so we remove it.
++ See the following references for details:
++ http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00014.html
++ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14273
++*/
++
++#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
++#undef __attribute__
++#define __attribute__(X)
++#endif
++
++
++#ifndef DBUG_OFF
++#define YYDEBUG 1
++#else
++#define YYDEBUG 0
++#endif
++
++/**
++ @brief Push an error message into MySQL error stack with line
++ and position information.
++
++ This function provides semantic action implementers with a way
++ to push the famous "You have a syntax error near..." error
++ message into the error stack, which is normally produced only if
++ a parse error is discovered internally by the Bison generated
++ parser.
++*/
++
++void my_parse_error(const char *s)
++{
++ THD *thd= current_thd;
++ Lex_input_stream *lip= & thd->m_parser_state->m_lip;
++
++ const char *yytext= lip->get_tok_start();
++ if (!yytext)
++ yytext= "";
++
++ /* Push an error into the error stack */
++ ErrConvString err(yytext, strlen(yytext), thd->variables.character_set_client);
++ my_printf_error(ER_PARSE_ERROR, ER(ER_PARSE_ERROR), MYF(0), s,
++ err.ptr(), lip->yylineno);
++}
++
++/**
++ @brief Bison callback to report a syntax/OOM error
++
++ This function is invoked by the bison-generated parser
++ when a syntax error, a parse error or an out-of-memory
++ condition occurs. This function is not invoked when the
++ parser is requested to abort by semantic action code
++ by means of YYABORT or YYACCEPT macros. This is why these
++ macros should not be used (use MYSQL_YYABORT/MYSQL_YYACCEPT
++ instead).
++
++ The parser will abort immediately after invoking this callback.
++
++ This function is not for use in semantic actions and is internal to
++ the parser, as it performs some pre-return cleanup.
++ In semantic actions, please use my_parse_error or my_error to
++ push an error into the error stack and MYSQL_YYABORT
++ to abort from the parser.
++*/
++
++void MYSQLerror(THD *thd, const char *s)
++{
++ /*
++ Restore the original LEX if it was replaced when parsing
++ a stored procedure. We must ensure that a parsing error
++ does not leave any side effects in the THD.
++ */
++ LEX::cleanup_lex_after_parse_error(thd);
++
++ /* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */
++ if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0)
++ s= ER(ER_SYNTAX_ERROR);
++ my_parse_error(s);
++}
++
++
++#ifndef DBUG_OFF
++void turn_parser_debug_on()
++{
++ /*
++ MYSQLdebug is in sql/sql_yacc.cc, in bison generated code.
++ Turning this option on is **VERY** verbose, and should be
++ used when investigating a syntax error problem only.
++
++ The syntax to run with bison traces is as follows :
++ - Starting a server manually :
++ mysqld --debug-dbug="d,parser_debug" ...
++ - Running a test :
++ mysql-test-run.pl --mysqld="--debug-dbug=d,parser_debug" ...
++
++ The result will be in the process stderr (var/log/master.err)
++ */
++
++ extern int yydebug;
++ yydebug= 1;
++}
++#endif
++
++static bool is_native_function(THD *thd, const LEX_STRING *name)
++{
++ if (find_native_function_builder(thd, *name))
++ return true;
++
++ if (is_lex_native_function(name))
++ return true;
++
++ return false;
++}
++
++
++/**
++ Helper action for a case statement (entering the CASE).
++ This helper is used for both 'simple' and 'searched' cases.
++ This helper, with the other case_stmt_action_..., is executed when
++ the following SQL code is parsed:
++<pre>
++CREATE PROCEDURE proc_19194_simple(i int)
++BEGIN
++ DECLARE str CHAR(10);
++
++ CASE i
++ WHEN 1 THEN SET str="1";
++ WHEN 2 THEN SET str="2";
++ WHEN 3 THEN SET str="3";
++ ELSE SET str="unknown";
++ END CASE;
++
++ SELECT str;
++END
++</pre>
++ The actions are used to generate the following code:
++<pre>
++SHOW PROCEDURE CODE proc_19194_simple;
++Pos Instruction
++0 set str at 1 NULL
++1 set_case_expr (12) 0 i at 0
++2 jump_if_not 5(12) (case_expr at 0 = 1)
++3 set str at 1 _latin1'1'
++4 jump 12
++5 jump_if_not 8(12) (case_expr at 0 = 2)
++6 set str at 1 _latin1'2'
++7 jump 12
++8 jump_if_not 11(12) (case_expr at 0 = 3)
++9 set str at 1 _latin1'3'
++10 jump 12
++11 set str at 1 _latin1'unknown'
++12 stmt 0 "SELECT str"
++</pre>
++
++ @param lex the parser lex context
++*/
++
++void case_stmt_action_case(LEX *lex)
++{
++ lex->sphead->new_cont_backpatch(NULL);
++
++ /*
++ BACKPATCH: Creating target label for the jump to
++ "case_stmt_action_end_case"
++ (Instruction 12 in the example)
++ */
++
++ lex->spcont->push_label((char *)"", lex->sphead->instructions());
++}
++
++/**
++ Helper action for a case expression statement (the expr in 'CASE expr').
++ This helper is used for 'searched' cases only.
++ @param lex the parser lex context
++ @param expr the parsed expression
++ @return 0 on success
++*/
++
++int case_stmt_action_expr(LEX *lex, Item* expr)
++{
++ sp_head *sp= lex->sphead;
++ sp_pcontext *parsing_ctx= lex->spcont;
++ int case_expr_id= parsing_ctx->register_case_expr();
++ sp_instr_set_case_expr *i;
++
++ if (parsing_ctx->push_case_expr_id(case_expr_id))
++ return 1;
++
++ i= new sp_instr_set_case_expr(sp->instructions(),
++ parsing_ctx, case_expr_id, expr, lex);
++
++ sp->add_cont_backpatch(i);
++ return sp->add_instr(i);
++}
++
++/**
++ Helper action for a case when condition.
++ This helper is used for both 'simple' and 'searched' cases.
++ @param lex the parser lex context
++ @param when the parsed expression for the WHEN clause
++ @param simple true for simple cases, false for searched cases
++*/
++
++int case_stmt_action_when(LEX *lex, Item *when, bool simple)
++{
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ uint ip= sp->instructions();
++ sp_instr_jump_if_not *i;
++ Item_case_expr *var;
++ Item *expr;
++
++ if (simple)
++ {
++ var= new Item_case_expr(ctx->get_current_case_expr_id());
++
++#ifndef DBUG_OFF
++ if (var)
++ {
++ var->m_sp= sp;
++ }
++#endif
++
++ expr= new Item_func_eq(var, when);
++ i= new sp_instr_jump_if_not(ip, ctx, expr, lex);
++ }
++ else
++ i= new sp_instr_jump_if_not(ip, ctx, when, lex);
++
++ /*
++ BACKPATCH: Registering forward jump from
++ "case_stmt_action_when" to "case_stmt_action_then"
++ (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example)
++ */
++
++ return !test(i) ||
++ sp->push_backpatch(i, ctx->push_label((char *)"", 0)) ||
++ sp->add_cont_backpatch(i) ||
++ sp->add_instr(i);
++}
++
++/**
++ Helper action for a case then statements.
++ This helper is used for both 'simple' and 'searched' cases.
++ @param lex the parser lex context
++*/
++
++int case_stmt_action_then(LEX *lex)
++{
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ uint ip= sp->instructions();
++ sp_instr_jump *i = new sp_instr_jump(ip, ctx);
++ if (!test(i) || sp->add_instr(i))
++ return 1;
++
++ /*
++ BACKPATCH: Resolving forward jump from
++ "case_stmt_action_when" to "case_stmt_action_then"
++ (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example)
++ */
++
++ sp->backpatch(ctx->pop_label());
++
++ /*
++ BACKPATCH: Registering forward jump from
++ "case_stmt_action_then" to "case_stmt_action_end_case"
++ (jump from instruction 4 to 12, 7 to 12 ... in the example)
++ */
++
++ return sp->push_backpatch(i, ctx->last_label());
++}
++
++/**
++ Helper action for an end case.
++ This helper is used for both 'simple' and 'searched' cases.
++ @param lex the parser lex context
++ @param simple true for simple cases, false for searched cases
++*/
++
++void case_stmt_action_end_case(LEX *lex, bool simple)
++{
++ /*
++ BACKPATCH: Resolving forward jump from
++ "case_stmt_action_then" to "case_stmt_action_end_case"
++ (jump from instruction 4 to 12, 7 to 12 ... in the example)
++ */
++ lex->sphead->backpatch(lex->spcont->pop_label());
++
++ if (simple)
++ lex->spcont->pop_case_expr_id();
++
++ lex->sphead->do_cont_backpatch();
++}
++
++
++static bool
++find_sys_var_null_base(THD *thd, struct sys_var_with_base *tmp)
++{
++ tmp->var= find_sys_var(thd, tmp->base_name.str, tmp->base_name.length);
++
++ if (tmp->var == NULL)
++ my_error(ER_UNKNOWN_SYSTEM_VARIABLE, MYF(0), tmp->base_name.str);
++ else
++ tmp->base_name= null_lex_str;
++
++ return thd->is_error();
++}
++
++
++/**
++ Helper action for a SET statement.
++ Used to push a system variable into the assignment list.
++
++ @param thd the current thread
++ @param tmp the system variable with base name
++ @param var_type the scope of the variable
++ @param val the value being assigned to the variable
++
++ @return TRUE if error, FALSE otherwise.
++*/
++
++static bool
++set_system_variable(THD *thd, struct sys_var_with_base *tmp,
++ enum enum_var_type var_type, Item *val)
++{
++ set_var *var;
++ LEX *lex= thd->lex;
++
++ /* No AUTOCOMMIT from a stored function or trigger. */
++ if (lex->spcont && tmp->var == Sys_autocommit_ptr)
++ lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
++
++ if (val && val->type() == Item::FIELD_ITEM &&
++ ((Item_field*)val)->table_name)
++ {
++ my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), tmp->var->name.str);
++ return TRUE;
++ }
++
++ if (! (var= new set_var(var_type, tmp->var, &tmp->base_name, val)))
++ return TRUE;
++
++ return lex->var_list.push_back(var);
++}
++
++
++/**
++ Helper action for a SET statement.
++ Used to push a SP local variable into the assignment list.
++
++ @param thd the current thread
++ @param var_type the SP local variable
++ @param val the value being assigned to the variable
++
++ @return TRUE if error, FALSE otherwise.
++*/
++
++static bool
++set_local_variable(THD *thd, sp_variable_t *spv, Item *val)
++{
++ Item *it;
++ LEX *lex= thd->lex;
++ sp_instr_set *sp_set;
++
++ if (val)
++ it= val;
++ else if (spv->dflt)
++ it= spv->dflt;
++ else
++ {
++ it= new (thd->mem_root) Item_null();
++ if (it == NULL)
++ return TRUE;
++ }
++
++ sp_set= new sp_instr_set(lex->sphead->instructions(), lex->spcont,
++ spv->offset, it, spv->type, lex, TRUE);
++
++ return (sp_set == NULL || lex->sphead->add_instr(sp_set));
++}
++
++
++/**
++ Helper action for a SET statement.
++ Used to SET a field of NEW row.
++
++ @param thd the current thread
++ @param name the field name
++ @param val the value being assigned to the row
++
++ @return TRUE if error, FALSE otherwise.
++*/
++
++static bool
++set_trigger_new_row(THD *thd, LEX_STRING *name, Item *val)
++{
++ LEX *lex= thd->lex;
++ Item_trigger_field *trg_fld;
++ sp_instr_set_trigger_field *sp_fld;
++
++ /* QQ: Shouldn't this be field's default value ? */
++ if (! val)
++ val= new Item_null();
++
++ DBUG_ASSERT(lex->trg_chistics.action_time == TRG_ACTION_BEFORE &&
++ (lex->trg_chistics.event == TRG_EVENT_INSERT ||
++ lex->trg_chistics.event == TRG_EVENT_UPDATE));
++
++ trg_fld= new (thd->mem_root)
++ Item_trigger_field(lex->current_context(),
++ Item_trigger_field::NEW_ROW,
++ name->str, UPDATE_ACL, FALSE);
++
++ if (trg_fld == NULL)
++ return TRUE;
++
++ sp_fld= new sp_instr_set_trigger_field(lex->sphead->instructions(),
++ lex->spcont, trg_fld, val, lex);
++
++ if (sp_fld == NULL)
++ return TRUE;
++
++ /*
++ Let us add this item to list of all Item_trigger_field
++ objects in trigger.
++ */
++ lex->trg_table_fields.link_in_list(trg_fld, &trg_fld->next_trg_field);
++
++ return lex->sphead->add_instr(sp_fld);
++}
++
++
++/**
++ Helper to resolve the SQL:2003 Syntax exception 1) in <in predicate>.
++ See SQL:2003, Part 2, section 8.4 <in predicate>, Note 184, page 383.
++ This function returns the proper item for the SQL expression
++ <code>left [NOT] IN ( expr )</code>
++ @param thd the current thread
++ @param left the in predicand
++ @param equal true for IN predicates, false for NOT IN predicates
++ @param expr first and only expression of the in value list
++ @return an expression representing the IN predicate.
++*/
++Item* handle_sql2003_note184_exception(THD *thd, Item* left, bool equal,
++ Item *expr)
++{
++ /*
++ Relevant references for this issue:
++ - SQL:2003, Part 2, section 8.4 <in predicate>, page 383,
++ - SQL:2003, Part 2, section 7.2 <row value expression>, page 296,
++ - SQL:2003, Part 2, section 6.3 <value expression primary>, page 174,
++ - SQL:2003, Part 2, section 7.15 <subquery>, page 370,
++ - SQL:2003 Feature F561, "Full value expressions".
++
++ The exception in SQL:2003 Note 184 means:
++ Item_singlerow_subselect, which corresponds to a <scalar subquery>,
++ should be re-interpreted as an Item_in_subselect, which corresponds
++ to a <table subquery> when used inside an <in predicate>.
++
++ Our reading of Note 184 is reccursive, so that all:
++ - IN (( <subquery> ))
++ - IN ((( <subquery> )))
++ - IN '('^N <subquery> ')'^N
++ - etc
++ should be interpreted as a <table subquery>, no matter how deep in the
++ expression the <subquery> is.
++ */
++
++ Item *result;
++
++ DBUG_ENTER("handle_sql2003_note184_exception");
++
++ if (expr->type() == Item::SUBSELECT_ITEM)
++ {
++ Item_subselect *expr2 = (Item_subselect*) expr;
++
++ if (expr2->substype() == Item_subselect::SINGLEROW_SUBS)
++ {
++ Item_singlerow_subselect *expr3 = (Item_singlerow_subselect*) expr2;
++ st_select_lex *subselect;
++
++ /*
++ Implement the mandated change, by altering the semantic tree:
++ left IN Item_singlerow_subselect(subselect)
++ is modified to
++ left IN (subselect)
++ which is represented as
++ Item_in_subselect(left, subselect)
++ */
++ subselect= expr3->invalidate_and_restore_select_lex();
++ result= new (thd->mem_root) Item_in_subselect(left, subselect);
++
++ if (! equal)
++ result = negate_expression(thd, result);
++
++ DBUG_RETURN(result);
++ }
++ }
++
++ if (equal)
++ result= new (thd->mem_root) Item_func_eq(left, expr);
++ else
++ result= new (thd->mem_root) Item_func_ne(left, expr);
++
++ DBUG_RETURN(result);
++}
++
++/**
++ @brief Creates a new SELECT_LEX for a UNION branch.
++
++ Sets up and initializes a SELECT_LEX structure for a query once the parser
++ discovers a UNION token. The current SELECT_LEX is pushed on the stack and
++ the new SELECT_LEX becomes the current one.
++
++ @param lex The parser state.
++
++ @param is_union_distinct True if the union preceding the new select statement
++ uses UNION DISTINCT.
++
++ @param is_top_level This should be @c TRUE if the newly created SELECT_LEX
++ is a non-nested statement.
++
++ @return <code>false</code> if successful, <code>true</code> if an error was
++ reported. In the latter case parsing should stop.
++ */
++bool add_select_to_union_list(LEX *lex, bool is_union_distinct,
++ bool is_top_level)
++{
++ /*
++ Only the last SELECT can have INTO. Since the grammar won't allow INTO in
++ a nested SELECT, we make this check only when creating a top-level SELECT.
++ */
++ if (is_top_level && lex->result)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO");
++ return TRUE;
++ }
++ if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ return TRUE;
++ }
++ /* This counter shouldn't be incremented for UNION parts */
++ lex->nest_level--;
++ if (mysql_new_select(lex, 0))
++ return TRUE;
++ mysql_init_select(lex);
++ lex->current_select->linkage=UNION_TYPE;
++ if (is_union_distinct) /* UNION DISTINCT - remember position */
++ lex->current_select->master_unit()->union_distinct=
++ lex->current_select;
++ return FALSE;
++}
++
++/**
++ @brief Initializes a SELECT_LEX for a query within parentheses (aka
++ braces).
++
++ @return false if successful, true if an error was reported. In the latter
++ case parsing should stop.
++ */
++bool setup_select_in_parentheses(LEX *lex)
++{
++ SELECT_LEX * sel= lex->current_select;
++ if (sel->set_braces(1))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ return TRUE;
++ }
++ if (sel->linkage == UNION_TYPE &&
++ !sel->master_unit()->first_select()->braces &&
++ sel->master_unit()->first_select()->linkage ==
++ UNION_TYPE)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ return TRUE;
++ }
++ if (sel->linkage == UNION_TYPE &&
++ sel->olap != UNSPECIFIED_OLAP_TYPE &&
++ sel->master_unit()->fake_select_lex)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY");
++ return TRUE;
++ }
++ /* select in braces, can't contain global parameters */
++ if (sel->master_unit()->fake_select_lex)
++ sel->master_unit()->global_parameters=
++ sel->master_unit()->fake_select_lex;
++ return FALSE;
++}
++
++static bool add_create_index_prepare (LEX *lex, Table_ident *table)
++{
++ lex->sql_command= SQLCOM_CREATE_INDEX;
++ if (!lex->current_select->add_table_to_list(lex->thd, table, NULL,
++ TL_OPTION_UPDATING,
++ TL_READ_NO_INSERT,
++ MDL_SHARED_NO_WRITE))
++ return TRUE;
++ lex->alter_info.reset();
++ lex->alter_info.flags= ALTER_ADD_INDEX;
++ lex->col_list.empty();
++ lex->change= NullS;
++ lex->option_list= NULL;
++ return FALSE;
++}
++
++static bool add_create_index (LEX *lex, Key::Keytype type,
++ const LEX_STRING &name,
++ KEY_CREATE_INFO *info= NULL, bool generated= 0)
++{
++ Key *key;
++ key= new Key(type, name, info ? info : &lex->key_create_info, generated,
++ lex->col_list, lex->option_list);
++ if (key == NULL)
++ return TRUE;
++
++ lex->alter_info.key_list.push_back(key);
++ lex->col_list.empty();
++ return FALSE;
++}
++
++
++#line 780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:339 */
++
++# ifndef YY_NULLPTR
++# if defined __cplusplus && 201103L <= __cplusplus
++# define YY_NULLPTR nullptr
++# else
++# define YY_NULLPTR 0
++# endif
++# endif
++
++/* Enabling verbose error messages. */
++#ifdef YYERROR_VERBOSE
++# undef YYERROR_VERBOSE
++# define YYERROR_VERBOSE 1
++#else
++# define YYERROR_VERBOSE 0
++#endif
++
++/* In a future release of Bison, this section will be replaced
++ by #include "sql_yacc.h". */
++#ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++# define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++/* Debug traces. */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int MYSQLdebug;
++#endif
++
++/* Token type. */
++#ifndef YYTOKENTYPE
++# define YYTOKENTYPE
++ enum yytokentype
++ {
++ ABORT_SYM = 258,
++ ACCESSIBLE_SYM = 259,
++ ACTION = 260,
++ ADD = 261,
++ ADDDATE_SYM = 262,
++ AFTER_SYM = 263,
++ AGAINST = 264,
++ AGGREGATE_SYM = 265,
++ ALGORITHM_SYM = 266,
++ ALL = 267,
++ ALTER = 268,
++ ALWAYS_SYM = 269,
++ ANALYZE_SYM = 270,
++ AND_AND_SYM = 271,
++ AND_SYM = 272,
++ ANY_SYM = 273,
++ AS = 274,
++ ASC = 275,
++ ASCII_SYM = 276,
++ ASENSITIVE_SYM = 277,
++ AT_SYM = 278,
++ AUTHORS_SYM = 279,
++ AUTOEXTEND_SIZE_SYM = 280,
++ AUTO_INC = 281,
++ AVG_ROW_LENGTH = 282,
++ AVG_SYM = 283,
++ BACKUP_SYM = 284,
++ BEFORE_SYM = 285,
++ BEGIN_SYM = 286,
++ BETWEEN_SYM = 287,
++ BIGINT = 288,
++ BINARY = 289,
++ BINLOG_SYM = 290,
++ BIN_NUM = 291,
++ BIT_AND = 292,
++ BIT_OR = 293,
++ BIT_SYM = 294,
++ BIT_XOR = 295,
++ BLOB_SYM = 296,
++ BLOCK_SYM = 297,
++ BOOLEAN_SYM = 298,
++ BOOL_SYM = 299,
++ BOTH = 300,
++ BTREE_SYM = 301,
++ BY = 302,
++ BYTE_SYM = 303,
++ CACHE_SYM = 304,
++ CALL_SYM = 305,
++ CASCADE = 306,
++ CASCADED = 307,
++ CASE_SYM = 308,
++ CAST_SYM = 309,
++ CATALOG_NAME_SYM = 310,
++ CHAIN_SYM = 311,
++ CHANGE = 312,
++ CHANGED = 313,
++ CHARSET = 314,
++ CHAR_SYM = 315,
++ CHECKPOINT_SYM = 316,
++ CHECKSUM_SYM = 317,
++ CHECK_SYM = 318,
++ CIPHER_SYM = 319,
++ CLASS_ORIGIN_SYM = 320,
++ CLIENT_SYM = 321,
++ CLIENT_STATS_SYM = 322,
++ CLOSE_SYM = 323,
++ COALESCE = 324,
++ CODE_SYM = 325,
++ COLLATE_SYM = 326,
++ COLLATION_SYM = 327,
++ COLUMNS = 328,
++ COLUMN_ADD_SYM = 329,
++ COLUMN_CREATE_SYM = 330,
++ COLUMN_DELETE_SYM = 331,
++ COLUMN_EXISTS_SYM = 332,
++ COLUMN_GET_SYM = 333,
++ COLUMN_LIST_SYM = 334,
++ COLUMN_SYM = 335,
++ COLUMN_NAME_SYM = 336,
++ COMMENT_SYM = 337,
++ COMMITTED_SYM = 338,
++ COMMIT_SYM = 339,
++ COMPACT_SYM = 340,
++ COMPLETION_SYM = 341,
++ COMPRESSED_SYM = 342,
++ CONCURRENT = 343,
++ CONDITION_SYM = 344,
++ CONNECTION_SYM = 345,
++ CONSISTENT_SYM = 346,
++ CONSTRAINT = 347,
++ CONSTRAINT_CATALOG_SYM = 348,
++ CONSTRAINT_NAME_SYM = 349,
++ CONSTRAINT_SCHEMA_SYM = 350,
++ CONTAINS_SYM = 351,
++ CONTEXT_SYM = 352,
++ CONTINUE_SYM = 353,
++ CONTRIBUTORS_SYM = 354,
++ CONVERT_SYM = 355,
++ COUNT_SYM = 356,
++ CPU_SYM = 357,
++ CREATE = 358,
++ CROSS = 359,
++ CUBE_SYM = 360,
++ CURDATE = 361,
++ CURRENT_USER = 362,
++ CURSOR_SYM = 363,
++ CURSOR_NAME_SYM = 364,
++ CURTIME = 365,
++ DATABASE = 366,
++ DATABASES = 367,
++ DATAFILE_SYM = 368,
++ DATA_SYM = 369,
++ DATETIME = 370,
++ DATE_ADD_INTERVAL = 371,
++ DATE_SUB_INTERVAL = 372,
++ DATE_SYM = 373,
++ DAY_HOUR_SYM = 374,
++ DAY_MICROSECOND_SYM = 375,
++ DAY_MINUTE_SYM = 376,
++ DAY_SECOND_SYM = 377,
++ DAY_SYM = 378,
++ DEALLOCATE_SYM = 379,
++ DECIMAL_NUM = 380,
++ DECIMAL_SYM = 381,
++ DECLARE_SYM = 382,
++ DEFAULT = 383,
++ DEFINER_SYM = 384,
++ DELAYED_SYM = 385,
++ DELAY_KEY_WRITE_SYM = 386,
++ DELETE_SYM = 387,
++ DESC = 388,
++ DESCRIBE = 389,
++ DES_KEY_FILE = 390,
++ DETERMINISTIC_SYM = 391,
++ DIRECTORY_SYM = 392,
++ DISABLE_SYM = 393,
++ DISCARD = 394,
++ DISK_SYM = 395,
++ DISTINCT = 396,
++ DIV_SYM = 397,
++ DOUBLE_SYM = 398,
++ DO_SYM = 399,
++ DROP = 400,
++ DUAL_SYM = 401,
++ DUMPFILE = 402,
++ DUPLICATE_SYM = 403,
++ DYNAMIC_SYM = 404,
++ EACH_SYM = 405,
++ ELSE = 406,
++ ELSEIF_SYM = 407,
++ ENABLE_SYM = 408,
++ ENCLOSED = 409,
++ END = 410,
++ ENDS_SYM = 411,
++ END_OF_INPUT = 412,
++ ENGINES_SYM = 413,
++ ENGINE_SYM = 414,
++ ENUM = 415,
++ EQUAL_SYM = 416,
++ ERROR_SYM = 417,
++ ERRORS = 418,
++ ESCAPED = 419,
++ ESCAPE_SYM = 420,
++ EVENTS_SYM = 421,
++ EVENT_SYM = 422,
++ EVERY_SYM = 423,
++ EXAMINED_SYM = 424,
++ EXECUTE_SYM = 425,
++ EXISTS = 426,
++ EXIT_SYM = 427,
++ EXPANSION_SYM = 428,
++ EXTENDED_SYM = 429,
++ EXTENT_SIZE_SYM = 430,
++ EXTRACT_SYM = 431,
++ FALSE_SYM = 432,
++ FAST_SYM = 433,
++ FAULTS_SYM = 434,
++ FETCH_SYM = 435,
++ FILE_SYM = 436,
++ FIRST_SYM = 437,
++ FIXED_SYM = 438,
++ FLOAT_NUM = 439,
++ FLOAT_SYM = 440,
++ FLUSH_SYM = 441,
++ FORCE_SYM = 442,
++ FOREIGN = 443,
++ FOR_SYM = 444,
++ FOUND_SYM = 445,
++ FROM = 446,
++ FULL = 447,
++ FULLTEXT_SYM = 448,
++ FUNCTION_SYM = 449,
++ GE = 450,
++ GENERAL = 451,
++ GENERATED_SYM = 452,
++ GEOMETRYCOLLECTION = 453,
++ GEOMETRY_SYM = 454,
++ GET_FORMAT = 455,
++ GLOBAL_SYM = 456,
++ GRANT = 457,
++ GRANTS = 458,
++ GROUP_SYM = 459,
++ GROUP_CONCAT_SYM = 460,
++ HANDLER_SYM = 461,
++ HARD_SYM = 462,
++ HASH_SYM = 463,
++ HAVING = 464,
++ HELP_SYM = 465,
++ HEX_NUM = 466,
++ HEX_STRING = 467,
++ HIGH_PRIORITY = 468,
++ HOST_SYM = 469,
++ HOSTS_SYM = 470,
++ HOUR_MICROSECOND_SYM = 471,
++ HOUR_MINUTE_SYM = 472,
++ HOUR_SECOND_SYM = 473,
++ HOUR_SYM = 474,
++ IDENT = 475,
++ IDENTIFIED_SYM = 476,
++ IDENT_QUOTED = 477,
++ IF = 478,
++ IGNORE_SYM = 479,
++ IGNORE_SERVER_IDS_SYM = 480,
++ IMPORT = 481,
++ INDEXES = 482,
++ INDEX_SYM = 483,
++ INDEX_STATS_SYM = 484,
++ INFILE = 485,
++ INITIAL_SIZE_SYM = 486,
++ INNER_SYM = 487,
++ INOUT_SYM = 488,
++ INSENSITIVE_SYM = 489,
++ INSERT = 490,
++ INSERT_METHOD = 491,
++ INSTALL_SYM = 492,
++ INTERVAL_SYM = 493,
++ INTO = 494,
++ INT_SYM = 495,
++ INVOKER_SYM = 496,
++ IN_SYM = 497,
++ IO_SYM = 498,
++ IPC_SYM = 499,
++ IS = 500,
++ ISOLATION = 501,
++ ISSUER_SYM = 502,
++ ITERATE_SYM = 503,
++ JOIN_SYM = 504,
++ KEYS = 505,
++ KEY_BLOCK_SIZE = 506,
++ KEY_SYM = 507,
++ KILL_SYM = 508,
++ LANGUAGE_SYM = 509,
++ LAST_SYM = 510,
++ LAST_VALUE = 511,
++ LE = 512,
++ LEADING = 513,
++ LEAVES = 514,
++ LEAVE_SYM = 515,
++ LEFT = 516,
++ LESS_SYM = 517,
++ LEVEL_SYM = 518,
++ LEX_HOSTNAME = 519,
++ LIKE = 520,
++ LIMIT = 521,
++ LINEAR_SYM = 522,
++ LINES = 523,
++ LINESTRING = 524,
++ LIST_SYM = 525,
++ LOAD = 526,
++ LOCAL_SYM = 527,
++ LOCATOR_SYM = 528,
++ LOCKS_SYM = 529,
++ LOCK_SYM = 530,
++ LOGFILE_SYM = 531,
++ LOGS_SYM = 532,
++ LONGBLOB = 533,
++ LONGTEXT = 534,
++ LONG_NUM = 535,
++ LONG_SYM = 536,
++ LOOP_SYM = 537,
++ LOW_PRIORITY = 538,
++ MASTER_CONNECT_RETRY_SYM = 539,
++ MASTER_HOST_SYM = 540,
++ MASTER_LOG_FILE_SYM = 541,
++ MASTER_LOG_POS_SYM = 542,
++ MASTER_PASSWORD_SYM = 543,
++ MASTER_PORT_SYM = 544,
++ MASTER_SERVER_ID_SYM = 545,
++ MASTER_SSL_CAPATH_SYM = 546,
++ MASTER_SSL_CA_SYM = 547,
++ MASTER_SSL_CERT_SYM = 548,
++ MASTER_SSL_CIPHER_SYM = 549,
++ MASTER_SSL_KEY_SYM = 550,
++ MASTER_SSL_SYM = 551,
++ MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
++ MASTER_SYM = 553,
++ MASTER_USER_SYM = 554,
++ MASTER_HEARTBEAT_PERIOD_SYM = 555,
++ MATCH = 556,
++ MAX_CONNECTIONS_PER_HOUR = 557,
++ MAX_QUERIES_PER_HOUR = 558,
++ MAX_ROWS = 559,
++ MAX_SIZE_SYM = 560,
++ MAX_SYM = 561,
++ MAX_UPDATES_PER_HOUR = 562,
++ MAX_USER_CONNECTIONS_SYM = 563,
++ MAX_VALUE_SYM = 564,
++ MEDIUMBLOB = 565,
++ MEDIUMINT = 566,
++ MEDIUMTEXT = 567,
++ MEDIUM_SYM = 568,
++ MEMORY_SYM = 569,
++ MERGE_SYM = 570,
++ MESSAGE_TEXT_SYM = 571,
++ MICROSECOND_SYM = 572,
++ MIGRATE_SYM = 573,
++ MINUTE_MICROSECOND_SYM = 574,
++ MINUTE_SECOND_SYM = 575,
++ MINUTE_SYM = 576,
++ MIN_ROWS = 577,
++ MIN_SYM = 578,
++ MODE_SYM = 579,
++ MODIFIES_SYM = 580,
++ MODIFY_SYM = 581,
++ MOD_SYM = 582,
++ MONTH_SYM = 583,
++ MULTILINESTRING = 584,
++ MULTIPOINT = 585,
++ MULTIPOLYGON = 586,
++ MUTEX_SYM = 587,
++ MYSQL_SYM = 588,
++ MYSQL_ERRNO_SYM = 589,
++ NAMES_SYM = 590,
++ NAME_SYM = 591,
++ NATIONAL_SYM = 592,
++ NATURAL = 593,
++ NCHAR_STRING = 594,
++ NCHAR_SYM = 595,
++ NDBCLUSTER_SYM = 596,
++ NE = 597,
++ NEG = 598,
++ NEW_SYM = 599,
++ NEXT_SYM = 600,
++ NODEGROUP_SYM = 601,
++ NONE_SYM = 602,
++ NOT2_SYM = 603,
++ NOT_SYM = 604,
++ NOW_SYM = 605,
++ NO_SYM = 606,
++ NO_WAIT_SYM = 607,
++ NO_WRITE_TO_BINLOG = 608,
++ NULL_SYM = 609,
++ NUM = 610,
++ NUMERIC_SYM = 611,
++ NVARCHAR_SYM = 612,
++ OFFSET_SYM = 613,
++ OLD_PASSWORD = 614,
++ ON = 615,
++ ONE_SHOT_SYM = 616,
++ ONE_SYM = 617,
++ ONLINE_SYM = 618,
++ OPEN_SYM = 619,
++ OPTIMIZE = 620,
++ OPTIONS_SYM = 621,
++ OPTION = 622,
++ OPTIONALLY = 623,
++ OR2_SYM = 624,
++ ORDER_SYM = 625,
++ OR_OR_SYM = 626,
++ OR_SYM = 627,
++ OUTER = 628,
++ OUTFILE = 629,
++ OUT_SYM = 630,
++ OWNER_SYM = 631,
++ PACK_KEYS_SYM = 632,
++ PAGE_SYM = 633,
++ PAGE_CHECKSUM_SYM = 634,
++ PARAM_MARKER = 635,
++ PARSER_SYM = 636,
++ PARSE_VCOL_EXPR_SYM = 637,
++ PARTIAL = 638,
++ PARTITIONING_SYM = 639,
++ PARTITIONS_SYM = 640,
++ PARTITION_SYM = 641,
++ PASSWORD = 642,
++ PERSISTENT_SYM = 643,
++ PHASE_SYM = 644,
++ PLUGINS_SYM = 645,
++ PLUGIN_SYM = 646,
++ POINT_SYM = 647,
++ POLYGON = 648,
++ PORT_SYM = 649,
++ POSITION_SYM = 650,
++ PRECISION = 651,
++ PREPARE_SYM = 652,
++ PRESERVE_SYM = 653,
++ PREV_SYM = 654,
++ PRIMARY_SYM = 655,
++ PRIVILEGES = 656,
++ PROCEDURE_SYM = 657,
++ PROCESS = 658,
++ PROCESSLIST_SYM = 659,
++ PROFILE_SYM = 660,
++ PROFILES_SYM = 661,
++ PROXY_SYM = 662,
++ PURGE = 663,
++ QUARTER_SYM = 664,
++ QUERY_SYM = 665,
++ QUICK = 666,
++ RANGE_SYM = 667,
++ READS_SYM = 668,
++ READ_ONLY_SYM = 669,
++ READ_SYM = 670,
++ READ_WRITE_SYM = 671,
++ REAL = 672,
++ REBUILD_SYM = 673,
++ RECOVER_SYM = 674,
++ REDOFILE_SYM = 675,
++ REDO_BUFFER_SIZE_SYM = 676,
++ REDUNDANT_SYM = 677,
++ REFERENCES = 678,
++ REGEXP = 679,
++ RELAY = 680,
++ RELAYLOG_SYM = 681,
++ RELAY_LOG_FILE_SYM = 682,
++ RELAY_LOG_POS_SYM = 683,
++ RELAY_THREAD = 684,
++ RELEASE_SYM = 685,
++ RELOAD = 686,
++ REMOVE_SYM = 687,
++ RENAME = 688,
++ REORGANIZE_SYM = 689,
++ REPAIR = 690,
++ REPEATABLE_SYM = 691,
++ REPEAT_SYM = 692,
++ REPLACE = 693,
++ REPLICATION = 694,
++ REQUIRE_SYM = 695,
++ RESET_SYM = 696,
++ RESIGNAL_SYM = 697,
++ RESOURCES = 698,
++ RESTORE_SYM = 699,
++ RESTRICT = 700,
++ RESUME_SYM = 701,
++ RETURNS_SYM = 702,
++ RETURN_SYM = 703,
++ REVOKE = 704,
++ RIGHT = 705,
++ ROLLBACK_SYM = 706,
++ ROLLUP_SYM = 707,
++ ROUTINE_SYM = 708,
++ ROWS_SYM = 709,
++ ROW_FORMAT_SYM = 710,
++ ROW_SYM = 711,
++ RTREE_SYM = 712,
++ SAVEPOINT_SYM = 713,
++ SCHEDULE_SYM = 714,
++ SCHEMA_NAME_SYM = 715,
++ SECOND_MICROSECOND_SYM = 716,
++ SECOND_SYM = 717,
++ SECURITY_SYM = 718,
++ SELECT_SYM = 719,
++ SENSITIVE_SYM = 720,
++ SEPARATOR_SYM = 721,
++ SERIALIZABLE_SYM = 722,
++ SERIAL_SYM = 723,
++ SESSION_SYM = 724,
++ SERVER_SYM = 725,
++ SERVER_OPTIONS = 726,
++ SET = 727,
++ SET_VAR = 728,
++ SHARE_SYM = 729,
++ SHIFT_LEFT = 730,
++ SHIFT_RIGHT = 731,
++ SHOW = 732,
++ SHUTDOWN = 733,
++ SIGNAL_SYM = 734,
++ SIGNED_SYM = 735,
++ SIMPLE_SYM = 736,
++ SLAVE = 737,
++ SLOW = 738,
++ SMALLINT = 739,
++ SNAPSHOT_SYM = 740,
++ SOCKET_SYM = 741,
++ SOFT_SYM = 742,
++ SONAME_SYM = 743,
++ SOUNDS_SYM = 744,
++ SOURCE_SYM = 745,
++ SPATIAL_SYM = 746,
++ SPECIFIC_SYM = 747,
++ SQLEXCEPTION_SYM = 748,
++ SQLSTATE_SYM = 749,
++ SQLWARNING_SYM = 750,
++ SQL_BIG_RESULT = 751,
++ SQL_BUFFER_RESULT = 752,
++ SQL_CACHE_SYM = 753,
++ SQL_CALC_FOUND_ROWS = 754,
++ SQL_NO_CACHE_SYM = 755,
++ SQL_SMALL_RESULT = 756,
++ SQL_SYM = 757,
++ SQL_THREAD = 758,
++ SSL_SYM = 759,
++ STARTING = 760,
++ STARTS_SYM = 761,
++ START_SYM = 762,
++ STATUS_SYM = 763,
++ STDDEV_SAMP_SYM = 764,
++ STD_SYM = 765,
++ STOP_SYM = 766,
++ STORAGE_SYM = 767,
++ STRAIGHT_JOIN = 768,
++ STRING_SYM = 769,
++ SUBCLASS_ORIGIN_SYM = 770,
++ SUBDATE_SYM = 771,
++ SUBJECT_SYM = 772,
++ SUBPARTITIONS_SYM = 773,
++ SUBPARTITION_SYM = 774,
++ SUBSTRING = 775,
++ SUM_SYM = 776,
++ SUPER_SYM = 777,
++ SUSPEND_SYM = 778,
++ SWAPS_SYM = 779,
++ SWITCHES_SYM = 780,
++ SYSDATE = 781,
++ TABLES = 782,
++ TABLESPACE = 783,
++ TABLE_REF_PRIORITY = 784,
++ TABLE_STATS_SYM = 785,
++ TABLE_SYM = 786,
++ TABLE_CHECKSUM_SYM = 787,
++ TABLE_NAME_SYM = 788,
++ TEMPORARY = 789,
++ TEMPTABLE_SYM = 790,
++ TERMINATED = 791,
++ TEXT_STRING = 792,
++ TEXT_SYM = 793,
++ THAN_SYM = 794,
++ THEN_SYM = 795,
++ TIMESTAMP = 796,
++ TIMESTAMP_ADD = 797,
++ TIMESTAMP_DIFF = 798,
++ TIME_SYM = 799,
++ TINYBLOB = 800,
++ TINYINT = 801,
++ TINYTEXT = 802,
++ TO_SYM = 803,
++ TRAILING = 804,
++ TRANSACTION_SYM = 805,
++ TRANSACTIONAL_SYM = 806,
++ TRIGGERS_SYM = 807,
++ TRIGGER_SYM = 808,
++ TRIM = 809,
++ TRUE_SYM = 810,
++ TRUNCATE_SYM = 811,
++ TYPES_SYM = 812,
++ TYPE_SYM = 813,
++ UDF_RETURNS_SYM = 814,
++ ULONGLONG_NUM = 815,
++ UNCOMMITTED_SYM = 816,
++ UNDEFINED_SYM = 817,
++ UNDERSCORE_CHARSET = 818,
++ UNDOFILE_SYM = 819,
++ UNDO_BUFFER_SIZE_SYM = 820,
++ UNDO_SYM = 821,
++ UNICODE_SYM = 822,
++ UNINSTALL_SYM = 823,
++ UNION_SYM = 824,
++ UNIQUE_SYM = 825,
++ UNKNOWN_SYM = 826,
++ UNLOCK_SYM = 827,
++ UNSIGNED = 828,
++ UNTIL_SYM = 829,
++ UPDATE_SYM = 830,
++ UPGRADE_SYM = 831,
++ USAGE = 832,
++ USER = 833,
++ USER_STATS_SYM = 834,
++ USE_FRM = 835,
++ USE_SYM = 836,
++ USING = 837,
++ UTC_DATE_SYM = 838,
++ UTC_TIMESTAMP_SYM = 839,
++ UTC_TIME_SYM = 840,
++ VALUES = 841,
++ VALUE_SYM = 842,
++ VARBINARY = 843,
++ VARCHAR = 844,
++ VARIABLES = 845,
++ VARIANCE_SYM = 846,
++ VARYING = 847,
++ VAR_SAMP_SYM = 848,
++ VIA_SYM = 849,
++ VIEW_SYM = 850,
++ VIRTUAL_SYM = 851,
++ WAIT_SYM = 852,
++ WARNINGS = 853,
++ WEEK_SYM = 854,
++ WHEN_SYM = 855,
++ WHERE = 856,
++ WHILE_SYM = 857,
++ WITH = 858,
++ WITH_CUBE_SYM = 859,
++ WITH_ROLLUP_SYM = 860,
++ WORK_SYM = 861,
++ WRAPPER_SYM = 862,
++ WRITE_SYM = 863,
++ X509_SYM = 864,
++ XA_SYM = 865,
++ XML_SYM = 866,
++ XOR = 867,
++ YEAR_MONTH_SYM = 868,
++ YEAR_SYM = 869,
++ ZEROFILL = 870,
++ IMPOSSIBLE_ACTION = 871
++ };
++#endif
++/* Tokens. */
++#define ABORT_SYM 258
++#define ACCESSIBLE_SYM 259
++#define ACTION 260
++#define ADD 261
++#define ADDDATE_SYM 262
++#define AFTER_SYM 263
++#define AGAINST 264
++#define AGGREGATE_SYM 265
++#define ALGORITHM_SYM 266
++#define ALL 267
++#define ALTER 268
++#define ALWAYS_SYM 269
++#define ANALYZE_SYM 270
++#define AND_AND_SYM 271
++#define AND_SYM 272
++#define ANY_SYM 273
++#define AS 274
++#define ASC 275
++#define ASCII_SYM 276
++#define ASENSITIVE_SYM 277
++#define AT_SYM 278
++#define AUTHORS_SYM 279
++#define AUTOEXTEND_SIZE_SYM 280
++#define AUTO_INC 281
++#define AVG_ROW_LENGTH 282
++#define AVG_SYM 283
++#define BACKUP_SYM 284
++#define BEFORE_SYM 285
++#define BEGIN_SYM 286
++#define BETWEEN_SYM 287
++#define BIGINT 288
++#define BINARY 289
++#define BINLOG_SYM 290
++#define BIN_NUM 291
++#define BIT_AND 292
++#define BIT_OR 293
++#define BIT_SYM 294
++#define BIT_XOR 295
++#define BLOB_SYM 296
++#define BLOCK_SYM 297
++#define BOOLEAN_SYM 298
++#define BOOL_SYM 299
++#define BOTH 300
++#define BTREE_SYM 301
++#define BY 302
++#define BYTE_SYM 303
++#define CACHE_SYM 304
++#define CALL_SYM 305
++#define CASCADE 306
++#define CASCADED 307
++#define CASE_SYM 308
++#define CAST_SYM 309
++#define CATALOG_NAME_SYM 310
++#define CHAIN_SYM 311
++#define CHANGE 312
++#define CHANGED 313
++#define CHARSET 314
++#define CHAR_SYM 315
++#define CHECKPOINT_SYM 316
++#define CHECKSUM_SYM 317
++#define CHECK_SYM 318
++#define CIPHER_SYM 319
++#define CLASS_ORIGIN_SYM 320
++#define CLIENT_SYM 321
++#define CLIENT_STATS_SYM 322
++#define CLOSE_SYM 323
++#define COALESCE 324
++#define CODE_SYM 325
++#define COLLATE_SYM 326
++#define COLLATION_SYM 327
++#define COLUMNS 328
++#define COLUMN_ADD_SYM 329
++#define COLUMN_CREATE_SYM 330
++#define COLUMN_DELETE_SYM 331
++#define COLUMN_EXISTS_SYM 332
++#define COLUMN_GET_SYM 333
++#define COLUMN_LIST_SYM 334
++#define COLUMN_SYM 335
++#define COLUMN_NAME_SYM 336
++#define COMMENT_SYM 337
++#define COMMITTED_SYM 338
++#define COMMIT_SYM 339
++#define COMPACT_SYM 340
++#define COMPLETION_SYM 341
++#define COMPRESSED_SYM 342
++#define CONCURRENT 343
++#define CONDITION_SYM 344
++#define CONNECTION_SYM 345
++#define CONSISTENT_SYM 346
++#define CONSTRAINT 347
++#define CONSTRAINT_CATALOG_SYM 348
++#define CONSTRAINT_NAME_SYM 349
++#define CONSTRAINT_SCHEMA_SYM 350
++#define CONTAINS_SYM 351
++#define CONTEXT_SYM 352
++#define CONTINUE_SYM 353
++#define CONTRIBUTORS_SYM 354
++#define CONVERT_SYM 355
++#define COUNT_SYM 356
++#define CPU_SYM 357
++#define CREATE 358
++#define CROSS 359
++#define CUBE_SYM 360
++#define CURDATE 361
++#define CURRENT_USER 362
++#define CURSOR_SYM 363
++#define CURSOR_NAME_SYM 364
++#define CURTIME 365
++#define DATABASE 366
++#define DATABASES 367
++#define DATAFILE_SYM 368
++#define DATA_SYM 369
++#define DATETIME 370
++#define DATE_ADD_INTERVAL 371
++#define DATE_SUB_INTERVAL 372
++#define DATE_SYM 373
++#define DAY_HOUR_SYM 374
++#define DAY_MICROSECOND_SYM 375
++#define DAY_MINUTE_SYM 376
++#define DAY_SECOND_SYM 377
++#define DAY_SYM 378
++#define DEALLOCATE_SYM 379
++#define DECIMAL_NUM 380
++#define DECIMAL_SYM 381
++#define DECLARE_SYM 382
++#define DEFAULT 383
++#define DEFINER_SYM 384
++#define DELAYED_SYM 385
++#define DELAY_KEY_WRITE_SYM 386
++#define DELETE_SYM 387
++#define DESC 388
++#define DESCRIBE 389
++#define DES_KEY_FILE 390
++#define DETERMINISTIC_SYM 391
++#define DIRECTORY_SYM 392
++#define DISABLE_SYM 393
++#define DISCARD 394
++#define DISK_SYM 395
++#define DISTINCT 396
++#define DIV_SYM 397
++#define DOUBLE_SYM 398
++#define DO_SYM 399
++#define DROP 400
++#define DUAL_SYM 401
++#define DUMPFILE 402
++#define DUPLICATE_SYM 403
++#define DYNAMIC_SYM 404
++#define EACH_SYM 405
++#define ELSE 406
++#define ELSEIF_SYM 407
++#define ENABLE_SYM 408
++#define ENCLOSED 409
++#define END 410
++#define ENDS_SYM 411
++#define END_OF_INPUT 412
++#define ENGINES_SYM 413
++#define ENGINE_SYM 414
++#define ENUM 415
++#define EQUAL_SYM 416
++#define ERROR_SYM 417
++#define ERRORS 418
++#define ESCAPED 419
++#define ESCAPE_SYM 420
++#define EVENTS_SYM 421
++#define EVENT_SYM 422
++#define EVERY_SYM 423
++#define EXAMINED_SYM 424
++#define EXECUTE_SYM 425
++#define EXISTS 426
++#define EXIT_SYM 427
++#define EXPANSION_SYM 428
++#define EXTENDED_SYM 429
++#define EXTENT_SIZE_SYM 430
++#define EXTRACT_SYM 431
++#define FALSE_SYM 432
++#define FAST_SYM 433
++#define FAULTS_SYM 434
++#define FETCH_SYM 435
++#define FILE_SYM 436
++#define FIRST_SYM 437
++#define FIXED_SYM 438
++#define FLOAT_NUM 439
++#define FLOAT_SYM 440
++#define FLUSH_SYM 441
++#define FORCE_SYM 442
++#define FOREIGN 443
++#define FOR_SYM 444
++#define FOUND_SYM 445
++#define FROM 446
++#define FULL 447
++#define FULLTEXT_SYM 448
++#define FUNCTION_SYM 449
++#define GE 450
++#define GENERAL 451
++#define GENERATED_SYM 452
++#define GEOMETRYCOLLECTION 453
++#define GEOMETRY_SYM 454
++#define GET_FORMAT 455
++#define GLOBAL_SYM 456
++#define GRANT 457
++#define GRANTS 458
++#define GROUP_SYM 459
++#define GROUP_CONCAT_SYM 460
++#define HANDLER_SYM 461
++#define HARD_SYM 462
++#define HASH_SYM 463
++#define HAVING 464
++#define HELP_SYM 465
++#define HEX_NUM 466
++#define HEX_STRING 467
++#define HIGH_PRIORITY 468
++#define HOST_SYM 469
++#define HOSTS_SYM 470
++#define HOUR_MICROSECOND_SYM 471
++#define HOUR_MINUTE_SYM 472
++#define HOUR_SECOND_SYM 473
++#define HOUR_SYM 474
++#define IDENT 475
++#define IDENTIFIED_SYM 476
++#define IDENT_QUOTED 477
++#define IF 478
++#define IGNORE_SYM 479
++#define IGNORE_SERVER_IDS_SYM 480
++#define IMPORT 481
++#define INDEXES 482
++#define INDEX_SYM 483
++#define INDEX_STATS_SYM 484
++#define INFILE 485
++#define INITIAL_SIZE_SYM 486
++#define INNER_SYM 487
++#define INOUT_SYM 488
++#define INSENSITIVE_SYM 489
++#define INSERT 490
++#define INSERT_METHOD 491
++#define INSTALL_SYM 492
++#define INTERVAL_SYM 493
++#define INTO 494
++#define INT_SYM 495
++#define INVOKER_SYM 496
++#define IN_SYM 497
++#define IO_SYM 498
++#define IPC_SYM 499
++#define IS 500
++#define ISOLATION 501
++#define ISSUER_SYM 502
++#define ITERATE_SYM 503
++#define JOIN_SYM 504
++#define KEYS 505
++#define KEY_BLOCK_SIZE 506
++#define KEY_SYM 507
++#define KILL_SYM 508
++#define LANGUAGE_SYM 509
++#define LAST_SYM 510
++#define LAST_VALUE 511
++#define LE 512
++#define LEADING 513
++#define LEAVES 514
++#define LEAVE_SYM 515
++#define LEFT 516
++#define LESS_SYM 517
++#define LEVEL_SYM 518
++#define LEX_HOSTNAME 519
++#define LIKE 520
++#define LIMIT 521
++#define LINEAR_SYM 522
++#define LINES 523
++#define LINESTRING 524
++#define LIST_SYM 525
++#define LOAD 526
++#define LOCAL_SYM 527
++#define LOCATOR_SYM 528
++#define LOCKS_SYM 529
++#define LOCK_SYM 530
++#define LOGFILE_SYM 531
++#define LOGS_SYM 532
++#define LONGBLOB 533
++#define LONGTEXT 534
++#define LONG_NUM 535
++#define LONG_SYM 536
++#define LOOP_SYM 537
++#define LOW_PRIORITY 538
++#define MASTER_CONNECT_RETRY_SYM 539
++#define MASTER_HOST_SYM 540
++#define MASTER_LOG_FILE_SYM 541
++#define MASTER_LOG_POS_SYM 542
++#define MASTER_PASSWORD_SYM 543
++#define MASTER_PORT_SYM 544
++#define MASTER_SERVER_ID_SYM 545
++#define MASTER_SSL_CAPATH_SYM 546
++#define MASTER_SSL_CA_SYM 547
++#define MASTER_SSL_CERT_SYM 548
++#define MASTER_SSL_CIPHER_SYM 549
++#define MASTER_SSL_KEY_SYM 550
++#define MASTER_SSL_SYM 551
++#define MASTER_SSL_VERIFY_SERVER_CERT_SYM 552
++#define MASTER_SYM 553
++#define MASTER_USER_SYM 554
++#define MASTER_HEARTBEAT_PERIOD_SYM 555
++#define MATCH 556
++#define MAX_CONNECTIONS_PER_HOUR 557
++#define MAX_QUERIES_PER_HOUR 558
++#define MAX_ROWS 559
++#define MAX_SIZE_SYM 560
++#define MAX_SYM 561
++#define MAX_UPDATES_PER_HOUR 562
++#define MAX_USER_CONNECTIONS_SYM 563
++#define MAX_VALUE_SYM 564
++#define MEDIUMBLOB 565
++#define MEDIUMINT 566
++#define MEDIUMTEXT 567
++#define MEDIUM_SYM 568
++#define MEMORY_SYM 569
++#define MERGE_SYM 570
++#define MESSAGE_TEXT_SYM 571
++#define MICROSECOND_SYM 572
++#define MIGRATE_SYM 573
++#define MINUTE_MICROSECOND_SYM 574
++#define MINUTE_SECOND_SYM 575
++#define MINUTE_SYM 576
++#define MIN_ROWS 577
++#define MIN_SYM 578
++#define MODE_SYM 579
++#define MODIFIES_SYM 580
++#define MODIFY_SYM 581
++#define MOD_SYM 582
++#define MONTH_SYM 583
++#define MULTILINESTRING 584
++#define MULTIPOINT 585
++#define MULTIPOLYGON 586
++#define MUTEX_SYM 587
++#define MYSQL_SYM 588
++#define MYSQL_ERRNO_SYM 589
++#define NAMES_SYM 590
++#define NAME_SYM 591
++#define NATIONAL_SYM 592
++#define NATURAL 593
++#define NCHAR_STRING 594
++#define NCHAR_SYM 595
++#define NDBCLUSTER_SYM 596
++#define NE 597
++#define NEG 598
++#define NEW_SYM 599
++#define NEXT_SYM 600
++#define NODEGROUP_SYM 601
++#define NONE_SYM 602
++#define NOT2_SYM 603
++#define NOT_SYM 604
++#define NOW_SYM 605
++#define NO_SYM 606
++#define NO_WAIT_SYM 607
++#define NO_WRITE_TO_BINLOG 608
++#define NULL_SYM 609
++#define NUM 610
++#define NUMERIC_SYM 611
++#define NVARCHAR_SYM 612
++#define OFFSET_SYM 613
++#define OLD_PASSWORD 614
++#define ON 615
++#define ONE_SHOT_SYM 616
++#define ONE_SYM 617
++#define ONLINE_SYM 618
++#define OPEN_SYM 619
++#define OPTIMIZE 620
++#define OPTIONS_SYM 621
++#define OPTION 622
++#define OPTIONALLY 623
++#define OR2_SYM 624
++#define ORDER_SYM 625
++#define OR_OR_SYM 626
++#define OR_SYM 627
++#define OUTER 628
++#define OUTFILE 629
++#define OUT_SYM 630
++#define OWNER_SYM 631
++#define PACK_KEYS_SYM 632
++#define PAGE_SYM 633
++#define PAGE_CHECKSUM_SYM 634
++#define PARAM_MARKER 635
++#define PARSER_SYM 636
++#define PARSE_VCOL_EXPR_SYM 637
++#define PARTIAL 638
++#define PARTITIONING_SYM 639
++#define PARTITIONS_SYM 640
++#define PARTITION_SYM 641
++#define PASSWORD 642
++#define PERSISTENT_SYM 643
++#define PHASE_SYM 644
++#define PLUGINS_SYM 645
++#define PLUGIN_SYM 646
++#define POINT_SYM 647
++#define POLYGON 648
++#define PORT_SYM 649
++#define POSITION_SYM 650
++#define PRECISION 651
++#define PREPARE_SYM 652
++#define PRESERVE_SYM 653
++#define PREV_SYM 654
++#define PRIMARY_SYM 655
++#define PRIVILEGES 656
++#define PROCEDURE_SYM 657
++#define PROCESS 658
++#define PROCESSLIST_SYM 659
++#define PROFILE_SYM 660
++#define PROFILES_SYM 661
++#define PROXY_SYM 662
++#define PURGE 663
++#define QUARTER_SYM 664
++#define QUERY_SYM 665
++#define QUICK 666
++#define RANGE_SYM 667
++#define READS_SYM 668
++#define READ_ONLY_SYM 669
++#define READ_SYM 670
++#define READ_WRITE_SYM 671
++#define REAL 672
++#define REBUILD_SYM 673
++#define RECOVER_SYM 674
++#define REDOFILE_SYM 675
++#define REDO_BUFFER_SIZE_SYM 676
++#define REDUNDANT_SYM 677
++#define REFERENCES 678
++#define REGEXP 679
++#define RELAY 680
++#define RELAYLOG_SYM 681
++#define RELAY_LOG_FILE_SYM 682
++#define RELAY_LOG_POS_SYM 683
++#define RELAY_THREAD 684
++#define RELEASE_SYM 685
++#define RELOAD 686
++#define REMOVE_SYM 687
++#define RENAME 688
++#define REORGANIZE_SYM 689
++#define REPAIR 690
++#define REPEATABLE_SYM 691
++#define REPEAT_SYM 692
++#define REPLACE 693
++#define REPLICATION 694
++#define REQUIRE_SYM 695
++#define RESET_SYM 696
++#define RESIGNAL_SYM 697
++#define RESOURCES 698
++#define RESTORE_SYM 699
++#define RESTRICT 700
++#define RESUME_SYM 701
++#define RETURNS_SYM 702
++#define RETURN_SYM 703
++#define REVOKE 704
++#define RIGHT 705
++#define ROLLBACK_SYM 706
++#define ROLLUP_SYM 707
++#define ROUTINE_SYM 708
++#define ROWS_SYM 709
++#define ROW_FORMAT_SYM 710
++#define ROW_SYM 711
++#define RTREE_SYM 712
++#define SAVEPOINT_SYM 713
++#define SCHEDULE_SYM 714
++#define SCHEMA_NAME_SYM 715
++#define SECOND_MICROSECOND_SYM 716
++#define SECOND_SYM 717
++#define SECURITY_SYM 718
++#define SELECT_SYM 719
++#define SENSITIVE_SYM 720
++#define SEPARATOR_SYM 721
++#define SERIALIZABLE_SYM 722
++#define SERIAL_SYM 723
++#define SESSION_SYM 724
++#define SERVER_SYM 725
++#define SERVER_OPTIONS 726
++#define SET 727
++#define SET_VAR 728
++#define SHARE_SYM 729
++#define SHIFT_LEFT 730
++#define SHIFT_RIGHT 731
++#define SHOW 732
++#define SHUTDOWN 733
++#define SIGNAL_SYM 734
++#define SIGNED_SYM 735
++#define SIMPLE_SYM 736
++#define SLAVE 737
++#define SLOW 738
++#define SMALLINT 739
++#define SNAPSHOT_SYM 740
++#define SOCKET_SYM 741
++#define SOFT_SYM 742
++#define SONAME_SYM 743
++#define SOUNDS_SYM 744
++#define SOURCE_SYM 745
++#define SPATIAL_SYM 746
++#define SPECIFIC_SYM 747
++#define SQLEXCEPTION_SYM 748
++#define SQLSTATE_SYM 749
++#define SQLWARNING_SYM 750
++#define SQL_BIG_RESULT 751
++#define SQL_BUFFER_RESULT 752
++#define SQL_CACHE_SYM 753
++#define SQL_CALC_FOUND_ROWS 754
++#define SQL_NO_CACHE_SYM 755
++#define SQL_SMALL_RESULT 756
++#define SQL_SYM 757
++#define SQL_THREAD 758
++#define SSL_SYM 759
++#define STARTING 760
++#define STARTS_SYM 761
++#define START_SYM 762
++#define STATUS_SYM 763
++#define STDDEV_SAMP_SYM 764
++#define STD_SYM 765
++#define STOP_SYM 766
++#define STORAGE_SYM 767
++#define STRAIGHT_JOIN 768
++#define STRING_SYM 769
++#define SUBCLASS_ORIGIN_SYM 770
++#define SUBDATE_SYM 771
++#define SUBJECT_SYM 772
++#define SUBPARTITIONS_SYM 773
++#define SUBPARTITION_SYM 774
++#define SUBSTRING 775
++#define SUM_SYM 776
++#define SUPER_SYM 777
++#define SUSPEND_SYM 778
++#define SWAPS_SYM 779
++#define SWITCHES_SYM 780
++#define SYSDATE 781
++#define TABLES 782
++#define TABLESPACE 783
++#define TABLE_REF_PRIORITY 784
++#define TABLE_STATS_SYM 785
++#define TABLE_SYM 786
++#define TABLE_CHECKSUM_SYM 787
++#define TABLE_NAME_SYM 788
++#define TEMPORARY 789
++#define TEMPTABLE_SYM 790
++#define TERMINATED 791
++#define TEXT_STRING 792
++#define TEXT_SYM 793
++#define THAN_SYM 794
++#define THEN_SYM 795
++#define TIMESTAMP 796
++#define TIMESTAMP_ADD 797
++#define TIMESTAMP_DIFF 798
++#define TIME_SYM 799
++#define TINYBLOB 800
++#define TINYINT 801
++#define TINYTEXT 802
++#define TO_SYM 803
++#define TRAILING 804
++#define TRANSACTION_SYM 805
++#define TRANSACTIONAL_SYM 806
++#define TRIGGERS_SYM 807
++#define TRIGGER_SYM 808
++#define TRIM 809
++#define TRUE_SYM 810
++#define TRUNCATE_SYM 811
++#define TYPES_SYM 812
++#define TYPE_SYM 813
++#define UDF_RETURNS_SYM 814
++#define ULONGLONG_NUM 815
++#define UNCOMMITTED_SYM 816
++#define UNDEFINED_SYM 817
++#define UNDERSCORE_CHARSET 818
++#define UNDOFILE_SYM 819
++#define UNDO_BUFFER_SIZE_SYM 820
++#define UNDO_SYM 821
++#define UNICODE_SYM 822
++#define UNINSTALL_SYM 823
++#define UNION_SYM 824
++#define UNIQUE_SYM 825
++#define UNKNOWN_SYM 826
++#define UNLOCK_SYM 827
++#define UNSIGNED 828
++#define UNTIL_SYM 829
++#define UPDATE_SYM 830
++#define UPGRADE_SYM 831
++#define USAGE 832
++#define USER 833
++#define USER_STATS_SYM 834
++#define USE_FRM 835
++#define USE_SYM 836
++#define USING 837
++#define UTC_DATE_SYM 838
++#define UTC_TIMESTAMP_SYM 839
++#define UTC_TIME_SYM 840
++#define VALUES 841
++#define VALUE_SYM 842
++#define VARBINARY 843
++#define VARCHAR 844
++#define VARIABLES 845
++#define VARIANCE_SYM 846
++#define VARYING 847
++#define VAR_SAMP_SYM 848
++#define VIA_SYM 849
++#define VIEW_SYM 850
++#define VIRTUAL_SYM 851
++#define WAIT_SYM 852
++#define WARNINGS 853
++#define WEEK_SYM 854
++#define WHEN_SYM 855
++#define WHERE 856
++#define WHILE_SYM 857
++#define WITH 858
++#define WITH_CUBE_SYM 859
++#define WITH_ROLLUP_SYM 860
++#define WORK_SYM 861
++#define WRAPPER_SYM 862
++#define WRITE_SYM 863
++#define X509_SYM 864
++#define XA_SYM 865
++#define XML_SYM 866
++#define XOR 867
++#define YEAR_MONTH_SYM 868
++#define YEAR_SYM 869
++#define ZEROFILL 870
++#define IMPOSSIBLE_ACTION 871
++
++/* Value type. */
++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
++typedef union YYSTYPE YYSTYPE;
++union YYSTYPE
++{
++#line 732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:355 */
++
++ int num;
++ ulong ulong_num;
++ ulonglong ulonglong_number;
++ longlong longlong_number;
++ LEX_STRING lex_str;
++ LEX_STRING *lex_str_ptr;
++ LEX_SYMBOL symbol;
++ LEX_TYPE lex_type;
++ Table_ident *table;
++ char *simple_string;
++ Item *item;
++ Item_num *item_num;
++ List<Item> *item_list;
++ List<String> *string_list;
++ String *string;
++ Key_part_spec *key_part;
++ TABLE_LIST *table_list;
++ udf_func *udf;
++ LEX_USER *lex_user;
++ struct sys_var_with_base variable;
++ enum enum_var_type var_type;
++ Key::Keytype key_type;
++ enum ha_key_alg key_alg;
++ handlerton *db_type;
++ enum row_type row_type;
++ enum ha_rkey_function ha_rkey_mode;
++ enum enum_tx_isolation tx_isolation;
++ enum Cast_target cast_type;
++ enum Item_udftype udf_type;
++ enum ha_choice choice;
++ CHARSET_INFO *charset;
++ thr_lock_type lock_type;
++ interval_type interval, interval_time_st;
++ timestamp_type date_time_type;
++ st_select_lex *select_lex;
++ chooser_compare_func_creator boolfunc2creator;
++ struct sp_cond_type *spcondtype;
++ struct { int vars, conds, hndlrs, curs; } spblock;
++ sp_name *spname;
++ LEX *lex;
++ sp_head *sphead;
++ struct p_elem_val *p_elem_value;
++ enum index_hint_type index_hint;
++ enum enum_filetype filetype;
++ enum Foreign_key::fk_option m_fk_option;
++ enum enum_yes_no_unknown m_yes_no_unk;
++ Diag_condition_item_name diag_condition_item_name;
++ DYNCALL_CREATE_DEF *dyncol_def;
++ List<DYNCALL_CREATE_DEF> *dyncol_def_list;
++ bool is_not_empty;
++
++#line 2105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:355 */
++};
++# define YYSTYPE_IS_TRIVIAL 1
++# define YYSTYPE_IS_DECLARED 1
++#endif
++
++
++
++int MYSQLparse (THD *thd);
++
++#endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED */
++
++/* Copy the second part of user declarations. */
++#line 785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:358 */
++
++bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
++
++#line 2122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:358 */
++
++#ifdef short
++# undef short
++#endif
++
++#ifdef YYTYPE_UINT8
++typedef YYTYPE_UINT8 yytype_uint8;
++#else
++typedef unsigned char yytype_uint8;
++#endif
++
++#ifdef YYTYPE_INT8
++typedef YYTYPE_INT8 yytype_int8;
++#else
++typedef signed char yytype_int8;
++#endif
++
++#ifdef YYTYPE_UINT16
++typedef YYTYPE_UINT16 yytype_uint16;
++#else
++typedef unsigned short int yytype_uint16;
++#endif
++
++#ifdef YYTYPE_INT16
++typedef YYTYPE_INT16 yytype_int16;
++#else
++typedef short int yytype_int16;
++#endif
++
++#ifndef YYSIZE_T
++# ifdef __SIZE_TYPE__
++# define YYSIZE_T __SIZE_TYPE__
++# elif defined size_t
++# define YYSIZE_T size_t
++# elif ! defined YYSIZE_T
++# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++# define YYSIZE_T size_t
++# else
++# define YYSIZE_T unsigned int
++# endif
++#endif
++
++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
++
++#ifndef YY_
++# if defined YYENABLE_NLS && YYENABLE_NLS
++# if ENABLE_NLS
++# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
++# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
++# endif
++# endif
++# ifndef YY_
++# define YY_(Msgid) Msgid
++# endif
++#endif
++
++#ifndef YY_ATTRIBUTE
++# if (defined __GNUC__ \
++ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
++ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
++# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
++# else
++# define YY_ATTRIBUTE(Spec) /* empty */
++# endif
++#endif
++
++#ifndef YY_ATTRIBUTE_PURE
++# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
++#endif
++
++#ifndef YY_ATTRIBUTE_UNUSED
++# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
++#endif
++
++#if !defined _Noreturn \
++ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
++# if defined _MSC_VER && 1200 <= _MSC_VER
++# define _Noreturn __declspec (noreturn)
++# else
++# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
++# endif
++#endif
++
++/* Suppress unused-variable warnings by "using" E. */
++#if ! defined lint || defined __GNUC__
++# define YYUSE(E) ((void) (E))
++#else
++# define YYUSE(E) /* empty */
++#endif
++
++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
++/* Suppress an incorrect diagnostic about yylval being uninitialized. */
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
++ _Pragma ("GCC diagnostic pop")
++#else
++# define YY_INITIAL_VALUE(Value) Value
++#endif
++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END
++#endif
++#ifndef YY_INITIAL_VALUE
++# define YY_INITIAL_VALUE(Value) /* Nothing. */
++#endif
++
++
++#if ! defined yyoverflow || YYERROR_VERBOSE
++
++/* The parser invokes alloca or malloc; define the necessary symbols. */
++
++# ifdef YYSTACK_USE_ALLOCA
++# if YYSTACK_USE_ALLOCA
++# ifdef __GNUC__
++# define YYSTACK_ALLOC __builtin_alloca
++# elif defined __BUILTIN_VA_ARG_INCR
++# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
++# elif defined _AIX
++# define YYSTACK_ALLOC __alloca
++# elif defined _MSC_VER
++# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
++# define alloca _alloca
++# else
++# define YYSTACK_ALLOC alloca
++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
++# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
++# ifndef EXIT_SUCCESS
++# define EXIT_SUCCESS 0
++# endif
++# endif
++# endif
++# endif
++# endif
++
++# ifdef YYSTACK_ALLOC
++ /* Pacify GCC's 'empty if-body' warning. */
++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
++# ifndef YYSTACK_ALLOC_MAXIMUM
++ /* The OS might guarantee only one guard page at the bottom of the stack,
++ and a page size can be as small as 4096 bytes. So we cannot safely
++ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
++ to allow for a few compiler-allocated temporary stack slots. */
++# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
++# endif
++# else
++# define YYSTACK_ALLOC YYMALLOC
++# define YYSTACK_FREE YYFREE
++# ifndef YYSTACK_ALLOC_MAXIMUM
++# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
++# endif
++# if (defined __cplusplus && ! defined EXIT_SUCCESS \
++ && ! ((defined YYMALLOC || defined malloc) \
++ && (defined YYFREE || defined free)))
++# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++# ifndef EXIT_SUCCESS
++# define EXIT_SUCCESS 0
++# endif
++# endif
++# ifndef YYMALLOC
++# define YYMALLOC malloc
++# if ! defined malloc && ! defined EXIT_SUCCESS
++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++# endif
++# endif
++# ifndef YYFREE
++# define YYFREE free
++# if ! defined free && ! defined EXIT_SUCCESS
++void free (void *); /* INFRINGES ON USER NAME SPACE */
++# endif
++# endif
++# endif
++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
++
++
++#if (! defined yyoverflow \
++ && (! defined __cplusplus \
++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++
++/* A type that is properly aligned for any stack member. */
++union yyalloc
++{
++ yytype_int16 yyss_alloc;
++ YYSTYPE yyvs_alloc;
++};
++
++/* The size of the maximum gap between one aligned stack and the next. */
++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
++
++/* The size of an array large to enough to hold all stacks, each with
++ N elements. */
++# define YYSTACK_BYTES(N) \
++ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
++ + YYSTACK_GAP_MAXIMUM)
++
++# define YYCOPY_NEEDED 1
++
++/* Relocate STACK from its old location to the new one. The
++ local variables YYSIZE and YYSTACKSIZE give the old and new number of
++ elements in the stack, and YYPTR gives the new location of the
++ stack. Advance YYPTR to a properly aligned location for the next
++ stack. */
++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
++ do \
++ { \
++ YYSIZE_T yynewbytes; \
++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
++ Stack = &yyptr->Stack_alloc; \
++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
++ yyptr += yynewbytes / sizeof (*yyptr); \
++ } \
++ while (0)
++
++#endif
++
++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
++/* Copy COUNT objects from SRC to DST. The source and destination do
++ not overlap. */
++# ifndef YYCOPY
++# if defined __GNUC__ && 1 < __GNUC__
++# define YYCOPY(Dst, Src, Count) \
++ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
++# else
++# define YYCOPY(Dst, Src, Count) \
++ do \
++ { \
++ YYSIZE_T yyi; \
++ for (yyi = 0; yyi < (Count); yyi++) \
++ (Dst)[yyi] = (Src)[yyi]; \
++ } \
++ while (0)
++# endif
++# endif
++#endif /* !YYCOPY_NEEDED */
++
++/* YYFINAL -- State number of the termination state. */
++#define YYFINAL 602
++/* YYLAST -- Last index in YYTABLE. */
++#define YYLAST 56329
++
++/* YYNTOKENS -- Number of terminals. */
++#define YYNTOKENS 639
++/* YYNNTS -- Number of nonterminals. */
++#define YYNNTS 930
++/* YYNRULES -- Number of rules. */
++#define YYNRULES 2643
++/* YYNSTATES -- Number of states. */
++#define YYNSTATES 4474
++
++/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
++ by yylex, with out-of-bounds checking. */
++#define YYUNDEFTOK 2
++#define YYMAXUTOK 871
++
++#define YYTRANSLATE(YYX) \
++ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
++
++/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
++ as returned by yylex, without out-of-bounds checking. */
++static const yytype_uint16 yytranslate[] =
++{
++ 0, 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, 632, 2, 2, 2, 626, 621, 2,
++ 629, 630, 624, 623, 631, 622, 637, 625, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 638, 635,
++ 619, 617, 618, 2, 636, 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, 627, 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, 633, 620, 634, 628, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
++ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
++ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
++ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
++ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
++ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
++ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
++ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
++ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
++ 85, 86, 87, 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, 126, 127, 128, 129, 130, 131, 132, 133, 134,
++ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
++ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
++ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
++ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
++ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
++ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
++ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
++ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
++ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
++ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
++ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
++ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
++ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
++ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
++ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
++ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, 338, 339, 340, 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, 562, 563, 564,
++ 565, 566, 567, 568, 569, 570, 571, 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, 601, 602, 603, 604,
++ 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
++ 615, 616
++};
++
++#if YYDEBUG
++ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
++static const yytype_uint16 yyrline[] =
++{
++ 0, 1707, 1707, 1719, 1718, 1743, 1750, 1752, 1756, 1757,
++ 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771,
++ 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781,
++ 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791,
++ 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801,
++ 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811,
++ 1812, 1813, 1814, 1818, 1827, 1828, 1832, 1841, 1847, 1857,
++ 1856, 1866, 1868, 1872, 1873, 1877, 1890, 1889, 1909, 1908,
++ 1917, 1918, 1922, 1926, 1930, 1934, 1938, 1942, 1947, 1951,
++ 1955, 1959, 1963, 1967, 1973, 2004, 2009, 2012, 2014, 2015,
++ 2019, 2025, 2029, 2045, 2049, 2061, 2060, 2101, 2100, 2112,
++ 2110, 2123, 2121, 2133, 2132, 2145, 2144, 2152, 2156, 2160,
++ 2164, 2171, 2184, 2185, 2189, 2193, 2197, 2201, 2205, 2209,
++ 2213, 2221, 2220, 2251, 2250, 2257, 2264, 2265, 2271, 2277,
++ 2287, 2293, 2299, 2301, 2308, 2309, 2313, 2319, 2328, 2329,
++ 2337, 2337, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400,
++ 2401, 2402, 2403, 2404, 2405, 2410, 2424, 2440, 2458, 2459,
++ 2463, 2464, 2469, 2471, 2473, 2475, 2477, 2479, 2481, 2487,
++ 2488, 2489, 2493, 2497, 2505, 2504, 2517, 2519, 2522, 2524,
++ 2528, 2532, 2539, 2541, 2545, 2546, 2551, 2571, 2597, 2599,
++ 2603, 2604, 2608, 2634, 2635, 2636, 2637, 2641, 2642, 2646,
++ 2647, 2652, 2655, 2682, 2681, 2745, 2761, 2760, 2814, 2840,
++ 2840, 2863, 2864, 2869, 2871, 2876, 2899, 2912, 2916, 2933,
++ 2934, 2938, 2942, 2951, 2958, 2965, 2975, 2989, 3012, 3018,
++ 3019, 3025, 3028, 3032, 3040, 3060, 3062, 3080, 3086, 3088,
++ 3090, 3092, 3094, 3096, 3098, 3100, 3102, 3104, 3106, 3108,
++ 3113, 3127, 3142, 3160, 3161, 3165, 3166, 3167, 3168, 3169,
++ 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3182, 3181,
++ 3188, 3188, 3243, 3242, 3271, 3271, 3285, 3338, 3381, 3402,
++ 3401, 3423, 3442, 3444, 3445, 3449, 3469, 3492, 3494, 3510,
++ 3492, 3529, 3531, 3532, 3536, 3537, 3542, 3548, 3541, 3569,
++ 3568, 3584, 3585, 3589, 3590, 3595, 3599, 3594, 3620, 3624,
++ 3619, 3643, 3653, 3658, 3657, 3693, 3694, 3699, 3698, 3731,
++ 3731, 3746, 3745, 3781, 3793, 3795, 3792, 3822, 3821, 3842,
++ 3844, 3849, 3851, 3853, 3870, 3875, 3881, 3888, 3889, 3897,
++ 3903, 3912, 3918, 3924, 3925, 3929, 3929, 3934, 3935, 3936,
++ 3940, 3941, 3942, 3946, 3950, 3951, 3952, 3956, 3957, 3958,
++ 3959, 3960, 3961, 3962, 3963, 3967, 3971, 3972, 3973, 3977,
++ 3978, 3979, 3980, 3981, 3985, 3989, 3990, 3991, 3995, 3996,
++ 3997, 3998, 3999, 4000, 4001, 4005, 4009, 4010, 4011, 4015,
++ 4016, 4017, 4022, 4030, 4038, 4046, 4058, 4070, 4075, 4080,
++ 4088, 4096, 4104, 4112, 4120, 4128, 4136, 4149, 4162, 4175,
++ 4177, 4181, 4186, 4199, 4200, 4251, 4252, 4255, 4269, 4287,
++ 4286, 4295, 4293, 4300, 4302, 4301, 4305, 4304, 4310, 4347,
++ 4348, 4353, 4352, 4371, 4390, 4389, 4406, 4410, 4418, 4417,
++ 4420, 4422, 4424, 4426, 4431, 4432, 4438, 4439, 4456, 4457,
++ 4461, 4462, 4466, 4485, 4495, 4506, 4515, 4516, 4532, 4534,
++ 4533, 4538, 4536, 4547, 4548, 4552, 4570, 4586, 4587, 4603,
++ 4618, 4640, 4641, 4646, 4645, 4669, 4681, 4703, 4702, 4720,
++ 4719, 4739, 4761, 4765, 4794, 4806, 4807, 4812, 4823, 4811,
++ 4848, 4849, 4853, 4866, 4887, 4900, 4926, 4927, 4932, 4931,
++ 4968, 4977, 4978, 4982, 4983, 4987, 4989, 4995, 5001, 5003,
++ 5005, 5007, 5009, 5011, 5021, 5036, 5020, 5050, 5051, 5055,
++ 5056, 5060, 5061, 5065, 5066, 5070, 5071, 5075, 5076, 5080,
++ 5084, 5085, 5088, 5090, 5094, 5095, 5099, 5100, 5101, 5105,
++ 5110, 5115, 5120, 5125, 5130, 5135, 5140, 5155, 5161, 5166,
++ 5171, 5176, 5181, 5187, 5186, 5212, 5213, 5214, 5219, 5224,
++ 5229, 5231, 5233, 5235, 5241, 5246, 5251, 5257, 5263, 5269,
++ 5278, 5296, 5313, 5336, 5350, 5351, 5352, 5353, 5354, 5355,
++ 5356, 5360, 5361, 5362, 5366, 5367, 5371, 5372, 5373, 5374,
++ 5379, 5386, 5387, 5391, 5392, 5396, 5397, 5405, 5404, 5413,
++ 5411, 5421, 5419, 5429, 5427, 5435, 5454, 5460, 5462, 5466,
++ 5470, 5471, 5475, 5480, 5479, 5505, 5508, 5507, 5517, 5519,
++ 5524, 5527, 5531, 5538, 5539, 5543, 5544, 5548, 5554, 5560,
++ 5564, 5580, 5596, 5597, 5598, 5599, 5604, 5608, 5613, 5618,
++ 5622, 5627, 5632, 5638, 5643, 5649, 5653, 5658, 5663, 5681,
++ 5683, 5685, 5698, 5700, 5705, 5710, 5722, 5727, 5732, 5737,
++ 5739, 5741, 5743, 5745, 5747, 5749, 5751, 5754, 5753, 5758,
++ 5757, 5761, 5763, 5772, 5773, 5774, 5780, 5781, 5782, 5783,
++ 5784, 5788, 5792, 5793, 5797, 5798, 5802, 5803, 5804, 5805,
++ 5806, 5810, 5811, 5812, 5813, 5814, 5818, 5823, 5825, 5831,
++ 5832, 5834, 5839, 5848, 5849, 5853, 5854, 5858, 5859, 5860,
++ 5864, 5865, 5866, 5867, 5870, 5871, 5875, 5876, 5880, 5881,
++ 5885, 5886, 5890, 5891, 5892, 5893, 5900, 5901, 5907, 5913,
++ 5919, 5925, 5926, 5939, 5945, 5951, 5957, 5966, 5987, 5993,
++ 5998, 5999, 6003, 6004, 6008, 6016, 6020, 6021, 6025, 6026,
++ 6030, 6039, 6043, 6044, 6048, 6059, 6060, 6064, 6065, 6069,
++ 6070, 6075, 6076, 6080, 6087, 6096, 6104, 6115, 6116, 6117,
++ 6118, 6119, 6120, 6125, 6133, 6134, 6138, 6140, 6144, 6156,
++ 6157, 6161, 6168, 6181, 6182, 6184, 6186, 6192, 6197, 6203,
++ 6209, 6216, 6226, 6227, 6228, 6229, 6230, 6234, 6238, 6239,
++ 6243, 6244, 6248, 6249, 6253, 6254, 6255, 6259, 6260, 6264,
++ 6268, 6281, 6293, 6294, 6298, 6299, 6303, 6304, 6308, 6309,
++ 6313, 6314, 6318, 6319, 6323, 6324, 6328, 6329, 6333, 6335,
++ 6336, 6342, 6348, 6354, 6362, 6363, 6367, 6371, 6372, 6385,
++ 6386, 6387, 6391, 6392, 6396, 6402, 6416, 6417, 6421, 6422,
++ 6426, 6427, 6435, 6434, 6471, 6470, 6484, 6496, 6495, 6514,
++ 6513, 6532, 6531, 6550, 6544, 6564, 6563, 6596, 6601, 6606,
++ 6611, 6616, 6626, 6627, 6628, 6629, 6633, 6634, 6646, 6647,
++ 6651, 6652, 6655, 6657, 6658, 6659, 6661, 6663, 6664, 6673,
++ 6674, 6678, 6687, 6685, 6698, 6711, 6710, 6723, 6721, 6734,
++ 6741, 6751, 6755, 6762, 6766, 6771, 6770, 6786, 6788, 6793,
++ 6801, 6800, 6816, 6820, 6819, 6831, 6832, 6836, 6851, 6852,
++ 6856, 6865, 6869, 6874, 6879, 6878, 6890, 6901, 6889, 6917,
++ 6926, 6930, 6939, 6948, 6954, 6960, 6969, 6978, 6997, 7017,
++ 7027, 7031, 7039, 7040, 7044, 7045, 7049, 7049, 7052, 7054,
++ 7058, 7059, 7063, 7064, 7068, 7069, 7070, 7074, 7075, 7076,
++ 7080, 7081, 7082, 7083, 7092, 7091, 7100, 7108, 7107, 7115,
++ 7124, 7133, 7134, 7141, 7141, 7147, 7148, 7152, 7153, 7154,
++ 7158, 7159, 7175, 7176, 7181, 7180, 7192, 7193, 7194, 7198,
++ 7199, 7199, 7204, 7203, 7224, 7225, 7229, 7230, 7234, 7235,
++ 7236, 7240, 7241, 7246, 7245, 7266, 7274, 7275, 7275, 7279,
++ 7278, 7304, 7305, 7309, 7310, 7314, 7315, 7316, 7317, 7318,
++ 7319, 7323, 7324, 7329, 7328, 7349, 7350, 7351, 7356, 7355,
++ 7361, 7368, 7373, 7381, 7382, 7386, 7400, 7399, 7412, 7413,
++ 7417, 7418, 7422, 7432, 7442, 7443, 7448, 7447, 7458, 7459,
++ 7463, 7464, 7468, 7478, 7489, 7488, 7496, 7496, 7505, 7506,
++ 7511, 7512, 7521, 7530, 7531, 7535, 7540, 7545, 7550, 7555,
++ 7554, 7574, 7582, 7574, 7589, 7590, 7591, 7592, 7593, 7597,
++ 7604, 7611, 7613, 7624, 7625, 7629, 7630, 7658, 7688, 7690,
++ 7696, 7706, 7707, 7708, 7722, 7727, 7752, 7758, 7764, 7765,
++ 7766, 7767, 7768, 7772, 7773, 7774, 7778, 7779, 7784, 7835,
++ 7842, 7885, 7891, 7897, 7903, 7909, 7915, 7921, 7927, 7931,
++ 7937, 7943, 7949, 7955, 7961, 7965, 7971, 7980, 7986, 7994,
++ 8000, 8010, 8016, 8025, 8035, 8041, 8051, 8057, 8066, 8070,
++ 8076, 8082, 8088, 8094, 8100, 8106, 8112, 8118, 8124, 8130,
++ 8136, 8142, 8148, 8154, 8158, 8159, 8163, 8164, 8168, 8169,
++ 8173, 8174, 8178, 8179, 8180, 8181, 8182, 8183, 8187, 8188,
++ 8193, 8199, 8203, 8210, 8217, 8224, 8231, 8238, 8243, 8249,
++ 8256, 8263, 8271, 8282, 8304, 8311, 8319, 8320, 8321, 8322,
++ 8323, 8324, 8335, 8336, 8337, 8338, 8339, 8345, 8349, 8355,
++ 8361, 8367, 8373, 8375, 8382, 8389, 8395, 8397, 8406, 8413,
++ 8421, 8427, 8434, 8440, 8454, 8461, 8477, 8483, 8489, 8497,
++ 8503, 8509, 8515, 8521, 8535, 8546, 8552, 8558, 8564, 8570,
++ 8576, 8582, 8588, 8594, 8600, 8606, 8612, 8618, 8624, 8630,
++ 8636, 8642, 8650, 8671, 8678, 8684, 8691, 8698, 8705, 8712,
++ 8718, 8724, 8731, 8737, 8744, 8750, 8756, 8762, 8768, 8774,
++ 8792, 8798, 8804, 8811, 8818, 8826, 8833, 8840, 8847, 8854,
++ 8861, 8878, 8884, 8890, 8896, 8902, 8909, 8915, 8921, 8927,
++ 8933, 8939, 8950, 8956, 8962, 8968, 8974, 8985, 8991, 9007,
++ 9013, 9020, 9027, 9034, 9041, 9048, 9052, 9072, 9071, 9143,
++ 9184, 9186, 9191, 9192, 9196, 9197, 9201, 9202, 9206, 9213,
++ 9221, 9248, 9254, 9260, 9266, 9272, 9278, 9287, 9294, 9296,
++ 9293, 9303, 9314, 9320, 9326, 9332, 9338, 9344, 9350, 9356,
++ 9362, 9369, 9368, 9388, 9387, 9402, 9412, 9420, 9436, 9437,
++ 9442, 9447, 9450, 9453, 9452, 9469, 9471, 9477, 9476, 9493,
++ 9495, 9497, 9499, 9501, 9503, 9505, 9507, 9509, 9511, 9517,
++ 9523, 9526, 9525, 9531, 9532, 9536, 9543, 9551, 9552, 9556,
++ 9563, 9571, 9572, 9576, 9577, 9581, 9589, 9600, 9601, 9613,
++ 9624, 9625, 9631, 9632, 9652, 9654, 9658, 9656, 9673, 9671,
++ 9689, 9687, 9694, 9703, 9701, 9719, 9718, 9728, 9739, 9737,
++ 9756, 9755, 9766, 9777, 9778, 9779, 9791, 9791, 9805, 9845,
++ 9930, 9941, 9946, 9938, 9965, 9985, 9993, 9985, 10002, 10001,
++ 10024, 10041, 10024, 10048, 10052, 10078, 10079, 10084, 10087, 10088,
++ 10089, 10093, 10094, 10099, 10098, 10104, 10103, 10111, 10112, 10115,
++ 10117, 10117, 10121, 10121, 10126, 10127, 10131, 10133, 10138, 10139,
++ 10143, 10154, 10167, 10168, 10169, 10170, 10171, 10172, 10173, 10174,
++ 10175, 10176, 10177, 10178, 10182, 10183, 10184, 10185, 10186, 10187,
++ 10188, 10189, 10190, 10194, 10195, 10196, 10197, 10200, 10202, 10203,
++ 10207, 10208, 10216, 10218, 10222, 10224, 10223, 10237, 10240, 10239,
++ 10254, 10260, 10274, 10276, 10280, 10282, 10287, 10288, 10308, 10333,
++ 10337, 10338, 10342, 10354, 10356, 10361, 10360, 10395, 10397, 10402,
++ 10403, 10404, 10409, 10416, 10420, 10421, 10425, 10429, 10433, 10440,
++ 10447, 10454, 10464, 10497, 10501, 10507, 10513, 10522, 10530, 10534,
++ 10541, 10542, 10546, 10547, 10548, 10552, 10553, 10554, 10555, 10556,
++ 10557, 10561, 10562, 10563, 10564, 10565, 10569, 10570, 10571, 10572,
++ 10573, 10577, 10578, 10579, 10580, 10581, 10585, 10590, 10591, 10595,
++ 10596, 10599, 10602, 10601, 10644, 10645, 10649, 10650, 10654, 10664,
++ 10664, 10674, 10675, 10679, 10698, 10731, 10730, 10743, 10751, 10742,
++ 10753, 10765, 10777, 10776, 10794, 10793, 10804, 10804, 10820, 10827,
++ 10849, 10869, 10881, 10886, 10885, 10895, 10901, 10908, 10913, 10918,
++ 10928, 10929, 10933, 10944, 10945, 10949, 10960, 10961, 10965, 10966,
++ 10974, 10982, 10973, 10992, 10999, 10991, 11009, 11017, 11018, 11026,
++ 11030, 11031, 11042, 11043, 11047, 11056, 11057, 11058, 11060, 11059,
++ 11070, 11071, 11075, 11076, 11078, 11077, 11081, 11080, 11086, 11087,
++ 11091, 11092, 11096, 11106, 11107, 11111, 11112, 11117, 11116, 11130,
++ 11131, 11135, 11140, 11148, 11149, 11157, 11159, 11159, 11167, 11175,
++ 11166, 11197, 11198, 11202, 11210, 11211, 11215, 11225, 11226, 11233,
++ 11232, 11248, 11247, 11259, 11258, 11270, 11269, 11283, 11284, 11288,
++ 11301, 11317, 11318, 11322, 11323, 11327, 11328, 11329, 11334, 11333,
++ 11354, 11356, 11359, 11361, 11364, 11365, 11368, 11372, 11376, 11380,
++ 11384, 11388, 11392, 11396, 11400, 11408, 11411, 11421, 11420, 11435,
++ 11442, 11450, 11458, 11466, 11474, 11482, 11489, 11491, 11493, 11502,
++ 11506, 11511, 11510, 11516, 11515, 11520, 11529, 11536, 11545, 11554,
++ 11559, 11561, 11563, 11565, 11567, 11569, 11576, 11584, 11586, 11594,
++ 11601, 11608, 11618, 11625, 11631, 11639, 11647, 11651, 11655, 11662,
++ 11669, 11676, 11683, 11690, 11697, 11703, 11710, 11717, 11722, 11727,
++ 11735, 11737, 11739, 11744, 11745, 11748, 11750, 11754, 11755, 11759,
++ 11760, 11764, 11765, 11769, 11770, 11774, 11775, 11778, 11780, 11787,
++ 11798, 11797, 11813, 11812, 11822, 11823, 11827, 11828, 11829, 11833,
++ 11834, 11835, 11850, 11849, 11862, 11871, 11861, 11873, 11877, 11878,
++ 11892, 11893, 11898, 11900, 11902, 11904, 11906, 11908, 11910, 11912,
++ 11914, 11916, 11918, 11920, 11925, 11927, 11929, 11931, 11933, 11935,
++ 11937, 11942, 11943, 11947, 11948, 11952, 11951, 11961, 11962, 11966,
++ 11966, 11968, 11969, 11973, 11974, 11979, 11978, 11989, 11993, 11997,
++ 12010, 12009, 12023, 12024, 12025, 12028, 12029, 12030, 12034, 12039,
++ 12049, 12061, 12072, 12082, 12092, 12060, 12100, 12101, 12105, 12106,
++ 12110, 12111, 12119, 12123, 12124, 12125, 12128, 12130, 12134, 12135,
++ 12139, 12144, 12151, 12156, 12163, 12165, 12169, 12170, 12174, 12179,
++ 12187, 12188, 12191, 12193, 12201, 12203, 12207, 12208, 12209, 12213,
++ 12215, 12220, 12221, 12230, 12231, 12235, 12236, 12240, 12253, 12276,
++ 12288, 12299, 12318, 12326, 12338, 12346, 12361, 12381, 12382, 12383,
++ 12391, 12392, 12393, 12400, 12406, 12412, 12418, 12424, 12430, 12459,
++ 12487, 12488, 12489, 12493, 12503, 12513, 12519, 12528, 12543, 12544,
++ 12548, 12557, 12572, 12576, 12622, 12626, 12643, 12647, 12725, 12749,
++ 12779, 12780, 12796, 12806, 12810, 12816, 12822, 12832, 12838, 12847,
++ 12857, 12858, 12886, 12900, 12914, 12929, 12930, 12940, 12941, 12951,
++ 12952, 12953, 12957, 12973, 12994, 13009, 13010, 13011, 13012, 13013,
++ 13014, 13015, 13016, 13017, 13018, 13019, 13020, 13021, 13022, 13023,
++ 13024, 13025, 13026, 13027, 13028, 13029, 13030, 13031, 13032, 13033,
++ 13034, 13035, 13036, 13037, 13038, 13039, 13040, 13041, 13042, 13043,
++ 13044, 13045, 13046, 13047, 13048, 13049, 13050, 13051, 13052, 13053,
++ 13054, 13055, 13056, 13057, 13058, 13059, 13060, 13061, 13062, 13063,
++ 13064, 13065, 13066, 13067, 13077, 13078, 13079, 13080, 13081, 13082,
++ 13083, 13084, 13085, 13086, 13087, 13088, 13089, 13090, 13091, 13092,
++ 13093, 13094, 13095, 13096, 13097, 13098, 13099, 13100, 13101, 13102,
++ 13103, 13104, 13105, 13106, 13107, 13108, 13109, 13110, 13111, 13112,
++ 13113, 13114, 13115, 13116, 13117, 13118, 13119, 13120, 13121, 13122,
++ 13123, 13124, 13125, 13126, 13127, 13128, 13129, 13130, 13131, 13132,
++ 13133, 13134, 13135, 13136, 13137, 13138, 13139, 13140, 13141, 13142,
++ 13143, 13144, 13145, 13146, 13147, 13148, 13149, 13150, 13151, 13152,
++ 13153, 13154, 13155, 13156, 13157, 13158, 13159, 13160, 13161, 13162,
++ 13163, 13164, 13165, 13166, 13167, 13168, 13169, 13170, 13171, 13172,
++ 13173, 13174, 13175, 13176, 13177, 13178, 13179, 13180, 13181, 13182,
++ 13183, 13184, 13185, 13186, 13187, 13188, 13189, 13190, 13191, 13192,
++ 13193, 13194, 13195, 13196, 13197, 13198, 13199, 13200, 13201, 13202,
++ 13203, 13204, 13205, 13206, 13207, 13208, 13209, 13210, 13211, 13212,
++ 13213, 13214, 13215, 13216, 13217, 13218, 13219, 13220, 13221, 13222,
++ 13223, 13224, 13225, 13226, 13227, 13228, 13229, 13230, 13231, 13232,
++ 13233, 13234, 13235, 13236, 13237, 13238, 13239, 13240, 13241, 13242,
++ 13243, 13244, 13245, 13246, 13247, 13248, 13249, 13250, 13251, 13252,
++ 13253, 13254, 13255, 13256, 13257, 13258, 13259, 13260, 13261, 13262,
++ 13263, 13264, 13265, 13266, 13267, 13268, 13269, 13270, 13271, 13272,
++ 13273, 13274, 13275, 13276, 13277, 13278, 13279, 13280, 13281, 13282,
++ 13283, 13284, 13285, 13286, 13287, 13288, 13289, 13290, 13291, 13292,
++ 13293, 13294, 13295, 13296, 13297, 13298, 13299, 13300, 13301, 13302,
++ 13303, 13304, 13305, 13306, 13307, 13308, 13309, 13310, 13311, 13312,
++ 13313, 13314, 13315, 13316, 13317, 13318, 13319, 13320, 13321, 13322,
++ 13323, 13324, 13325, 13326, 13327, 13328, 13329, 13330, 13331, 13332,
++ 13333, 13334, 13335, 13336, 13337, 13338, 13339, 13340, 13341, 13342,
++ 13343, 13344, 13345, 13346, 13347, 13348, 13349, 13350, 13351, 13352,
++ 13353, 13354, 13355, 13356, 13357, 13358, 13359, 13360, 13361, 13362,
++ 13363, 13364, 13365, 13366, 13367, 13368, 13369, 13376, 13375, 13390,
++ 13391, 13395, 13396, 13400, 13400, 13480, 13481, 13482, 13483, 13487,
++ 13488, 13492, 13493, 13494, 13495, 13499, 13500, 13501, 13502, 13506,
++ 13507, 13511, 13552, 13570, 13581, 13593, 13606, 13621, 13640, 13666,
++ 13679, 13705, 13748, 13762, 13763, 13764, 13765, 13769, 13770, 13779,
++ 13791, 13792, 13793, 13799, 13805, 13817, 13816, 13832, 13833, 13837,
++ 13838, 13842, 13857, 13858, 13859, 13864, 13865, 13870, 13869, 13889,
++ 13901, 13914, 13913, 13947, 13948, 13952, 13953, 13957, 13958, 13959,
++ 13960, 13962, 13961, 13974, 13975, 13976, 13977, 13978, 13984, 13989,
++ 13995, 14006, 14017, 14021, 14031, 14036, 14043, 14055, 14067, 14076,
++ 14078, 14082, 14083, 14090, 14092, 14096, 14097, 14102, 14101, 14105,
++ 14104, 14108, 14107, 14111, 14110, 14113, 14114, 14115, 14116, 14117,
++ 14118, 14119, 14120, 14121, 14122, 14123, 14124, 14125, 14126, 14127,
++ 14128, 14129, 14130, 14131, 14132, 14133, 14134, 14135, 14136, 14137,
++ 14138, 14142, 14143, 14147, 14148, 14152, 14162, 14172, 14185, 14200,
++ 14213, 14226, 14238, 14243, 14251, 14256, 14263, 14263, 14264, 14264,
++ 14267, 14294, 14299, 14305, 14311, 14317, 14321, 14325, 14326, 14330,
++ 14357, 14359, 14363, 14367, 14371, 14378, 14379, 14383, 14384, 14388,
++ 14389, 14393, 14394, 14400, 14406, 14412, 14422, 14421, 14431, 14432,
++ 14437, 14438, 14439, 14444, 14445, 14446, 14450, 14451, 14455, 14467,
++ 14476, 14486, 14495, 14509, 14510, 14515, 14514, 14530, 14531, 14532,
++ 14536, 14537, 14541, 14541, 14563, 14564, 14568, 14569, 14570, 14574,
++ 14578, 14585, 14588, 14586, 14602, 14609, 14630, 14654, 14656, 14660,
++ 14661, 14665, 14666, 14674, 14675, 14676, 14677, 14683, 14689, 14699,
++ 14701, 14703, 14708, 14709, 14710, 14711, 14712, 14716, 14717, 14718,
++ 14719, 14720, 14721, 14731, 14732, 14737, 14750, 14763, 14765, 14767,
++ 14772, 14777, 14779, 14781, 14787, 14788, 14790, 14796, 14795, 14812,
++ 14813, 14817, 14822, 14830, 14830, 14854, 14855, 14860, 14861, 14863,
++ 14865, 14883, 14889, 14894, 14876, 14955, 14972, 14996, 15027, 15031,
++ 15040, 15063, 14992, 15126, 15150, 15159, 15166, 15125, 15186, 15190,
++ 15194, 15198, 15202, 15206, 15213, 15220, 15227, 15237, 15238, 15242,
++ 15243, 15244, 15248, 15249, 15254, 15256, 15255, 15261, 15262, 15266,
++ 15273, 15283, 15289, 15300
++};
++#endif
++
++#if YYDEBUG || YYERROR_VERBOSE || 0
++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
++ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
++static const char *const yytname[] =
++{
++ "$end", "error", "$undefined", "ABORT_SYM", "ACCESSIBLE_SYM", "ACTION",
++ "ADD", "ADDDATE_SYM", "AFTER_SYM", "AGAINST", "AGGREGATE_SYM",
++ "ALGORITHM_SYM", "ALL", "ALTER", "ALWAYS_SYM", "ANALYZE_SYM",
++ "AND_AND_SYM", "AND_SYM", "ANY_SYM", "AS", "ASC", "ASCII_SYM",
++ "ASENSITIVE_SYM", "AT_SYM", "AUTHORS_SYM", "AUTOEXTEND_SIZE_SYM",
++ "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM", "BACKUP_SYM", "BEFORE_SYM",
++ "BEGIN_SYM", "BETWEEN_SYM", "BIGINT", "BINARY", "BINLOG_SYM", "BIN_NUM",
++ "BIT_AND", "BIT_OR", "BIT_SYM", "BIT_XOR", "BLOB_SYM", "BLOCK_SYM",
++ "BOOLEAN_SYM", "BOOL_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM",
++ "CACHE_SYM", "CALL_SYM", "CASCADE", "CASCADED", "CASE_SYM", "CAST_SYM",
++ "CATALOG_NAME_SYM", "CHAIN_SYM", "CHANGE", "CHANGED", "CHARSET",
++ "CHAR_SYM", "CHECKPOINT_SYM", "CHECKSUM_SYM", "CHECK_SYM", "CIPHER_SYM",
++ "CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLIENT_STATS_SYM", "CLOSE_SYM",
++ "COALESCE", "CODE_SYM", "COLLATE_SYM", "COLLATION_SYM", "COLUMNS",
++ "COLUMN_ADD_SYM", "COLUMN_CREATE_SYM", "COLUMN_DELETE_SYM",
++ "COLUMN_EXISTS_SYM", "COLUMN_GET_SYM", "COLUMN_LIST_SYM", "COLUMN_SYM",
++ "COLUMN_NAME_SYM", "COMMENT_SYM", "COMMITTED_SYM", "COMMIT_SYM",
++ "COMPACT_SYM", "COMPLETION_SYM", "COMPRESSED_SYM", "CONCURRENT",
++ "CONDITION_SYM", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT",
++ "CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", "CONSTRAINT_SCHEMA_SYM",
++ "CONTAINS_SYM", "CONTEXT_SYM", "CONTINUE_SYM", "CONTRIBUTORS_SYM",
++ "CONVERT_SYM", "COUNT_SYM", "CPU_SYM", "CREATE", "CROSS", "CUBE_SYM",
++ "CURDATE", "CURRENT_USER", "CURSOR_SYM", "CURSOR_NAME_SYM", "CURTIME",
++ "DATABASE", "DATABASES", "DATAFILE_SYM", "DATA_SYM", "DATETIME",
++ "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM", "DAY_HOUR_SYM",
++ "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM",
++ "DEALLOCATE_SYM", "DECIMAL_NUM", "DECIMAL_SYM", "DECLARE_SYM", "DEFAULT",
++ "DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DELETE_SYM",
++ "DESC", "DESCRIBE", "DES_KEY_FILE", "DETERMINISTIC_SYM", "DIRECTORY_SYM",
++ "DISABLE_SYM", "DISCARD", "DISK_SYM", "DISTINCT", "DIV_SYM",
++ "DOUBLE_SYM", "DO_SYM", "DROP", "DUAL_SYM", "DUMPFILE", "DUPLICATE_SYM",
++ "DYNAMIC_SYM", "EACH_SYM", "ELSE", "ELSEIF_SYM", "ENABLE_SYM",
++ "ENCLOSED", "END", "ENDS_SYM", "END_OF_INPUT", "ENGINES_SYM",
++ "ENGINE_SYM", "ENUM", "EQUAL_SYM", "ERROR_SYM", "ERRORS", "ESCAPED",
++ "ESCAPE_SYM", "EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", "EXAMINED_SYM",
++ "EXECUTE_SYM", "EXISTS", "EXIT_SYM", "EXPANSION_SYM", "EXTENDED_SYM",
++ "EXTENT_SIZE_SYM", "EXTRACT_SYM", "FALSE_SYM", "FAST_SYM", "FAULTS_SYM",
++ "FETCH_SYM", "FILE_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM",
++ "FLOAT_SYM", "FLUSH_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM", "FOUND_SYM",
++ "FROM", "FULL", "FULLTEXT_SYM", "FUNCTION_SYM", "GE", "GENERAL",
++ "GENERATED_SYM", "GEOMETRYCOLLECTION", "GEOMETRY_SYM", "GET_FORMAT",
++ "GLOBAL_SYM", "GRANT", "GRANTS", "GROUP_SYM", "GROUP_CONCAT_SYM",
++ "HANDLER_SYM", "HARD_SYM", "HASH_SYM", "HAVING", "HELP_SYM", "HEX_NUM",
++ "HEX_STRING", "HIGH_PRIORITY", "HOST_SYM", "HOSTS_SYM",
++ "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM",
++ "IDENT", "IDENTIFIED_SYM", "IDENT_QUOTED", "IF", "IGNORE_SYM",
++ "IGNORE_SERVER_IDS_SYM", "IMPORT", "INDEXES", "INDEX_SYM",
++ "INDEX_STATS_SYM", "INFILE", "INITIAL_SIZE_SYM", "INNER_SYM",
++ "INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "INSERT_METHOD", "INSTALL_SYM",
++ "INTERVAL_SYM", "INTO", "INT_SYM", "INVOKER_SYM", "IN_SYM", "IO_SYM",
++ "IPC_SYM", "IS", "ISOLATION", "ISSUER_SYM", "ITERATE_SYM", "JOIN_SYM",
++ "KEYS", "KEY_BLOCK_SIZE", "KEY_SYM", "KILL_SYM", "LANGUAGE_SYM",
++ "LAST_SYM", "LAST_VALUE", "LE", "LEADING", "LEAVES", "LEAVE_SYM", "LEFT",
++ "LESS_SYM", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LIMIT", "LINEAR_SYM",
++ "LINES", "LINESTRING", "LIST_SYM", "LOAD", "LOCAL_SYM", "LOCATOR_SYM",
++ "LOCKS_SYM", "LOCK_SYM", "LOGFILE_SYM", "LOGS_SYM", "LONGBLOB",
++ "LONGTEXT", "LONG_NUM", "LONG_SYM", "LOOP_SYM", "LOW_PRIORITY",
++ "MASTER_CONNECT_RETRY_SYM", "MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM",
++ "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM",
++ "MASTER_SERVER_ID_SYM", "MASTER_SSL_CAPATH_SYM", "MASTER_SSL_CA_SYM",
++ "MASTER_SSL_CERT_SYM", "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_KEY_SYM",
++ "MASTER_SSL_SYM", "MASTER_SSL_VERIFY_SERVER_CERT_SYM", "MASTER_SYM",
++ "MASTER_USER_SYM", "MASTER_HEARTBEAT_PERIOD_SYM", "MATCH",
++ "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_ROWS",
++ "MAX_SIZE_SYM", "MAX_SYM", "MAX_UPDATES_PER_HOUR",
++ "MAX_USER_CONNECTIONS_SYM", "MAX_VALUE_SYM", "MEDIUMBLOB", "MEDIUMINT",
++ "MEDIUMTEXT", "MEDIUM_SYM", "MEMORY_SYM", "MERGE_SYM",
++ "MESSAGE_TEXT_SYM", "MICROSECOND_SYM", "MIGRATE_SYM",
++ "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MINUTE_SYM", "MIN_ROWS",
++ "MIN_SYM", "MODE_SYM", "MODIFIES_SYM", "MODIFY_SYM", "MOD_SYM",
++ "MONTH_SYM", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON",
++ "MUTEX_SYM", "MYSQL_SYM", "MYSQL_ERRNO_SYM", "NAMES_SYM", "NAME_SYM",
++ "NATIONAL_SYM", "NATURAL", "NCHAR_STRING", "NCHAR_SYM", "NDBCLUSTER_SYM",
++ "NE", "NEG", "NEW_SYM", "NEXT_SYM", "NODEGROUP_SYM", "NONE_SYM",
++ "NOT2_SYM", "NOT_SYM", "NOW_SYM", "NO_SYM", "NO_WAIT_SYM",
++ "NO_WRITE_TO_BINLOG", "NULL_SYM", "NUM", "NUMERIC_SYM", "NVARCHAR_SYM",
++ "OFFSET_SYM", "OLD_PASSWORD", "ON", "ONE_SHOT_SYM", "ONE_SYM",
++ "ONLINE_SYM", "OPEN_SYM", "OPTIMIZE", "OPTIONS_SYM", "OPTION",
++ "OPTIONALLY", "OR2_SYM", "ORDER_SYM", "OR_OR_SYM", "OR_SYM", "OUTER",
++ "OUTFILE", "OUT_SYM", "OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM",
++ "PAGE_CHECKSUM_SYM", "PARAM_MARKER", "PARSER_SYM", "PARSE_VCOL_EXPR_SYM",
++ "PARTIAL", "PARTITIONING_SYM", "PARTITIONS_SYM", "PARTITION_SYM",
++ "PASSWORD", "PERSISTENT_SYM", "PHASE_SYM", "PLUGINS_SYM", "PLUGIN_SYM",
++ "POINT_SYM", "POLYGON", "PORT_SYM", "POSITION_SYM", "PRECISION",
++ "PREPARE_SYM", "PRESERVE_SYM", "PREV_SYM", "PRIMARY_SYM", "PRIVILEGES",
++ "PROCEDURE_SYM", "PROCESS", "PROCESSLIST_SYM", "PROFILE_SYM",
++ "PROFILES_SYM", "PROXY_SYM", "PURGE", "QUARTER_SYM", "QUERY_SYM",
++ "QUICK", "RANGE_SYM", "READS_SYM", "READ_ONLY_SYM", "READ_SYM",
++ "READ_WRITE_SYM", "REAL", "REBUILD_SYM", "RECOVER_SYM", "REDOFILE_SYM",
++ "REDO_BUFFER_SIZE_SYM", "REDUNDANT_SYM", "REFERENCES", "REGEXP", "RELAY",
++ "RELAYLOG_SYM", "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM",
++ "RELAY_THREAD", "RELEASE_SYM", "RELOAD", "REMOVE_SYM", "RENAME",
++ "REORGANIZE_SYM", "REPAIR", "REPEATABLE_SYM", "REPEAT_SYM", "REPLACE",
++ "REPLICATION", "REQUIRE_SYM", "RESET_SYM", "RESIGNAL_SYM", "RESOURCES",
++ "RESTORE_SYM", "RESTRICT", "RESUME_SYM", "RETURNS_SYM", "RETURN_SYM",
++ "REVOKE", "RIGHT", "ROLLBACK_SYM", "ROLLUP_SYM", "ROUTINE_SYM",
++ "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM", "RTREE_SYM", "SAVEPOINT_SYM",
++ "SCHEDULE_SYM", "SCHEMA_NAME_SYM", "SECOND_MICROSECOND_SYM",
++ "SECOND_SYM", "SECURITY_SYM", "SELECT_SYM", "SENSITIVE_SYM",
++ "SEPARATOR_SYM", "SERIALIZABLE_SYM", "SERIAL_SYM", "SESSION_SYM",
++ "SERVER_SYM", "SERVER_OPTIONS", "SET", "SET_VAR", "SHARE_SYM",
++ "SHIFT_LEFT", "SHIFT_RIGHT", "SHOW", "SHUTDOWN", "SIGNAL_SYM",
++ "SIGNED_SYM", "SIMPLE_SYM", "SLAVE", "SLOW", "SMALLINT", "SNAPSHOT_SYM",
++ "SOCKET_SYM", "SOFT_SYM", "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM",
++ "SPATIAL_SYM", "SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM",
++ "SQLWARNING_SYM", "SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "SQL_CACHE_SYM",
++ "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_SYM",
++ "SQL_THREAD", "SSL_SYM", "STARTING", "STARTS_SYM", "START_SYM",
++ "STATUS_SYM", "STDDEV_SAMP_SYM", "STD_SYM", "STOP_SYM", "STORAGE_SYM",
++ "STRAIGHT_JOIN", "STRING_SYM", "SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM",
++ "SUBJECT_SYM", "SUBPARTITIONS_SYM", "SUBPARTITION_SYM", "SUBSTRING",
++ "SUM_SYM", "SUPER_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM",
++ "SYSDATE", "TABLES", "TABLESPACE", "TABLE_REF_PRIORITY",
++ "TABLE_STATS_SYM", "TABLE_SYM", "TABLE_CHECKSUM_SYM", "TABLE_NAME_SYM",
++ "TEMPORARY", "TEMPTABLE_SYM", "TERMINATED", "TEXT_STRING", "TEXT_SYM",
++ "THAN_SYM", "THEN_SYM", "TIMESTAMP", "TIMESTAMP_ADD", "TIMESTAMP_DIFF",
++ "TIME_SYM", "TINYBLOB", "TINYINT", "TINYTEXT", "TO_SYM", "TRAILING",
++ "TRANSACTION_SYM", "TRANSACTIONAL_SYM", "TRIGGERS_SYM", "TRIGGER_SYM",
++ "TRIM", "TRUE_SYM", "TRUNCATE_SYM", "TYPES_SYM", "TYPE_SYM",
++ "UDF_RETURNS_SYM", "ULONGLONG_NUM", "UNCOMMITTED_SYM", "UNDEFINED_SYM",
++ "UNDERSCORE_CHARSET", "UNDOFILE_SYM", "UNDO_BUFFER_SIZE_SYM", "UNDO_SYM",
++ "UNICODE_SYM", "UNINSTALL_SYM", "UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM",
++ "UNLOCK_SYM", "UNSIGNED", "UNTIL_SYM", "UPDATE_SYM", "UPGRADE_SYM",
++ "USAGE", "USER", "USER_STATS_SYM", "USE_FRM", "USE_SYM", "USING",
++ "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM", "VALUES",
++ "VALUE_SYM", "VARBINARY", "VARCHAR", "VARIABLES", "VARIANCE_SYM",
++ "VARYING", "VAR_SAMP_SYM", "VIA_SYM", "VIEW_SYM", "VIRTUAL_SYM",
++ "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WHEN_SYM", "WHERE", "WHILE_SYM",
++ "WITH", "WITH_CUBE_SYM", "WITH_ROLLUP_SYM", "WORK_SYM", "WRAPPER_SYM",
++ "WRITE_SYM", "X509_SYM", "XA_SYM", "XML_SYM", "XOR", "YEAR_MONTH_SYM",
++ "YEAR_SYM", "ZEROFILL", "IMPOSSIBLE_ACTION", "'='", "'>'", "'<'", "'|'",
++ "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "'('", "')'",
++ "','", "'!'", "'{'", "'}'", "';'", "'@'", "'.'", "':'", "$accept",
++ "query", "$@1", "opt_end_of_input", "verb_clause", "statement",
++ "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute",
++ "$@2", "execute_using", "execute_var_list", "execute_var_ident", "help",
++ "$@3", "change", "$@4", "master_defs", "master_def",
++ "ignore_server_id_list", "ignore_server_id", "master_file_def", "create",
++ "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "server_def",
++ "server_options_list", "server_option", "event_tail", "$@11",
++ "ev_schedule_time", "$@12", "opt_ev_status", "ev_starts", "ev_ends",
++ "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment",
++ "ev_sql_stmt", "$@13", "ev_sql_stmt_inner", "clear_privileges",
++ "sp_name", "sp_a_chistics", "sp_c_chistics", "sp_chistic",
++ "sp_c_chistic", "sp_suid", "call", "$@14", "opt_sp_cparam_list",
++ "opt_sp_cparams", "sp_cparams", "sp_fdparam_list", "sp_fdparams",
++ "sp_init_param", "sp_fdparam", "sp_pdparam_list", "sp_pdparams",
++ "sp_pdparam", "sp_opt_inout", "sp_proc_stmts", "sp_proc_stmts1",
++ "sp_decls", "sp_decl", "$@15", "$@16", "sp_cursor_stmt", "$@17",
++ "sp_handler_type", "sp_hcond_list", "sp_hcond_element", "sp_cond",
++ "sqlstate", "opt_value", "sp_hcond", "signal_stmt", "signal_value",
++ "opt_signal_value", "opt_set_signal_information",
++ "signal_information_item_list", "signal_allowed_expr",
++ "signal_condition_information_item_name", "resignal_stmt",
++ "sp_decl_idents", "sp_opt_default", "sp_proc_stmt", "sp_proc_stmt_if",
++ "$@18", "sp_proc_stmt_statement", "$@19", "sp_proc_stmt_return", "$@20",
++ "sp_proc_stmt_unlabeled", "$@21", "sp_proc_stmt_leave",
++ "sp_proc_stmt_iterate", "sp_proc_stmt_open", "sp_proc_stmt_fetch",
++ "$@22", "sp_proc_stmt_close", "sp_opt_fetch_noise", "sp_fetch_list",
++ "sp_if", "$@23", "$@24", "$@25", "sp_elseifs", "case_stmt_specification",
++ "simple_case_stmt", "$@26", "$@27", "searched_case_stmt", "$@28",
++ "simple_when_clause_list", "searched_when_clause_list",
++ "simple_when_clause", "$@29", "$@30", "searched_when_clause", "$@31",
++ "$@32", "else_clause_opt", "sp_labeled_control", "$@33", "sp_opt_label",
++ "sp_labeled_block", "$@34", "sp_unlabeled_block", "$@35",
++ "sp_block_content", "$@36", "sp_unlabeled_control", "$@37", "$@38",
++ "$@39", "trg_action_time", "trg_event", "change_tablespace_access",
++ "change_tablespace_info", "tablespace_info", "opt_logfile_group_name",
++ "alter_tablespace_info", "logfile_group_info",
++ "alter_logfile_group_info", "add_log_file", "change_ts_option_list",
++ "$@40", "change_ts_options", "change_ts_option",
++ "tablespace_option_list", "tablespace_options", "tablespace_option",
++ "alter_tablespace_option_list", "alter_tablespace_options",
++ "alter_tablespace_option", "logfile_group_option_list",
++ "logfile_group_options", "logfile_group_option",
++ "alter_logfile_group_option_list", "alter_logfile_group_options",
++ "alter_logfile_group_option", "ts_datafile", "lg_undofile",
++ "lg_redofile", "tablespace_name", "logfile_group_name", "ts_access_mode",
++ "opt_ts_initial_size", "opt_ts_autoextend_size", "opt_ts_max_size",
++ "opt_ts_extent_size", "opt_ts_undo_buffer_size",
++ "opt_ts_redo_buffer_size", "opt_ts_nodegroup", "opt_ts_comment",
++ "opt_ts_engine", "opt_ts_wait", "ts_wait", "size_number", "create2",
++ "create2a", "$@41", "$@42", "create3", "$@43", "$@44",
++ "opt_create_partitioning", "opt_partitioning", "partitioning", "$@45",
++ "have_partitioning", "partition_entry", "$@46", "partition",
++ "part_type_def", "$@47", "opt_linear", "opt_key_algo", "part_field_list",
++ "part_field_item_list", "part_field_item", "part_column_list",
++ "part_func", "sub_part_func", "opt_num_parts", "opt_sub_part", "$@48",
++ "$@49", "sub_part_field_list", "sub_part_field_item", "part_func_expr",
++ "opt_num_subparts", "part_defs", "part_def_list", "part_definition",
++ "$@50", "part_name", "opt_part_values", "$@51", "$@52", "part_func_max",
++ "part_values_in", "part_value_list", "part_value_item", "$@53", "$@54",
++ "part_value_item_list", "part_value_expr_item", "opt_sub_partition",
++ "sub_part_list", "sub_part_definition", "$@55", "sub_name",
++ "opt_part_options", "opt_part_option_list", "opt_part_option",
++ "create_select", "$@56", "$@57", "opt_as", "opt_create_database_options",
++ "create_database_options", "create_database_option", "opt_table_options",
++ "table_options", "table_option", "opt_if_not_exists",
++ "opt_create_table_options", "create_table_options_space_separated",
++ "create_table_options", "create_table_option", "$@58", "default_charset",
++ "default_collation", "storage_engines", "known_storage_engines",
++ "row_types", "merge_insert_types", "opt_select_from", "udf_type",
++ "create_field_list", "field_list", "field_list_item", "column_def",
++ "key_def", "$@59", "$@60", "$@61", "$@62", "opt_check_constraint",
++ "check_constraint", "opt_constraint", "constraint", "field_spec", "$@63",
++ "field_def", "@64", "opt_generated_always", "vcol_opt_specifier",
++ "vcol_opt_attribute", "vcol_opt_attribute_list", "vcol_attribute",
++ "parse_vcol_expr", "virtual_column_func", "type", "$@65", "$@66",
++ "spatial_type", "char", "nchar", "varchar", "nvarchar", "int_type",
++ "real_type", "float_options", "precision", "field_options",
++ "field_opt_list", "field_option", "field_length", "opt_field_length",
++ "opt_precision", "opt_attribute", "opt_attribute_list", "attribute",
++ "type_with_opt_collate", "now_or_signed_literal", "hex_num_or_string",
++ "charset", "charset_name", "charset_name_or_default",
++ "opt_load_data_charset", "old_or_new_charset_name",
++ "old_or_new_charset_name_or_default", "collation_name", "opt_collate",
++ "collation_name_or_default", "opt_default", "ascii", "unicode",
++ "opt_binary", "opt_bin_mod", "opt_primary", "references", "opt_ref_list",
++ "ref_list", "opt_match_clause", "opt_on_update_delete", "delete_option",
++ "normal_key_type", "constraint_key_type", "key_or_index",
++ "opt_key_or_index", "keys_or_index", "opt_unique", "fulltext", "spatial",
++ "init_key_options", "key_alg", "normal_key_options",
++ "fulltext_key_options", "spatial_key_options", "normal_key_opts",
++ "spatial_key_opts", "fulltext_key_opts", "key_using_alg", "all_key_opt",
++ "normal_key_opt", "spatial_key_opt", "fulltext_key_opt",
++ "btree_or_rtree", "key_list", "key_part", "opt_ident", "opt_component",
++ "string_list", "alter", "$@67", "$@68", "$@69", "$@70", "$@71", "$@72",
++ "$@73", "ev_alter_on_schedule_completion", "opt_ev_rename_to",
++ "opt_ev_sql_stmt", "ident_or_empty", "alter_commands", "$@74", "$@75",
++ "$@76", "remove_partitioning", "all_or_alt_part_name_list",
++ "add_partition_rule", "$@77", "add_part_extra", "reorg_partition_rule",
++ "$@78", "reorg_parts_rule", "$@79", "alt_part_name_list",
++ "alt_part_name_item", "alter_list", "add_column", "alter_list_item",
++ "$@80", "$@81", "$@82", "opt_column", "opt_ignore", "alter_options",
++ "$@83", "alter_options_part2", "alter_option_list", "alter_option",
++ "opt_restrict", "opt_place", "opt_to", "slave", "$@84", "$@85", "start",
++ "start_transaction_opts", "slave_thread_opts", "$@86",
++ "slave_thread_opt_list", "slave_thread_opt", "slave_until",
++ "slave_until_opts", "checksum", "$@87", "opt_checksum_type",
++ "repair_table_or_view", "$@88", "repair", "$@89", "opt_mi_repair_type",
++ "mi_repair_types", "mi_repair_type", "opt_view_repair_type", "analyze",
++ "$@90", "binlog_base64_event", "check_view_or_table", "$@91", "check",
++ "$@92", "opt_mi_check_type", "mi_check_types", "mi_check_type",
++ "opt_view_check_type", "optimize", "$@93", "opt_no_write_to_binlog",
++ "rename", "$@94", "rename_list", "table_to_table_list", "table_to_table",
++ "keycache", "$@95", "keycache_list_or_parts", "keycache_list",
++ "assign_to_keycache", "assign_to_keycache_parts", "key_cache_name",
++ "preload", "$@96", "preload_list_or_parts", "preload_list",
++ "preload_keys", "preload_keys_parts", "adm_partition", "$@97",
++ "cache_keys_spec", "$@98", "cache_key_list_or_empty",
++ "opt_ignore_leaves", "select", "select_init", "select_paren",
++ "select_paren_derived", "select_init2", "$@99", "select_part2", "$@100",
++ "$@101", "select_into", "select_from", "select_options",
++ "select_option_list", "select_option", "select_lock_type",
++ "select_item_list", "select_item", "remember_name", "remember_end",
++ "select_alias", "opt_time_precision", "optional_braces", "expr",
++ "bool_pri", "predicate", "bit_expr", "or", "and", "not", "not2",
++ "comp_op", "all_or_any", "opt_dyncol_type", "dyncol_type",
++ "dyncall_create_element", "dyncall_create_list", "simple_expr",
++ "function_call_keyword", "function_call_nonkeyword",
++ "function_call_conflict", "geometry_function", "function_call_generic",
++ "@102", "fulltext_options", "opt_natural_language_mode",
++ "opt_query_expansion", "opt_udf_expr_list", "udf_expr_list", "udf_expr",
++ "sum_expr", "$@103", "$@104", "$@105", "variable", "$@106",
++ "variable_aux", "opt_distinct", "opt_gconcat_separator",
++ "opt_gorder_clause", "$@107", "gorder_list", "in_sum_expr", "$@108",
++ "cast_type", "$@109", "opt_expr_list", "expr_list", "ident_list_arg",
++ "ident_list", "opt_expr", "opt_else", "when_list", "table_ref",
++ "join_table_list", "esc_table_ref", "derived_table_list", "join_table",
++ "$@110", "$@111", "$@112", "$@113", "$@114", "$@115", "$@116",
++ "normal_join", "table_factor", "$@117", "select_derived_union", "$@118",
++ "$@119", "select_init2_derived", "select_part2_derived", "$@120",
++ "$@121", "select_derived", "$@122", "select_derived2", "$@123", "$@124",
++ "get_select_lex", "select_derived_init", "opt_outer",
++ "index_hint_clause", "index_hint_type", "index_hint_definition", "$@125",
++ "$@126", "index_hints_list", "opt_index_hints_list", "$@127",
++ "opt_key_definition", "$@128", "opt_key_usage_list", "key_usage_element",
++ "key_usage_list", "using_list", "interval", "interval_time_stamp",
++ "date_time_type", "table_alias", "opt_table_alias", "opt_all",
++ "where_clause", "$@129", "having_clause", "$@130", "opt_escape",
++ "group_clause", "group_list", "olap_opt", "alter_order_clause",
++ "alter_order_list", "alter_order_item", "opt_order_clause",
++ "order_clause", "$@131", "order_list", "order_dir",
++ "opt_limit_clause_init", "opt_limit_clause", "limit_clause",
++ "limit_options", "limit_option", "limit_rows_option",
++ "delete_limit_clause", "int_num", "ulong_num", "real_ulong_num",
++ "ulonglong_num", "real_ulonglong_num", "dec_num_error", "dec_num",
++ "choice", "procedure_clause", "$@132", "procedure_list",
++ "procedure_list2", "procedure_item", "select_var_list_init", "$@133",
++ "select_var_list", "select_var_ident", "into", "$@134",
++ "into_destination", "$@135", "$@136", "do", "$@137", "drop", "$@138",
++ "$@139", "$@140", "table_list", "table_name", "table_alias_ref_list",
++ "table_alias_ref", "if_exists", "opt_temporary", "insert", "$@141",
++ "$@142", "replace", "$@143", "$@144", "insert_lock_option",
++ "replace_lock_option", "insert2", "insert_table", "insert_field_spec",
++ "$@145", "fields", "insert_values", "$@146", "$@147", "values_list",
++ "ident_eq_list", "ident_eq_value", "equal", "opt_equal", "no_braces",
++ "$@148", "opt_values", "values", "expr_or_default", "opt_insert_update",
++ "$@149", "update", "$@150", "$@151", "update_list", "update_elem",
++ "insert_update_list", "insert_update_elem", "opt_low_priority", "delete",
++ "$@152", "single_multi", "$@153", "$@154", "$@155", "table_wild_list",
++ "table_wild_one", "opt_wild", "opt_delete_options", "opt_delete_option",
++ "truncate", "$@156", "opt_table_sym", "opt_profile_defs", "profile_defs",
++ "profile_def", "opt_profile_args", "show", "$@157", "show_param",
++ "$@158", "$@159", "show_engine_param", "master_or_binary", "opt_storage",
++ "opt_db", "opt_full", "from_or_in", "binlog_in", "binlog_from",
++ "wild_and_where", "describe", "$@160", "$@161", "describe_command",
++ "opt_extended_describe", "opt_describe_column", "flush", "$@162",
++ "flush_options", "$@163", "$@164", "opt_with_read_lock",
++ "flush_options_list", "flush_option", "opt_table_list",
++ "optional_flush_tables_arguments", "reset", "$@165", "reset_options",
++ "reset_option", "$@166", "slave_reset_options", "purge", "$@167",
++ "purge_options", "purge_option", "kill", "$@168", "kill_type",
++ "kill_option", "kill_expr", "use", "load", "$@169", "$@170", "$@171",
++ "$@172", "data_or_xml", "opt_local", "load_data_lock", "opt_duplicate",
++ "opt_field_term", "field_term_list", "field_term", "opt_line_term",
++ "line_term_list", "line_term", "opt_xml_rows_identified_by",
++ "opt_ignore_lines", "lines_or_rows", "opt_field_or_var_spec",
++ "fields_or_vars", "field_or_var", "opt_load_data_set_spec",
++ "load_data_set_list", "load_data_set_elem", "text_literal",
++ "text_string", "param_marker", "signed_literal", "literal",
++ "NUM_literal", "insert_ident", "table_wild", "order_ident",
++ "simple_ident", "simple_ident_nospvar", "simple_ident_q", "field_ident",
++ "table_ident", "table_ident_opt_wild", "table_ident_nodb", "IDENT_sys",
++ "TEXT_STRING_sys", "TEXT_STRING_literal", "TEXT_STRING_filesystem",
++ "ident", "label_ident", "ident_or_text", "user", "keyword", "keyword_sp",
++ "set", "$@173", "opt_option", "option_value_list", "option_type_value",
++ "$@174", "option_type", "option_type2", "opt_var_type",
++ "opt_var_ident_type", "ext_option_value", "sys_option_value",
++ "option_value", "internal_variable_name", "isolation_types",
++ "text_or_password", "set_expr_or_default", "lock", "$@175",
++ "table_or_tables", "table_lock_list", "table_lock", "lock_option",
++ "unlock", "$@176", "handler", "$@177", "handler_read_or_scan",
++ "handler_scan_function", "handler_rkey_function", "$@178",
++ "handler_rkey_mode", "revoke", "revoke_command", "grant",
++ "grant_command", "opt_table", "grant_privileges", "opt_privileges",
++ "object_privilege_list", "object_privilege", "$@179", "$@180", "$@181",
++ "$@182", "opt_and", "require_list", "require_list_element",
++ "grant_ident", "user_list", "grant_list", "via_or_with", "using_or_as",
++ "grant_user", "opt_column_list", "column_list", "column_list_id",
++ "require_clause", "grant_options", "opt_grant_option",
++ "grant_option_list", "grant_option", "begin", "$@183", "opt_work",
++ "opt_chain", "opt_release", "opt_savepoint", "commit", "rollback",
++ "savepoint", "release", "union_clause", "union_list", "$@184",
++ "union_opt", "opt_union_order_or_limit", "union_order_or_limit", "$@185",
++ "order_or_limit", "union_option", "query_specification",
++ "query_expression_body", "$@186", "subselect", "subselect_start",
++ "subselect_end", "opt_query_expression_options",
++ "query_expression_option_list", "query_expression_option",
++ "view_or_trigger_or_sp_or_event", "definer_tail", "no_definer_tail",
++ "definer_opt", "no_definer", "definer", "view_replace_or_algorithm",
++ "view_replace", "view_algorithm", "view_suid", "view_tail", "$@187",
++ "view_list_opt", "view_list", "view_select", "$@188", "view_select_aux",
++ "view_check_option", "trigger_tail", "$@189", "$@190", "$@191",
++ "udf_tail", "sf_tail", "$@192", "$@193", "$@194", "$@195", "$@196",
++ "sp_tail", "$@197", "$@198", "$@199", "$@200", "xa", "xid",
++ "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend",
++ "$@201", "opt_migrate", "install", "uninstall", "keep_gcc_happy", YY_NULLPTR
++};
++#endif
++
++# ifdef YYPRINT
++/* YYTOKNUM[NUM] -- (External) token number corresponding to the
++ (internal) symbol number NUM (which must be that of a token). */
++static const yytype_uint16 yytoknum[] =
++{
++ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
++ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
++ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
++ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, 338, 339, 340, 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, 562, 563, 564,
++ 565, 566, 567, 568, 569, 570, 571, 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, 601, 602, 603, 604,
++ 605, 606, 607, 608, 609, 610, 611, 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,
++ 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
++ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
++ 665, 666, 667, 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, 699, 700, 701, 702, 703, 704,
++ 705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
++ 715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
++ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
++ 735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
++ 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
++ 755, 756, 757, 758, 759, 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, 791, 792, 793, 794,
++ 795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
++ 805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
++ 815, 816, 817, 818, 819, 820, 821, 822, 823, 824,
++ 825, 826, 827, 828, 829, 830, 831, 832, 833, 834,
++ 835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
++ 845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
++ 855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
++ 865, 866, 867, 868, 869, 870, 871, 61, 62, 60,
++ 124, 38, 45, 43, 42, 47, 37, 94, 126, 40,
++ 41, 44, 33, 123, 125, 59, 64, 46, 58
++};
++# endif
++
++#define YYPACT_NINF -3798
++
++#define yypact_value_is_default(Yystate) \
++ (!!((Yystate) == (-3798)))
++
++#define YYTABLE_NINF -2585
++
++#define yytable_value_is_error(Yytable_value) \
++ 0
++
++ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
++ STATE-NUM. */
++static const int yypact[] =
++{
++ 4773, 2110, 1213, -3798, -167, 171, 48419, 85, 624, -3798,
++ -197, 3616, -3798, -3798, -3798, -3798, -3798, 3399, -3798, 48419,
++ 1213, -3798, 24653, -3798, -3798, -59, -3798, 112, 624, 1213,
++ 400, -3798, 48419, -3798, 669, 1467, 1213, -3798, -3798, 43555,
++ -3798, -197, 48419, -3798, 721, -3798, 43555, 1119, -145, 668,
++ 681, -56, -3798, -3798, 48419, 1756, -3798, 713, 1223, 1115,
++ -3798, -3798, 910, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 25268, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 714, 48419,
++ 742, 48419, 1164, 48419, 41731, 48419, 840, 841, 1272, -3798,
++ -3798, 1345, -3798, -3798, 624, -197, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 864, -3798, -3798, 1013, -3798, -3798,
++ -3798, 1651, -3798, 1547, 1353, -3798, 1397, 41731, -3798, 48419,
++ -3798, -3798, -3798, 915, -3798, 1130, -3798, 1145, 1441, 1479,
++ 1494, 84, 11527, 1509, 1509, 1509, 48419, 1538, 1509, 1509,
++ 48419, -3798, 1509, -3798, 1509, 624, -3798, -3798, 3649, 48419,
++ 1381, 167, -70, 41731, 1558, 48419, -167, 51, -3798, 1518,
++ -3798, -3798, -3798, 624, -3798, 1715, 1582, 938, 48419, -3798,
++ -3798, -3798, 1291, 922, 1218, -3798, -3798, 1304, -3798, 4179,
++ 139, -3798, -3798, -3798, 2120, -3798, -3798, 5219, 1304, -3798,
++ -3798, -3798, 1226, -3798, -3798, -3798, 48419, -167, 624, 1533,
++ -3798, -3798, 184, 184, 184, -3798, 184, -3798, 184, -3798,
++ 713, 1233, -3798, -3798, 1231, 48419, 728, 793, -3798, -3798,
++ 1241, 878, -3798, 1306, 39299, -3798, 48419, -3798, -3798, -3798,
++ -3798, 1529, -3798, -3798, -3798, 2503, -3798, 24653, -3798, -3798,
++ -3798, 841, -3798, 48419, 1399, -3798, -3798, -3798, 24653, 1281,
++ 48419, -3798, 24653, -3798, -3798, 24653, 185, -18, 1452, 48419,
++ 48419, 1726, -3798, 1945, 39299, 1484, -3798, 283, 1171, 1345,
++ 1963, -3798, 1353, -3798, 48419, 48419, 48419, -3798, -3798, -3798,
++ 44163, 84, 1337, 1362, 1367, 16591, -3798, 1370, 1387, 1405,
++ 11527, 1407, 1417, 1446, 1454, 1464, 1477, 1489, 1513, 1517,
++ 1522, 1543, 1563, 1565, 1568, 1593, 1593, 1604, 1616, 1620,
++ 1625, -80, 1627, -3798, 1637, 1643, 1645, -3798, -3798, 1652,
++ 1667, 1674, -3798, -3798, 1678, 1684, 1695, 12160, 1700, 1703,
++ 1714, -3798, 21569, 1717, 1719, 1724, 1727, 1731, 1737, 1743,
++ 1747, 1759, -3798, -3798, 11527, 1604, -3798, -3798, 1779, -3798,
++ 1784, 1788, 1798, 1824, 1826, 1833, 1835, 1837, 1839, 1849,
++ 1859, 1861, 1865, 1871, 1878, 1604, -3798, 1280, 1885, 1887,
++ 1409, 1890, -3798, 1902, -3798, 192, 1907, 1593, 1604, 1604,
++ 1921, 1926, 1932, 1942, 1948, 16591, 16591, 16591, 11527, -3798,
++ 48419, -3798, 48419, 1762, 1745, -3798, 2210, 16591, 173, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 1459, 1491, -3798, -3798,
++ -3798, -3798, -3798, 1952, 1434, 1877, 48419, 48419, 48419, 1690,
++ 48419, 48419, 41731, 1611, 48419, 39299, -3798, 1509, 1629, 3764,
++ 1816, 1672, 1704, -3798, -3798, -3798, -3798, -3798, 1869, -3798,
++ -3798, 1741, -3798, 2031, -3798, -3798, 143, -3798, 101, -3798,
++ -3798, -3798, -3798, -3798, -3798, 2132, 1653, -3798, -3798, 122,
++ -3798, -3798, 48419, -3798, -3798, -3798, -3798, 2068, 1993, -3798,
++ -3798, -3798, 919, 2535, 208, 24653, -3798, 1957, 11527, 1561,
++ -3798, -235, -3798, -3798, 2316, -3798, -3798, 39299, 24653, 1698,
++ -3798, -3798, 22186, -3798, -3798, 2547, -3798, 1984, -3798, -3798,
++ 1491, 3126, -3798, 1816, 2246, -3798, 2264, 2171, -18, 2062,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ 2011, 2120, -3798, -3798, -3798, -3798, 2471, -3798, 2170, -3798,
++ -28, -3798, 2020, 1431, -28, 39907, 2390, 1526, -3798, 392,
++ -3798, 2473, -3798, -3798, -3798, -3798, -3798, 2166, 2174, -3798,
++ -3798, 393, 1980, -3798, 2554, -3798, 739, -3798, -3798, 2229,
++ -3798, 2390, -28, 1526, -3798, 2484, 2619, 423, 1086, -3798,
++ -3798, -93, -3798, -3798, 2689, -3798, -3798, 24653, -3798, -3798,
++ -3798, 2068, -3798, -3798, -3798, -3798, 2151, -3798, 2425, 2266,
++ -3798, -3798, 24, -3798, 2164, 745, 2640, -3798, 951, 35651,
++ -3798, -3798, -3798, 2686, 2711, 1593, 2193, -3798, -3798, -3798,
++ 2833, -3798, -3798, 2216, 2738, 2738, 2738, 2857, -3798, -3798,
++ -3798, -3798, -3798, -3798, 2395, 2268, -3798, 1399, 24653, 2625,
++ 2238, -3798, -3798, 2486, 11527, -3798, -3798, 4506, 172, -3798,
++ -3798, 24653, 1804, -3798, 2822, 2458, -3798, -3798, -3798, -3798,
++ 2718, -3798, -3798, 2833, 2778, 2738, 2674, 2277, -3798, -3798,
++ -3798, -3798, -3798, -3798, 892, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, 1440, -3798, -3798, -3798, -3798, -3798, 1399, -3798,
++ 24653, -3798, -3798, -3798, 24653, -3798, 2279, -3798, 2260, -3798,
++ 11527, 11527, 308, 2827, 2897, 2897, 2897, 1762, 2312, 11527,
++ 11527, 11527, 11527, 11527, 11527, 11527, 11527, 11527, 11527, 11527,
++ 11527, 11527, 312, 2285, -3798, -3798, 1100, -3798, 2286, 11527,
++ 11527, 2389, 11527, 1491, 11527, 25883, -3798, 4211, 11527, 513,
++ 2779, 11527, 11527, 11527, 11527, 2324, 11527, 11527, 11527, 25883,
++ 2918, 2298, -3798, 2294, 993, 11527, 11527, 1326, 11527, 11527,
++ 11527, 11527, 11527, -3798, -3798, 11527, 11527, 11527, 11527, 16591,
++ 11527, 11527, 11527, 11527, 11527, 11527, 2897, 2897, 11527, 11527,
++ 1361, -3798, 11527, 1491, 2723, 2723, 11527, 1491, 8362, 11527,
++ -3798, -3798, -3798, -3798, -3798, 2304, -3798, -3798, -3798, 25883,
++ 2897, 2897, 11527, 11527, 2827, 2827, 2827, 254, 2309, 960,
++ 11527, 27113, 2307, -3798, -3798, -3798, -3798, 11527, 11527, 11527,
++ 16591, -3798, 847, -3798, -3798, -3798, -3798, -3798, 12793, 16591,
++ 16591, 2317, 16591, 16591, 16591, 16591, 16591, 2684, 16591, 16591,
++ 17224, 17857, 16591, 16591, 16591, 16591, 1466, 2827, 41731, 16591,
++ 11527, -3798, -3798, 48419, -3798, -3798, -3798, 2318, 24653, 1611,
++ -3798, -3798, 722, 2782, -3798, -3798, 2328, 24653, -3798, 2325,
++ -3798, 2692, -3798, -3798, 2693, 2694, 2696, -3798, -3798, -3798,
++ -3798, -3798, 2914, 2698, -3798, -3798, 2699, -3798, -3798, -3798,
++ -3798, 2347, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 2450,
++ -3798, -3798, -3798, 2354, -3798, 39299, 2354, -3798, -3798, 2354,
++ -3798, -3798, 2354, 39, 4184, -3798, -3798, 48419, -3798, 49027,
++ -3798, -3798, 22186, -167, -3798, -3798, 13426, -3798, -3798, -3798,
++ 2715, 331, 2357, -3798, 24653, -3798, 1762, -3798, 111, 111,
++ 2611, 135, 41731, -3798, -3798, 129, 2368, 2452, 2372, -3798,
++ 2469, -3798, -3798, 24653, 24653, -3798, -3798, -3798, -3798, 2994,
++ 922, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 2388, 2403, 2391, 39299, 962, -3798,
++ 48419, -3798, 1461, -3798, -3798, -3798, 2393, -3798, 11527, -3798,
++ 2396, -3798, 1740, 2787, -3798, -167, 11527, -3798, 2397, 1353,
++ 48419, 48419, 48419, 24653, 48419, 24653, -3798, -1, -1, -3798,
++ 36259, -3798, -3798, -3798, -3798, -28, 48419, 48419, -28, 39299,
++ -3798, 1526, 48419, -28, -3798, 2789, 2508, -3798, -3798, -3798,
++ 2855, -3798, -3798, 2846, 2405, -3798, 2787, -3798, -3798, 1526,
++ -3798, -3798, 24653, -3798, -3798, 1526, -3798, 1526, 1526, -28,
++ -28, 2465, -3798, -3798, 2414, -3798, 2465, 2568, -3798, 1186,
++ 184, 2665, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, 63, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ 155, -3798, -3798, -3798, 1853, 2922, -3798, 41731, 1390, 647,
++ 853, 1390, 2387, -167, 263, -3798, 263, -3798, 3393, 2700,
++ 194, 24653, -3798, 2431, 44771, 24653, -3798, -3798, -3798, 140,
++ 2426, 2435, 1762, 2451, 2453, 2455, 2456, 2476, 2477, 2478,
++ 2479, 2480, 2483, 2491, 2495, 2497, 2500, 2501, 2502, 2506,
++ 2507, 2444, -3798, -3798, -3798, -3798, 24653, -3798, 9, -3798,
++ -3798, -3798, 2510, -3798, -3798, -3798, -3798, 2225, -3798, -3798,
++ -3798, 164, 1822, 2475, 2530, 119, 39299, 2894, 48419, 48419,
++ 1353, 48419, 48419, -3798, -3798, 531, 2766, 2767, 2769, 2514,
++ -3798, -3798, -3798, 1271, 48419, 2940, 30176, -3798, 302, 481,
++ -3798, 2897, 2511, -3798, 2516, 2517, 2518, 11527, 218, 153,
++ 514, 1307, 1550, 731, 348, 355, -3798, 1571, 409, 465,
++ 471, 852, 473, 322, -3798, 2519, 2513, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, 2522, -3798, -3798, -3798, 483,
++ 489, 879, 899, 2525, 2526, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, 2968, -3798, 1617, -3798, -3798,
++ -3798, -3798, 2529, -3798, -3798, 1036, 559, 571, 335, 2538,
++ 1681, 630, 1696, 1720, 2534, 25883, 48419, 2897, 2544, 1082,
++ 1091, 2897, 2546, 725, 1108, 1739, 1765, 1770, 1123, 1200,
++ 794, 1776, 2740, 1212, 798, 822, 831, 891, 1214, 2548,
++ 2550, 895, 294, 2897, 2553, 339, 2537, 2555, 1227, 9628,
++ 10261, 10894, 200, 906, -3798, 2558, -3798, 2294, 2563, 2565,
++ 364, 1239, -3798, 11527, -3798, -3798, 966, 1157, 2608, 157,
++ 50, -3798, 2724, 48419, 2408, 141, -3798, -3798, -3798, -3798,
++ -3798, -3798, 1189, -3798, 2570, -3798, 2571, 1694, 2557, 11527,
++ 189, 2557, 2809, 1758, 1758, 16591, 3047, 2278, 12160, 1379,
++ 12160, 1379, 2557, 2557, 2557, -3798, 16591, 2576, 16591, 16591,
++ -3798, 2827, 1762, 2582, 839, 48419, -3798, 722, -3798, -3798,
++ -3798, -3798, 921, 39299, 100, 24653, 41731, 2583, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 4470, 24653, -3798, 48419,
++ -3798, 2669, -3798, -3798, -3798, 22801, 22801, -3798, 22801, -3798,
++ -3798, 869, 870, 2729, 2612, -3798, -3798, -3798, 29566, 1762,
++ -3798, 24653, -3798, 2988, 691, 24653, 2431, -3798, 2594, -3798,
++ -3798, -3798, -3798, -3798, 2383, 2705, -3798, 3214, -3798, 11527,
++ -167, -3798, 39299, 39299, 24653, 24653, 24653, 877, -3798, 1480,
++ -3798, -3798, -3798, 3126, 18490, 3024, 3036, 22801, 22801, 22801,
++ -3798, -3798, -3798, -3798, -3798, 1250, 1762, -3798, 2591, -3798,
++ -3798, -3798, -3798, -3798, 45379, 371, -3798, -3798, -167, 3039,
++ -3798, 1762, 2603, 48419, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, 3068, -3798, 2788,
++ -103, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -28, -3798,
++ -3798, -3798, -3798, -3798, 2835, 2390, 1980, 3039, -28, 1526,
++ 24653, -28, -28, -3798, -3798, 1432, -3798, -93, -3798, -3798,
++ -3798, -3798, 48419, 2441, 2774, -3798, 2616, -3798, -3798, 24653,
++ -3798, 2621, -3798, 3061, 3207, 2390, -3798, -3798, -3798, 921,
++ 921, 2920, -3798, -167, 2755, 2756, 2759, 2760, 2761, 2806,
++ -3798, -3798, -167, -167, -3798, -3798, 921, -3798, 897, -3798,
++ -3798, -3798, -3798, -167, -167, -167, -167, 2841, -167, -167,
++ 1809, -3798, -3798, 921, 921, -3798, 1201, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 1234, -3798, 2764, 3192, 2887, 921,
++ 921, 3192, 921, 2890, 2891, 921, 921, 2730, 3143, 921,
++ 3031, 2773, 3091, 3033, 921, -3798, 2775, 3150, 921, 921,
++ 921, 921, 3192, 2902, 3245, 921, 921, -3798, 921, 2921,
++ 2925, 144, 2927, 2928, 921, 134, 48419, 921, 921, 2929,
++ 921, -3798, -3798, 6509, -3798, -3798, -3798, -3798, -3798, -3798,
++ 786, 23419, -3798, -3798, 921, 461, -3798, 2872, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ 2677, -3798, -3798, 11527, 2682, 2841, -167, -167, 1955, -167,
++ 2841, -167, -167, -167, -167, -167, 2841, 2841, -167, 2042,
++ -167, 2841, 4506, -3798, 2736, -3798, -3798, -3798, -3798, 188,
++ 921, 921, 921, 921, -3798, 2367, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 41731, 3041, 1898, -53, -3798, -3798,
++ 41731, -3798, 48419, -3798, 1863, 48419, 2691, -165, 3564, 181,
++ 181, -3798, 24653, 24653, 24653, 48419, 2739, 2612, 30176, -3798,
++ -3798, 1186, -3798, 2681, 14059, -3798, 2695, -3798, 11527, -3798,
++ -3798, -3798, 401, 11527, 11527, 3169, 2311, -3798, 40515, -3798,
++ -3798, -3798, 11527, 11527, -3798, 11527, 11527, 11527, 11527, -3798,
++ 11527, 40515, 2311, 11527, -3798, 2697, -3798, 3092, 3098, -3798,
++ -3798, -3798, -3798, 11527, -3798, 11527, 11527, -3798, 11527, 11527,
++ 11527, 11527, -3798, 11527, -3798, -3798, 16591, -3798, 2701, 2710,
++ -3798, -3798, -3798, 2719, -3798, 11527, -3798, -3798, -3798, -3798,
++ -3798, -3798, 11527, -3798, 11527, -3798, 11527, 11527, 11527, 11527,
++ -3798, -3798, -3798, 14692, 11527, 11527, 2727, -3798, -3798, 11527,
++ 11527, 11527, -3798, 11527, 1162, 11527, 1778, 11527, 1780, 11527,
++ -3798, 11527, -3798, -3798, -3798, -3798, 11527, -3798, 1811, -3798,
++ -3798, 2263, -3798, 966, 2741, -3798, -3798, 1461, -3798, -3798,
++ 2704, 2717, 2722, 41731, 11527, -3798, -3798, -3798, -3798, -3798,
++ -3798, 16591, 411, 2742, 16591, -3798, 2809, 2324, 2324, 2195,
++ 11527, 189, 2809, 11527, 2743, 2744, -3798, 11527, 48419, -3798,
++ -3798, -3798, -3798, -3798, -3798, 41731, -3798, -3798, -3798, -3798,
++ 100, -3798, 2325, -3798, 2431, -3798, -3798, 1828, -3798, 39299,
++ 2732, -3798, 2733, 2781, 2829, 2830, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 2390, 1480,
++ -3798, -3798, 2748, -3798, -3798, 2486, 2843, 2785, 3109, 3294,
++ -3798, -3798, 48419, 16591, -3798, 3347, 2768, 2771, 2786, 2776,
++ 1762, -3798, 2847, -3798, -3798, -3798, 41, -3798, -3798, -3798,
++ -3798, -3798, 62, -3798, -3798, 2780, 2780, 20337, -3798, -3798,
++ -3798, 2793, 1117, 1117, 1117, -3798, -3798, -3798, -3798, 3029,
++ 39299, 3213, 3220, 3221, 951, -3798, 377, -3798, 1025, 3174,
++ 2390, -3798, 3224, 42339, -3798, 30784, -3798, 2790, 3172, 2791,
++ 921, 32608, 746, 27727, 36867, -3798, -3798, 1955, -3798, 311,
++ -3798, 37475, 3253, 37475, 37475, -3798, 3069, -3798, -3798, -3798,
++ -3798, 2612, 1526, -3798, -3798, -3798, 2792, -3798, -3798, 1104,
++ 3188, 3191, -3798, 3071, 42, 3071, 1104, 1104, 25883, 1186,
++ 2468, -3798, 2841, 3123, -3798, -3798, -3798, 41123, 38083, -3798,
++ -3798, -3798, -3798, 3333, -3798, 3334, 199, -3798, -3798, 2642,
++ 853, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 2387, 2642, 2642, 263,
++ -3798, 118, -3798, -3798, -3798, -3798, -3798, 26498, 1213, -3798,
++ 637, -3798, 26498, -3798, 140, 140, -3798, 26498, 1213, 1955,
++ 2841, 26498, 2841, 45987, 1213, -167, -167, 2443, 921, 2841,
++ -3798, -3798, 3199, 48419, 3200, 26498, 26498, -3798, 41731, -3798,
++ 921, 127, 2841, 1955, 1955, 26498, 1213, 25883, 1975, 2676,
++ -3798, -167, 1213, -3798, -3798, -3798, -3798, 24653, 1213, 1213,
++ 2961, -3798, -3798, -3798, 2841, 2676, 45987, -3798, -3798, 6256,
++ -3798, -3798, -3798, 19722, 48419, 287, 881, -3798, 2816, 33827,
++ 652, 278, 2906, 880, 2834, 2836, 46595, 1762, 2841, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -167, 2383, 2642, 2642, 1822, -3798, 3100,
++ 3260, 921, -3798, 2111, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, 2931, -3798, 133, 3022, 2842, -3798, -3798,
++ 282, -3798, -3798, 1132, 24653, 19107, -3798, 3084, -3798, 3080,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 2837,
++ 1186, 3102, 1457, 2612, 2849, -3798, 12160, 1249, -3798, 1762,
++ 11527, 1762, 1324, -3798, 2850, 2850, 2850, -3798, 2851, -3798,
++ -3798, 2850, 3236, 2850, 3241, 2852, -3798, 2856, -3798, 1875,
++ 1273, -3798, 1894, 1264, 1735, 1269, 2858, 2862, 1459, -3798,
++ 11527, 11527, 1305, 1309, 603, 929, 940, 448, -3798, 1317,
++ 2765, -3798, -3798, 1333, 1365, 1371, 1395, 946, 1411, 1916,
++ 12160, 1419, 232, 450, -3798, 1421, 975, 998, 1430, 11527,
++ 1442, 11527, 1483, 11527, 1496, 1498, 1503, -3798, 2011, 2263,
++ -3798, -3798, 2866, -3798, -3798, -3798, -3798, -3798, 2860, 1762,
++ 2868, -3798, -3798, 11527, -3798, 173, -3798, -3798, 16591, 460,
++ 2871, -3798, 1762, -3798, -3798, 2873, 1459, -3798, -3798, -3798,
++ -3798, -3798, 2881, -3798, 48419, -241, 2863, 31392, 39299, 39299,
++ 39299, 2875, 11527, -3798, -3798, 3142, 24653, -3798, 3281, -3798,
++ -3798, -3798, -3798, -3798, 2876, 2878, -3798, -3798, -3798, 2809,
++ 3244, 3127, -3798, -3798, 2383, 48419, 39299, 3179, -3798, -3798,
++ 2120, 25883, -3798, 2883, -3798, 2883, 1081, 2886, 1918, -3798,
++ -3798, -3798, 2888, 2062, 18490, 3327, 2328, 39299, 39299, 39299,
++ -3798, 2612, 2612, 137, 2945, 3284, -3798, -3798, -3798, -3798,
++ 47203, -3798, -3798, -3798, -3798, 941, 48419, 3267, 48419, 8995,
++ -3798, -3798, 3462, 11527, 39299, -82, 50, 921, -3798, -3798,
++ -3798, -3798, -3798, -3798, 2390, -3798, -3798, -3798, -3798, 37475,
++ -3798, -3798, -3798, 2390, -3798, -28, 1432, -210, 1157, -3798,
++ 2346, -3798, -3798, -3798, 3285, 1104, 3071, 3071, 3287, 3177,
++ 985, 2908, -3798, 921, -3798, -3798, -3798, 2120, -3798, -3798,
++ 11527, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, 1234, -3798, -3798, -3798, -3798, 2911, 3290,
++ 3292, 140, -3798, 26498, -3798, -3798, 26498, 26498, 102, 45987,
++ -3798, -3798, -3798, -3798, -3798, -3798, 2916, -3798, -3798, 2383,
++ -3798, -3798, 38083, -167, -3798, 26498, 2916, -3798, -3798, 435,
++ -3798, -167, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ 45987, 2923, -3798, 1413, -3798, -3798, -3798, -3798, -3798, 1715,
++ -3798, 45987, -3798, -3798, 45987, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 2924, 2678, 2595, -3798,
++ 2915, 2933, -3798, -3798, -3798, -3798, 48419, -3798, -3798, 24653,
++ -3798, -3798, -3798, 6264, 48419, -3798, -3798, -3798, -3798, 3151,
++ -3798, 11527, 11527, 3198, 48419, 3202, -3798, 3469, 48419, 3540,
++ 45987, -3798, 2938, -3798, 2939, -3798, 1933, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 2943, 48419, 2642, 1898, -3798, -3798,
++ -3798, -3798, -167, 1132, -3798, -3798, -3798, -3798, 3209, 3216,
++ 48419, -3798, -3798, -3798, -3798, 3085, -3798, 24653, 3530, -3798,
++ 3114, -3798, 2949, 814, 5178, -3798, 2953, 2954, 2955, 30176,
++ 2612, 3319, -3798, -3798, 2324, -3798, 1762, 11527, 1037, -3798,
++ -3798, 266, -3798, 1040, -3798, -3798, -3798, 2959, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, 2750, -3798, -3798, -3798, 2311,
++ -3798, -3798, -3798, 2964, 2324, 2324, -3798, -3798, 3548, 3130,
++ 11527, 11527, -3798, 11527, -3798, 202, 2970, 2998, -3798, -3798,
++ -3798, -3798, 11527, -3798, -3798, 2324, -3798, 11527, -3798, -3798,
++ 11527, -3798, 11527, 11527, -3798, 1508, -3798, 1546, -3798, 1588,
++ -3798, -3798, -3798, 2393, -3798, -3798, 960, 48419, -3798, -3798,
++ 1961, -3798, -3798, 11527, -3798, 42339, -3798, -3798, 3187, -3798,
++ -3798, 3401, -3798, -3798, -3798, -160, -160, -160, 15325, 1762,
++ 3457, -3798, -3798, -3798, 3281, 3348, -3798, 30, -3798, 48419,
++ 2976, 136, -3798, 1973, -3798, -3798, 2979, -3798, -3798, 2011,
++ 2980, -3798, 921, 15325, 2780, 3114, -3798, -3798, 1081, 25883,
++ 30784, -3798, -3798, 39299, 2328, 2328, 2328, 2390, 3406, 2843,
++ 2843, -3798, 28341, -3798, -3798, 3140, -3798, -3798, 32000, -3798,
++ 1712, -3798, -3798, 16591, 1637, -3798, 1762, -3798, 41123, -3798,
++ 1762, 921, 2987, 2989, -3798, -3798, 47811, 11527, -3798, -3798,
++ -3798, -3798, -3798, 1461, 2926, -3798, 1186, -3798, 1104, -3798,
++ 3368, 3371, 1104, -3798, -3798, -3798, 25883, 2612, 15325, -3798,
++ 43, 2011, 1762, 2997, 1413, -3798, 579, 11527, 26498, -3798,
++ -3798, -3798, 2996, -3798, -3798, 3502, 3504, -3798, 26498, 2225,
++ 48419, -3798, 3462, -3798, -3798, -3798, -3798, 6264, -3798, 25883,
++ -3798, -3798, -3798, -3798, -3798, 48419, -3798, 24653, -3798, 19722,
++ -3798, 3004, -3798, 2850, 2850, 2850, -3798, -3798, -3798, 2850,
++ -3798, 2851, 3238, -3798, 2851, 2851, -3798, -3798, -3798, -3798,
++ -3798, 266, 2139, -3798, -3798, 266, -3798, -3798, -3798, 190,
++ 529, 2851, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 2850,
++ 2850, 2850, -3798, -3798, 266, 2850, -3798, 2850, -3798, 2494,
++ -3798, 326, 131, 2850, 2850, 2850, 2959, 2999, -3798, 1762,
++ 2324, 3551, -3798, -3798, 3156, -167, 3496, -3798, 1983, -3798,
++ 3012, -3798, 46595, -3798, 2841, 2387, -3798, -3798, -3798, -3798,
++ 3155, 801, -3798, 3186, 3017, 3019, -3798, -3798, -167, 3018,
++ 3021, -3798, -3798, -3798, -3798, 3633, -3798, 48419, 48419, 48419,
++ 2681, -3798, 38691, -3798, 646, 1762, 3023, 3025, 3026, 3028,
++ 3626, 197, -3798, 3629, 40515, -3798, -3798, -3798, 1996, 3309,
++ -3798, -3798, 2850, -3798, 2851, -3798, -3798, -3798, 3605, -3798,
++ -3798, 2850, 3427, 266, -3798, -3798, 3046, -3798, 3052, 3053,
++ -3798, 184, 3054, 1598, 1031, 2016, 3353, 3431, -3798, 3276,
++ -3798, 1607, 1052, 1639, 1641, 1648, 1655, -3798, -3798, -3798,
++ 150, 1157, -3798, -3798, 2028, -3798, 3413, 3322, 1105, 3088,
++ 3088, 3088, 1637, 1762, 2030, -3798, -3798, -3798, -3798, 3454,
++ -3798, -3798, 3065, 3214, 48419, -3798, 3127, -3798, 2393, 25883,
++ 15325, 3066, 3067, -3798, 745, -3798, -3798, 3062, 2328, -3798,
++ 3653, 3492, -3798, -3798, 41731, 3072, -3798, -3798, 3378, -3798,
++ 138, 3289, -3798, -3798, -3798, -82, 3168, 3170, 921, 1762,
++ -3798, -3798, 2616, 2753, 3124, 1104, 1104, 3229, 3128, 11527,
++ 11527, 3083, -3798, 3102, -3798, -3798, 361, 2393, 11527, -3798,
++ 2383, 3127, -3798, 1668, 3087, 3089, 48419, 3097, 3099, -3798,
++ 3695, 287, -3798, -3798, -3798, -3798, 1213, -3798, -3798, 2916,
++ 62, 3079, -3798, 48419, 3412, -3798, -3798, -3798, -3798, 875,
++ -3798, 3101, 875, 875, -3798, 2170, -3798, 3122, 266, -3798,
++ -3798, 3125, -3798, -3798, -3798, 875, 3103, 266, -3798, -3798,
++ -3798, -3798, 875, -3798, 41731, -167, 3562, 3706, -3798, 3154,
++ -3798, 3606, 3483, 3717, -3798, 2208, -3798, 3485, 3384, 921,
++ -3798, 266, -3798, -3798, 3707, -3798, 266, 3707, 875, 875,
++ 48419, -3798, -3798, -3798, -3798, -3798, -3798, 48419, -3798, 1126,
++ -3798, -3798, -3798, 2034, -167, -3798, -3798, -3798, 3110, 3113,
++ -3798, -3798, -3798, 278, -3798, 48419, 6264, -3798, -3798, -3798,
++ 6509, -3798, 1127, 2038, 1413, 3116, 2048, 2050, 3580, 3296,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 40515, -3798,
++ 3707, 3396, 3129, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, 11527, -3798, -3798, -3798, 11527, -3798, -3798, 3429,
++ 3581, -3798, -3798, -3798, -3798, -3798, -3798, 1025, 1025, -3798,
++ -3798, -3798, 3738, -3798, 3219, 3222, -3798, -3798, 3225, -3798,
++ -3798, 115, 2267, -3798, -3798, -3798, -3798, 15325, 3505, 3233,
++ -3798, -3798, 3136, 3180, -3798, -3798, 150, -3798, -3798, -3798,
++ -3798, 11527, -3798, 3102, 2443, -3798, 28341, -3798, -3798, -3798,
++ -3798, -3798, 3137, 3138, 8995, 960, -3798, 3193, -3798, -3798,
++ -3798, 3195, 1762, 1762, 48419, 3319, -3798, -3798, 140, 140,
++ -3798, 361, 150, 1413, -3798, 2058, -3798, 48419, 48419, 2064,
++ 48419, 48419, 1117, 1117, 1117, 2042, 2042, -3798, -3798, -3798,
++ 287, -3798, 3539, -3798, -3798, 2067, -3798, 69, 3409, -3798,
++ -3798, -3798, -3798, 875, -3798, 184, -3798, -3798, -3798, -3798,
++ -3798, 184, -3798, -3798, -3798, -3798, 1593, -3798, -3798, -3798,
++ 3432, 3196, -3798, -3798, -3798, -3798, -3798, 34435, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, 3279, -3798, 54499, -3798, -3798,
++ 713, 3190, -3798, -3798, -3798, 1755, 48419, 24653, 3198, 3342,
++ -3798, 3462, -3798, 745, 3084, 3114, -3798, 1767, 48419, -3798,
++ 3440, 186, 1605, -3798, 3628, -3798, -3798, 3173, 3175, 1413,
++ 1675, -3798, -3798, -3798, -3798, 3661, -3798, -3798, -3798, -3798,
++ -3798, 347, 3437, 2841, 2841, 2841, 632, 2267, -3798, -3798,
++ 3230, 24653, 16591, 3299, 48419, 1323, 3335, -3798, 1540, 1413,
++ 11527, 2390, 38083, -3798, -3798, -3798, -3798, -3798, -3798, 11527,
++ 3178, 11527, 3183, 2073, -3798, -3798, 3619, 3619, -3798, -3798,
++ -3798, -3798, 2079, 2081, -3798, 2095, 2101, -3798, -3798, -3798,
++ 3185, -3798, 48419, -3798, -3798, -3798, 221, -3798, -3798, 2105,
++ -3798, 2109, -3798, 1593, -3798, 3189, -3798, -3798, -3798, -3798,
++ 11527, 3665, 3223, 48419, 809, -3798, 55715, 55715, 48419, -3798,
++ -3798, -3798, -3798, 5779, -3798, -3798, -44, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 3791, -3798,
++ 3194, -3798, -3798, 3203, 1135, -3798, -3798, -3798, 6264, 3635,
++ 880, -3798, -3798, -3798, -3798, 814, 3204, 2062, -167, 921,
++ -3798, 1767, -3798, -3798, -3798, 921, 1413, 3206, 3456, -3798,
++ 186, -3798, -3798, -3798, 1605, -3798, -3798, -3798, -3798, 11527,
++ -3798, -3798, 3778, -3798, -3798, -3798, -3798, -3798, -3798, 83,
++ -3798, -3798, 25883, -3798, -3798, 2383, -3798, 2114, -3798, -3798,
++ -3798, 3301, 921, 921, 3704, 3708, 921, 921, 921, 921,
++ 3226, 3335, -3798, 3684, -3798, -3798, 11527, -3798, -3798, 1762,
++ 3447, -3798, 3777, 1157, 1762, 48419, 1762, 48419, -3798, 48419,
++ 912, -3798, -3798, 3430, -3798, 1767, -3798, -3798, 3127, -3798,
++ 838, 838, 266, 184, 266, -3798, -3798, 1762, 11527, -3798,
++ 11527, 3252, -3798, -3798, 3663, 48419, -3798, -3798, -3798, -3798,
++ 11527, -3798, 54499, 54499, -3798, -3798, -3798, -3798, 3826, 745,
++ 3795, 3493, 3796, 2919, -3798, -3798, 3469, 6264, -3798, -3798,
++ -3798, -3798, 2841, -3798, 35043, -3798, -3798, 1710, -3798, -3798,
++ 1413, -3798, -3798, -3798, 3235, -3798, 921, 2443, 3231, -3798,
++ -3798, 48419, 3242, -3798, -167, -167, 921, 921, 2854, 2854,
++ 2383, 41731, 3345, -3798, -3798, 921, 1413, 48419, -3798, 909,
++ 3599, -3798, 2117, 2121, -3798, 3823, -3798, 3827, 3246, 3249,
++ -3798, 1767, -3798, 186, 1605, 2126, -3798, 3868, -3798, 856,
++ 3520, 3521, -3798, -3798, -3798, 3255, 1762, 1762, -3798, 251,
++ -3798, -3798, 3643, 3732, 11527, 1762, 51459, 3254, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, 55107, 11527, -3798, -44, 3791, -3798, 3523, -3798, 3524,
++ -3798, -3798, -3798, 3752, 54499, -3798, 3750, -3798, 745, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 25883, 15325, -3798, -3798,
++ 3299, -3798, 3266, -3798, -3798, -40, -3798, -3798, -167, -167,
++ -3798, -3798, -3798, -3798, -3798, 2135, -3798, 41731, -3798, -3798,
++ 3849, 3851, 3749, 3857, 909, -3798, -163, -3798, -3798, -3798,
++ -3798, -3798, 46595, 46595, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, 3336, 3776, 750, 3310, 11527, 54499, -3798, 3754, -3798,
++ 3690, 1683, 3632, 3280, -3798, 3282, 518, 3792, 55715, 55715,
++ -3798, -3798, -3798, -3798, 3768, -3798, -3798, -3798, -3798, -3798,
++ 3468, -3798, -3798, 2172, -3798, 15958, -3798, -3798, -3798, -3798,
++ -3798, 41731, -3798, 3345, -3798, 3300, 184, 184, 3881, 184,
++ -3798, 3883, 3884, -163, -3798, 3304, 2177, 838, 838, -3798,
++ -3798, 109, -3798, 288, -3798, 1762, 52067, 3882, 48419, -3798,
++ -3798, -3798, -3798, 11527, -3798, 42947, 52675, 3302, -3798, -3798,
++ -3798, 3480, -3798, 2919, 3718, 3777, -3798, 3266, -3798, 3307,
++ -3798, 2809, 3335, -3798, -3798, 3312, -3798, -3798, 184, -3798,
++ 184, 184, -3798, -3798, -3798, -3798, -3798, -167, 3688, -3798,
++ 109, -3798, 11527, -3798, 3790, 3407, -3798, 3315, -3798, 54499,
++ 1742, 54499, -3798, -3798, 3744, 3323, 1601, -3798, 3318, -3798,
++ -3798, 54499, 3908, 3599, -3798, 15958, 3326, -3798, 11527, 3329,
++ 3330, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 1762, 3904,
++ 54499, 48419, 49635, 3526, 53283, 3775, 48419, 6264, 3779, 3781,
++ -3798, 54499, -3798, 184, 3741, -3798, -3798, 1762, -3798, -3798,
++ 3426, -3798, 50243, -3798, 2377, -3798, 3365, -3798, -3798, 3844,
++ 2995, -3798, -3798, -3798, 3618, 3351, -3798, -3798, 54499, 54499,
++ -3798, -3798, -3798, 33219, 11527, -3798, -3798, -3798, -3798, -3798,
++ 951, 7, 20952, 3509, 50851, 53891, -3798, -3798, -3798, 28955,
++ -3798, -3798, -3798, 3784, -3798, 1762, -3798, -3798, -3798, -3798,
++ -3798, 41731, 2181, -3798, -3798, 25883, -3798, 33219, -3798, -3798,
++ -3798, -3798, 24036, 3352, -3798, 921, -3798, -3798, 25883, -3798,
++ -3798, 15325, -3798, -3798
++};
++
++ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
++ Performed when YYTABLE does not specify something else to do. Zero
++ means the default is an error. */
++static const yytype_uint16 yydefact[] =
++{
++ 0, 956, 1035, 2506, 0, 0, 0, 0, 0, 1019,
++ 2508, 115, 64, 1679, 1794, 1795, 1592, 1618, 2, 0,
++ 1035, 165, 0, 76, 1620, 0, 1850, 0, 0, 1035,
++ 0, 444, 0, 1845, 0, 0, 1035, 1623, 1835, 239,
++ 165, 2508, 0, 1081, 2329, 1717, 0, 0, 0, 0,
++ 1700, 0, 2387, 1668, 0, 0, 2643, 0, 0, 3,
++ 8, 19, 0, 40, 24, 28, 14, 18, 13, 53,
++ 47, 38, 37, 10, 55, 56, 16, 44, 11, 12,
++ 15, 36, 43, 32, 39, 51, 1072, 22, 23, 29,
++ 45, 60, 20, 57, 54, 21, 1796, 25, 46, 41,
++ 33, 61, 34, 52, 35, 59, 27, 48, 26, 9,
++ 17, 49, 50, 42, 62, 30, 58, 31, 0, 890,
++ 0, 0, 0, 0, 0, 0, 0, 958, 873, 2573,
++ 2574, 2575, 1037, 1036, 0, 2508, 1962, 1015, 1046, 2034,
++ 2035, 2036, 2037, 2038, 2039, 2040, 2041, 1976, 2042, 2043,
++ 2045, 2044, 2046, 2047, 1977, 1978, 2048, 2049, 2050, 2052,
++ 2051, 2053, 1979, 1980, 2054, 2055, 2056, 2057, 1981, 1983,
++ 1982, 2058, 2061, 2060, 2059, 1984, 2062, 2063, 2064, 2066,
++ 1985, 1986, 1987, 1988, 1989, 1990, 2065, 1991, 2067, 1992,
++ 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2076, 2075, 1993,
++ 2077, 2078, 2079, 2080, 2081, 2083, 2082, 2084, 2085, 2086,
++ 1994, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 1995, 2094,
++ 2095, 2096, 2113, 1996, 2097, 2100, 2099, 2098, 2101, 2102,
++ 2103, 2105, 2104, 2106, 1997, 1998, 2107, 2108, 2109, 2111,
++ 2110, 2115, 2116, 2117, 1999, 2112, 2114, 2305, 2118, 2119,
++ 2121, 2120, 2122, 2124, 2123, 2000, 2126, 2125, 2001, 2002,
++ 2127, 2128, 1960, 2129, 1961, 2130, 2133, 2134, 2131, 2135,
++ 2140, 2003, 2132, 2136, 2137, 2138, 2139, 2141, 2004, 2143,
++ 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
++ 2163, 2156, 2158, 2159, 2161, 2157, 2162, 2166, 2165, 2167,
++ 2168, 2169, 2164, 2154, 2160, 2155, 2170, 2171, 2153, 2172,
++ 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
++ 2184, 2183, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2193,
++ 2192, 2194, 2195, 2196, 2198, 2197, 2200, 2201, 2005, 2199,
++ 2202, 2203, 2204, 2205, 2206, 2207, 2006, 2008, 2007, 2009,
++ 2208, 2209, 2010, 2210, 2211, 2212, 2011, 2213, 2214, 2215,
++ 2217, 2216, 2218, 2219, 2012, 2013, 2220, 2221, 2222, 2223,
++ 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233,
++ 2235, 2234, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2014,
++ 2243, 2015, 2244, 2245, 2016, 2246, 2017, 2247, 2248, 2018,
++ 2249, 2250, 2251, 2252, 2253, 2254, 2019, 2255, 2256, 2257,
++ 2020, 2259, 2258, 2260, 2021, 2262, 2263, 2022, 2261, 2024,
++ 2264, 2265, 2023, 2266, 2025, 2267, 2268, 2270, 2269, 2271,
++ 2272, 2273, 2026, 2274, 2027, 2275, 2276, 2277, 2278, 2279,
++ 2281, 2280, 2282, 2283, 2284, 2285, 2288, 2290, 2287, 2289,
++ 2286, 2291, 2292, 2293, 2294, 2298, 2299, 2300, 2301, 2295,
++ 2296, 2297, 2028, 2302, 2303, 2304, 2306, 2307, 2309, 2308,
++ 2029, 2030, 2310, 2311, 2033, 2312, 2313, 2314, 2318, 2315,
++ 2326, 2316, 2317, 2320, 2319, 2321, 2322, 2031, 2323, 2032,
++ 2324, 2325, 184, 1965, 167, 1966, 1975, 0, 2378, 2377,
++ 994, 0, 2509, 2510, 540, 819, 0, 0, 820, 0,
++ 539, 818, 165, 2575, 120, 0, 536, 537, 0, 0,
++ 0, 1693, 0, 1616, 1616, 1616, 0, 0, 1616, 1616,
++ 0, 1619, 1616, 165, 1616, 0, 69, 1802, 0, 0,
++ 0, 0, 1959, 0, 1626, 0, 0, 1852, 1866, 0,
++ 1867, 1861, 2375, 0, 1106, 0, 0, 0, 0, 165,
++ 1038, 1002, 1677, 0, 229, 238, 240, 241, 237, 0,
++ 2510, 2521, 1073, 1079, 1091, 2330, 2327, 1779, 241, 983,
++ 983, 983, 981, 983, 1701, 1698, 0, 0, 0, 1677,
++ 1860, 2627, 0, 0, 0, 2623, 0, 2628, 0, 1081,
++ 0, 0, 1, 5, 0, 0, 2108, 2212, 1792, 1790,
++ 1954, 0, 864, 891, 0, 869, 0, 867, 1971, 1970,
++ 1969, 0, 880, 879, 877, 0, 405, 0, 962, 963,
++ 957, 959, 961, 0, 2584, 871, 1013, 2507, 0, 186,
++ 0, 78, 0, 1017, 1020, 0, 0, 2513, 0, 0,
++ 0, 0, 119, 0, 0, 0, 116, 1106, 1106, 2575,
++ 2577, 2579, 540, 538, 0, 0, 0, 1697, 1696, 1695,
++ 0, 1693, 2035, 1976, 2047, 0, 1927, 0, 0, 0,
++ 1381, 0, 1981, 0, 2062, 2064, 1985, 1986, 1987, 1988,
++ 1989, 1990, 1993, 0, 0, 1116, 1116, 1113, 0, 0,
++ 0, 2085, 2086, 1936, 0, 0, 0, 1923, 1937, 2121,
++ 2122, 0, 1925, 1926, 2128, 0, 0, 0, 2142, 0,
++ 2147, 1934, 0, 0, 2179, 2181, 0, 0, 2185, 2186,
++ 2187, 2188, 1909, 1171, 0, 1113, 1922, 1933, 2204, 1916,
++ 2213, 2218, 2219, 0, 2228, 0, 0, 0, 2253, 2257,
++ 0, 0, 2278, 0, 0, 1113, 1908, 2298, 2299, 2300,
++ 2301, 0, 1924, 2028, 1935, 0, 2312, 1116, 1113, 1113,
++ 0, 0, 0, 2321, 2325, 0, 0, 0, 2545, 1170,
++ 0, 1343, 0, 1375, 1128, 1134, 1148, 0, 1163, 1197,
++ 1198, 1200, 1298, 1199, 1205, 1204, 1593, 1920, 1203, 1202,
++ 1921, 1196, 1944, 1965, 1943, 0, 0, 0, 0, 0,
++ 0, 0, 0, 1775, 0, 0, 1603, 1616, 71, 0,
++ 2423, 2438, 2439, 2435, 2440, 2458, 2441, 2445, 0, 2437,
++ 2429, 0, 2444, 0, 2433, 2442, 0, 2427, 0, 2443,
++ 2448, 2459, 2431, 2436, 2414, 0, 2421, 2425, 1956, 1487,
++ 2390, 2391, 0, 77, 1628, 1629, 1627, 954, 0, 2640,
++ 1853, 1854, 1855, 0, 1870, 0, 1033, 0, 0, 454,
++ 445, 0, 1774, 1773, 0, 1846, 2522, 0, 0, 0,
++ 1631, 1678, 0, 1630, 1841, 0, 1839, 1836, 1838, 230,
++ 0, 0, 260, 2423, 0, 2408, 0, 2516, 2513, 2523,
++ 2558, 2553, 2552, 2555, 2556, 1097, 2557, 1096, 2554, 2551,
++ 1106, 1092, 1094, 1095, 2333, 1737, 0, 753, 0, 1758,
++ 1787, 1738, 0, 0, 1787, 0, 1522, 1777, 1780, 0,
++ 2342, 1751, 816, 815, 1761, 814, 2343, 1773, 0, 1725,
++ 1739, 0, 1702, 1744, 0, 2344, 0, 1776, 1760, 0,
++ 1759, 1522, 1787, 0, 1718, 0, 0, 0, 0, 236,
++ 977, 987, 979, 974, 0, 980, 976, 0, 2641, 2642,
++ 2388, 954, 1915, 1913, 1914, 1963, 2624, 1912, 2632, 2634,
++ 2620, 2622, 2629, 1075, 0, 2527, 6, 63, 0, 1799,
++ 2582, 2583, 2581, 769, 0, 1116, 1972, 2576, 168, 878,
++ 0, 406, 168, 0, 0, 0, 0, 0, 407, 408,
++ 344, 862, 960, 875, 0, 0, 874, 2584, 0, 0,
++ 1048, 1050, 1049, 1066, 188, 185, 166, 0, 996, 1610,
++ 1612, 0, 1021, 2512, 0, 0, 2514, 2518, 1169, 1168,
++ 0, 113, 118, 0, 0, 0, 2484, 117, 2474, 2580,
++ 1106, 1106, 1106, 2572, 0, 2560, 2567, 2568, 2571, 2570,
++ 2569, 2566, 0, 2559, 2562, 2563, 2565, 2564, 2584, 2578,
++ 0, 821, 821, 821, 0, 1680, 1683, 1687, 1691, 1694,
++ 0, 0, 1492, 1218, 1492, 1492, 1492, 1382, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 1492, 0, 1255, 1228, 0, 1256, 0, 0,
++ 0, 0, 0, 1930, 0, 0, 2545, 0, 0, 0,
++ 1348, 0, 0, 0, 2545, 0, 0, 0, 0, 0,
++ 0, 1377, 1379, 1943, 1492, 0, 0, 1492, 0, 0,
++ 0, 0, 0, 1121, 1261, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 1492, 1492, 0, 0,
++ 1492, 1269, 0, 1932, 0, 0, 0, 1931, 0, 0,
++ 1929, 750, 751, 1910, 1928, 0, 1272, 1274, 1273, 0,
++ 1492, 1492, 0, 0, 1208, 1207, 1209, 0, 0, 0,
++ 0, 0, 0, 1167, 1166, 1165, 1164, 0, 0, 0,
++ 0, 1173, 0, 1175, 1177, 1172, 1174, 1176, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 1210, 0, 0,
++ 0, 1911, 1307, 0, 1617, 1598, 1605, 1600, 0, 1775,
++ 1601, 1609, 419, 0, 1606, 2472, 1602, 0, 1594, 0,
++ 70, 0, 1824, 1829, 0, 0, 0, 1819, 1827, 1821,
++ 1828, 1820, 0, 0, 1830, 1823, 0, 1822, 1826, 1825,
++ 1803, 1807, 1811, 1804, 2424, 2422, 2456, 2455, 2460, 0,
++ 2457, 2453, 2446, 2485, 2450, 0, 2485, 2452, 2451, 2485,
++ 2447, 2454, 2485, 2419, 0, 1488, 1489, 0, 2389, 0,
++ 1955, 955, 0, 0, 1856, 1857, 0, 1056, 1871, 1872,
++ 1868, 1487, 2376, 2379, 0, 640, 1107, 455, 0, 0,
++ 466, 0, 0, 66, 67, 0, 1040, 0, 1039, 1043,
++ 0, 1000, 1003, 0, 0, 1634, 1624, 1633, 1842, 1843,
++ 0, 228, 253, 248, 256, 250, 252, 251, 257, 258,
++ 259, 254, 249, 255, 242, 0, 2422, 0, 2419, 2517,
++ 0, 2519, 2536, 1080, 2524, 1103, 1082, 1102, 0, 1093,
++ 2328, 2331, 2339, 1783, 752, 0, 0, 1750, 0, 540,
++ 0, 0, 0, 0, 0, 0, 1719, 0, 0, 583,
++ 0, 1743, 1523, 1781, 1782, 1787, 0, 0, 1787, 0,
++ 1756, 1777, 0, 1787, 1714, 0, 0, 1706, 1711, 1707,
++ 0, 1713, 1712, 1715, 1703, 1704, 1783, 1730, 1757, 1777,
++ 1742, 1749, 0, 1729, 1736, 0, 1747, 1777, 1777, 1787,
++ 1787, 990, 989, 988, 984, 985, 990, 0, 1699, 1416,
++ 0, 0, 2621, 2635, 2619, 2630, 2631, 2618, 1076, 2528,
++ 1074, 2529, 0, 7, 4, 1793, 1791, 1800, 1801, 770,
++ 769, 531, 534, 533, 0, 0, 1974, 0, 870, 0,
++ 1775, 868, 0, 0, 1775, 355, 1775, 409, 769, 882,
++ 0, 0, 872, 1014, 0, 0, 443, 1066, 1052, 1068,
++ 0, 189, 191, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 79, 80, 96, 998, 997, 0, 995, 1031, 1029,
++ 1028, 1026, 0, 1027, 1025, 1016, 1022, 1023, 2511, 2515,
++ 541, 769, 1775, 0, 347, 0, 0, 0, 0, 0,
++ 540, 0, 0, 2561, 105, 822, 0, 0, 0, 1685,
++ 1613, 1681, 1615, 1954, 0, 0, 0, 1689, 0, 0,
++ 1493, 1492, 0, 1357, 0, 0, 0, 0, 1383, 0,
++ 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0,
++ 0, 0, 0, 0, 1328, 0, 1357, 1117, 1567, 1568,
++ 1552, 1553, 1551, 1554, 1114, 0, 1555, 1566, 1285, 0,
++ 0, 0, 0, 0, 0, 1463, 1464, 1465, 1466, 1474,
++ 1467, 1468, 1469, 1476, 1481, 1470, 1471, 1477, 1478, 1479,
++ 1472, 1480, 1475, 1473, 1482, 0, 1462, 0, 1485, 1483,
++ 1486, 1484, 0, 1349, 1341, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0,
++ 0, 1492, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 1492, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1251, 0, 1946, 1945, 0, 0,
++ 0, 0, 1212, 0, 1211, 1425, 0, 2530, 2546, 0,
++ 2345, 1344, 1346, 0, 1119, 1118, 1120, 1131, 1124, 1129,
++ 1122, 1126, 0, 1178, 2041, 1132, 0, 0, 1160, 2545,
++ 1501, 1161, 1146, 1151, 1152, 0, 1149, 1150, 0, 1154,
++ 0, 1153, 1157, 1158, 1159, 1162, 0, 0, 0, 0,
++ 1201, 1206, 1376, 1106, 1947, 0, 1596, 419, 422, 421,
++ 1607, 420, 1655, 0, 964, 0, 0, 72, 74, 1816,
++ 1813, 1812, 1814, 1818, 1817, 1815, 0, 1831, 2449, 0,
++ 2430, 0, 2434, 2428, 2432, 0, 0, 2420, 0, 2426,
++ 1491, 2116, 2197, 0, 1494, 2393, 1621, 2639, 2312, 1858,
++ 1851, 0, 1869, 0, 0, 0, 1034, 641, 0, 1106,
++ 453, 452, 451, 450, 0, 468, 448, 456, 68, 0,
++ 0, 1847, 0, 0, 0, 0, 0, 1004, 1632, 0,
++ 1844, 1840, 1837, 0, 0, 0, 0, 0, 0, 0,
++ 2520, 2538, 2537, 2525, 1106, 1513, 1107, 1107, 1943, 2333,
++ 2336, 2337, 2340, 2338, 0, 2335, 2334, 2349, 0, 1785,
++ 1788, 1789, 0, 0, 1769, 1763, 1762, 1754, 1764, 1755,
++ 1772, 1771, 1770, 1727, 1726, 1535, 1536, 2251, 1534, 1526,
++ 1529, 1533, 1532, 1722, 1778, 1768, 1766, 1752, 1787, 1767,
++ 1765, 1708, 1709, 1710, 0, 1522, 0, 1785, 1787, 1777,
++ 0, 1787, 1787, 1746, 1748, 0, 978, 987, 975, 982,
++ 1434, 1433, 0, 1390, 0, 1392, 1389, 1388, 1387, 0,
++ 1433, 2625, 2633, 2637, 0, 1522, 2535, 2533, 532, 1655,
++ 1655, 0, 1973, 0, 0, 0, 0, 0, 0, 0,
++ 169, 178, 0, 0, 353, 354, 1655, 352, 395, 396,
++ 399, 400, 401, 0, 0, 0, 0, 0, 0, 0,
++ 0, 122, 402, 1655, 1655, 349, 375, 376, 379, 380,
++ 381, 382, 383, 345, 0, 350, 952, 952, 0, 1655,
++ 1655, 952, 1655, 0, 0, 1655, 1655, 0, 0, 1655,
++ 0, 0, 952, 0, 1655, 950, 0, 0, 1655, 1655,
++ 1655, 1655, 952, 0, 0, 1655, 1655, 443, 1655, 0,
++ 0, 970, 0, 0, 1655, 0, 0, 1655, 1655, 0,
++ 1655, 898, 949, 544, 565, 566, 863, 897, 899, 911,
++ 439, 0, 928, 951, 0, 0, 884, 886, 2585, 2586,
++ 2587, 1055, 1047, 1054, 1051, 1066, 1064, 1053, 811, 810,
++ 0, 1067, 187, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 1611, 0, 1018, 1030, 1024, 114, 769,
++ 1655, 1655, 1655, 1655, 351, 384, 385, 388, 389, 390,
++ 391, 394, 392, 393, 0, 0, 1775, 0, 2476, 2477,
++ 0, 2475, 0, 2613, 0, 0, 0, 167, 542, 0,
++ 0, 823, 0, 0, 0, 0, 0, 1494, 0, 1957,
++ 1688, 1416, 1692, 1691, 0, 1281, 0, 1321, 0, 1323,
++ 1324, 1325, 0, 0, 0, 0, 0, 1282, 0, 1226,
++ 1283, 1284, 0, 0, 1279, 0, 0, 0, 0, 1278,
++ 0, 0, 0, 0, 1327, 0, 1115, 0, 0, 1229,
++ 1230, 1223, 1215, 0, 1300, 0, 0, 1231, 0, 0,
++ 0, 0, 1287, 0, 1301, 1378, 0, 1380, 1947, 0,
++ 1333, 1288, 1236, 0, 1331, 0, 1237, 1302, 1303, 1304,
++ 1290, 1291, 0, 1306, 0, 1292, 0, 0, 0, 0,
++ 1239, 1337, 1335, 0, 0, 0, 0, 1339, 1241, 0,
++ 0, 0, 1240, 0, 0, 0, 0, 0, 0, 0,
++ 1243, 0, 1224, 1336, 1338, 1296, 0, 1252, 0, 2539,
++ 1424, 2547, 1425, 0, 0, 2541, 2531, 2536, 2544, 1216,
++ 0, 0, 0, 0, 0, 1948, 1125, 1130, 1123, 1127,
++ 2545, 0, 0, 0, 0, 1144, 1143, 0, 0, 0,
++ 2545, 1501, 1147, 0, 0, 1317, 1318, 1373, 0, 1599,
++ 1597, 1608, 1654, 1653, 1656, 0, 2473, 966, 965, 1604,
++ 964, 75, 0, 1810, 1832, 1805, 2489, 0, 2488, 0,
++ 2468, 2471, 1954, 0, 0, 0, 2397, 2404, 2400, 2405,
++ 2398, 2399, 2403, 2406, 2407, 2394, 2401, 1495, 1524, 0,
++ 1859, 1057, 1059, 1060, 1058, 1066, 0, 0, 2382, 2383,
++ 2381, 2380, 458, 0, 467, 0, 479, 0, 0, 0,
++ 1849, 1848, 0, 1041, 1044, 1045, 1011, 1009, 1008, 1010,
++ 999, 1005, 1006, 524, 1638, 0, 0, 0, 1644, 1625,
++ 1635, 0, 2085, 2298, 2301, 243, 246, 245, 247, 0,
++ 0, 0, 0, 0, 0, 1101, 1416, 1585, 1098, 1086,
++ 1524, 1514, 1085, 1108, 1104, 0, 2332, 0, 2295, 2360,
++ 0, 0, 0, 0, 0, 2350, 1784, 0, 1731, 0,
++ 1753, 0, 0, 0, 0, 1724, 0, 1745, 1705, 1733,
++ 1723, 1494, 1777, 1720, 1721, 992, 991, 986, 1433, 1416,
++ 0, 0, 1413, 1435, 0, 1435, 1416, 1416, 0, 1416,
++ 1487, 1430, 0, 0, 2636, 1515, 2534, 0, 0, 866,
++ 172, 175, 173, 0, 174, 0, 0, 404, 403, 0,
++ 1775, 397, 126, 125, 127, 128, 1549, 1550, 1546, 1547,
++ 1545, 1548, 130, 129, 124, 881, 0, 0, 0, 1775,
++ 377, 356, 357, 360, 361, 362, 953, 856, 1035, 932,
++ 0, 621, 856, 807, 812, 812, 930, 0, 1035, 0,
++ 0, 0, 0, 0, 1035, 0, 0, 0, 1655, 0,
++ 943, 893, 0, 0, 0, 0, 0, 944, 0, 894,
++ 1655, 0, 0, 0, 0, 0, 1035, 0, 0, 0,
++ 441, 0, 1035, 912, 973, 971, 972, 0, 1035, 1035,
++ 0, 571, 572, 570, 0, 0, 0, 563, 545, 769,
++ 895, 440, 896, 620, 0, 967, 617, 623, 1950, 0,
++ 0, 0, 0, 136, 2589, 0, 1454, 190, 97, 86,
++ 82, 101, 1559, 1560, 1558, 1556, 1557, 102, 84, 85,
++ 89, 88, 90, 91, 92, 87, 93, 83, 94, 103,
++ 104, 81, 1032, 0, 0, 0, 0, 1775, 386, 0,
++ 0, 1655, 346, 363, 364, 367, 368, 369, 370, 371,
++ 374, 372, 373, 0, 2480, 2482, 0, 0, 340, 339,
++ 0, 131, 2607, 0, 0, 620, 106, 439, 543, 546,
++ 849, 851, 850, 837, 836, 107, 109, 111, 1614, 1691,
++ 1416, 1513, 1955, 1494, 0, 1690, 0, 0, 1322, 1358,
++ 0, 1384, 0, 1220, 724, 724, 724, 1367, 709, 1371,
++ 1362, 724, 1363, 724, 1365, 0, 755, 0, 754, 0,
++ 1180, 1195, 0, 0, 0, 0, 0, 0, 1329, 1326,
++ 0, 0, 0, 0, 1352, 0, 0, 0, 1225, 0,
++ 1312, 1334, 1332, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1340, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 1213, 1106, 2548,
++ 2550, 1077, 0, 2540, 2542, 2346, 2347, 2348, 858, 1345,
++ 0, 1141, 1137, 0, 1135, 1500, 1156, 1155, 0, 0,
++ 0, 1145, 1107, 1308, 1106, 0, 1374, 1949, 418, 582,
++ 1595, 73, 1808, 2486, 0, 2497, 0, 0, 0, 0,
++ 0, 0, 0, 2392, 1525, 1665, 0, 1066, 1070, 1964,
++ 1862, 2385, 2386, 2384, 0, 459, 460, 462, 1107, 476,
++ 454, 0, 446, 449, 0, 458, 0, 0, 1001, 1007,
++ 1091, 0, 1657, 1642, 1649, 1643, 0, 0, 0, 1641,
++ 1939, 1938, 1945, 2523, 0, 0, 2413, 0, 0, 0,
++ 2526, 1494, 1494, 1579, 0, 0, 1083, 1088, 1084, 1087,
++ 0, 1105, 1112, 1111, 1940, 1947, 0, 0, 0, 0,
++ 757, 756, 765, 0, 0, 0, 2345, 0, 761, 763,
++ 762, 2355, 760, 1786, 1522, 1741, 1740, 1537, 1528, 0,
++ 1531, 1530, 1716, 1522, 1735, 1787, 0, 0, 2530, 1428,
++ 0, 1415, 1414, 1436, 0, 1416, 1435, 1435, 0, 1395,
++ 1394, 1669, 1672, 0, 1393, 1452, 1418, 1091, 2626, 2638,
++ 0, 768, 767, 581, 764, 580, 177, 176, 182, 183,
++ 1563, 1564, 1561, 1562, 410, 423, 1565, 424, 398, 123,
++ 411, 412, 378, 0, 358, 622, 857, 915, 0, 0,
++ 0, 812, 616, 856, 821, 813, 856, 856, 0, 0,
++ 555, 552, 934, 558, 913, 905, 914, 925, 927, 0,
++ 554, 573, 0, 0, 561, 856, 900, 941, 942, 964,
++ 549, 0, 592, 593, 591, 567, 574, 550, 551, 936,
++ 0, 1509, 1511, 1519, 557, 556, 1570, 1569, 560, 0,
++ 553, 0, 947, 920, 0, 589, 587, 584, 586, 585,
++ 590, 588, 562, 559, 575, 910, 0, 952, 952, 929,
++ 0, 600, 601, 603, 604, 1953, 0, 969, 931, 0,
++ 605, 618, 606, 0, 0, 579, 578, 576, 577, 0,
++ 146, 0, 0, 883, 0, 139, 137, 148, 0, 0,
++ 0, 1457, 0, 1458, 1455, 1456, 0, 98, 100, 417,
++ 416, 415, 414, 387, 0, 0, 0, 1775, 365, 2481,
++ 2479, 2478, 0, 0, 2614, 343, 341, 342, 0, 0,
++ 192, 598, 599, 597, 596, 0, 427, 0, 2011, 425,
++ 0, 438, 0, 1873, 769, 547, 0, 0, 0, 0,
++ 1494, 1538, 1958, 1684, 0, 1253, 1385, 0, 0, 725,
++ 1359, 777, 1369, 0, 1370, 711, 710, 726, 1361, 1364,
++ 1368, 1366, 1219, 1227, 1275, 0, 1193, 1276, 1277, 0,
++ 1299, 1222, 1221, 0, 0, 0, 1259, 1260, 0, 1350,
++ 0, 0, 1233, 0, 1235, 0, 0, 1314, 1289, 1305,
++ 1262, 1293, 0, 1238, 1214, 0, 1263, 0, 1268, 1266,
++ 0, 1242, 0, 0, 1249, 0, 1247, 0, 1248, 0,
++ 1250, 1295, 1297, 1426, 2549, 1078, 0, 0, 1347, 1133,
++ 0, 1142, 1139, 0, 1136, 1108, 1319, 1309, 0, 1806,
++ 2487, 0, 2418, 2470, 2469, 2490, 2490, 2490, 0, 1496,
++ 0, 1622, 1061, 1066, 1070, 0, 1062, 1873, 463, 0,
++ 0, 0, 483, 0, 481, 457, 0, 1042, 1012, 1106,
++ 1639, 1651, 0, 1659, 0, 0, 1636, 1646, 0, 0,
++ 0, 1645, 244, 0, 2410, 2411, 2409, 1524, 1502, 0,
++ 0, 1591, 0, 1586, 1099, 0, 1110, 1109, 0, 2362,
++ 0, 2361, 2373, 2374, 2371, 2372, 2370, 2351, 0, 2357,
++ 2356, 0, 0, 0, 2367, 2358, 0, 0, 1732, 1527,
++ 1734, 1728, 993, 2536, 1487, 1420, 1416, 1391, 1416, 1402,
++ 0, 0, 1416, 1398, 1396, 1400, 0, 1494, 0, 1417,
++ 1449, 1106, 1942, 1516, 1519, 359, 917, 0, 856, 808,
++ 809, 821, 0, 821, 821, 0, 0, 904, 0, 1021,
++ 0, 909, 765, 568, 940, 939, 569, 0, 902, 0,
++ 1520, 1521, 1512, 442, 901, 922, 907, 1831, 933, 620,
++ 968, 789, 705, 654, 645, 724, 648, 647, 691, 724,
++ 659, 709, 707, 677, 709, 709, 684, 683, 701, 687,
++ 667, 777, 777, 666, 704, 777, 688, 686, 690, 0,
++ 692, 709, 697, 685, 689, 706, 682, 679, 703, 724,
++ 724, 724, 663, 702, 777, 0, 695, 724, 624, 728,
++ 665, 777, 784, 0, 0, 724, 726, 1952, 147, 135,
++ 0, 0, 885, 887, 0, 0, 888, 2591, 0, 2593,
++ 0, 1069, 0, 95, 0, 0, 348, 413, 366, 2483,
++ 0, 203, 1106, 0, 0, 193, 195, 196, 0, 0,
++ 0, 429, 1875, 1874, 426, 527, 548, 0, 0, 0,
++ 1691, 1686, 0, 1682, 0, 1386, 0, 0, 0, 0,
++ 771, 782, 780, 774, 0, 778, 779, 1360, 0, 0,
++ 727, 1372, 724, 1190, 709, 1184, 1186, 1182, 0, 692,
++ 1185, 724, 0, 777, 1189, 1181, 0, 1330, 0, 0,
++ 1353, 0, 0, 0, 0, 0, 0, 0, 1217, 0,
++ 1310, 0, 0, 0, 0, 0, 0, 1246, 1244, 1245,
++ 1524, 2530, 859, 1138, 0, 1320, 0, 0, 0, 2495,
++ 2495, 2495, 1664, 1663, 0, 1662, 1666, 1063, 1071, 0,
++ 461, 464, 0, 456, 0, 480, 0, 447, 525, 0,
++ 0, 0, 1660, 1648, 2527, 1637, 1640, 1947, 2412, 1090,
++ 0, 1497, 1590, 1587, 0, 1580, 1582, 1584, 0, 1941,
++ 0, 0, 2366, 2352, 766, 0, 0, 0, 0, 2353,
++ 1421, 1419, 1429, 0, 1387, 1416, 1416, 0, 1387, 0,
++ 0, 0, 1671, 1513, 1673, 1453, 0, 1431, 0, 1518,
++ 0, 0, 916, 0, 0, 0, 0, 0, 0, 946,
++ 0, 967, 906, 926, 948, 937, 1035, 1510, 921, 923,
++ 1004, 0, 602, 0, 793, 653, 646, 664, 662, 713,
++ 708, 0, 713, 713, 673, 691, 668, 0, 777, 681,
++ 672, 693, 696, 698, 700, 713, 0, 777, 661, 660,
++ 670, 657, 713, 736, 0, 0, 0, 0, 732, 0,
++ 787, 0, 739, 0, 625, 729, 731, 0, 0, 0,
++ 694, 777, 650, 785, 784, 652, 777, 784, 713, 713,
++ 0, 133, 138, 149, 150, 876, 2590, 0, 2588, 0,
++ 1065, 1459, 99, 0, 0, 206, 204, 205, 0, 199,
++ 201, 196, 2601, 0, 2608, 0, 0, 2606, 428, 431,
++ 542, 528, 0, 0, 1519, 854, 0, 0, 2251, 1539,
++ 1254, 722, 720, 723, 721, 773, 772, 776, 0, 775,
++ 784, 0, 0, 1192, 1187, 693, 1191, 1183, 1188, 1280,
++ 1257, 1258, 0, 1351, 1342, 1286, 0, 1234, 1311, 0,
++ 0, 1294, 1264, 1267, 1265, 1270, 1271, 1098, 1098, 594,
++ 2543, 1140, 1833, 2498, 0, 0, 2494, 2492, 0, 2493,
++ 2491, 2461, 0, 2416, 2417, 2415, 2402, 0, 0, 0,
++ 1106, 469, 0, 486, 485, 482, 1524, 1650, 1652, 1658,
++ 1647, 0, 1498, 1513, 758, 1583, 0, 1100, 2364, 2363,
++ 2365, 2359, 0, 0, 0, 0, 1403, 0, 1407, 1412,
++ 1408, 0, 1399, 1397, 0, 1538, 1441, 1442, 0, 0,
++ 1447, 1451, 1524, 1519, 919, 0, 619, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 945, 1917, 935,
++ 967, 903, 0, 908, 564, 0, 792, 0, 797, 717,
++ 718, 719, 674, 714, 716, 0, 676, 644, 669, 699,
++ 675, 0, 671, 658, 742, 741, 1116, 734, 749, 629,
++ 0, 0, 740, 626, 730, 738, 733, 0, 649, 651,
++ 655, 656, 642, 643, 1951, 140, 889, 280, 2592, 1081,
++ 0, 2597, 121, 2605, 2615, 203, 0, 0, 144, 0,
++ 194, 765, 197, 2527, 439, 0, 434, 824, 0, 853,
++ 0, 826, 828, 1540, 0, 783, 781, 0, 1354, 1519,
++ 0, 1313, 1315, 1427, 595, 0, 1809, 2467, 2466, 2465,
++ 2462, 0, 0, 0, 0, 0, 0, 2496, 2500, 1661,
++ 0, 0, 0, 477, 0, 0, 511, 526, 1506, 1519,
++ 0, 1524, 0, 1588, 1581, 2369, 2368, 2354, 1422, 0,
++ 0, 0, 0, 0, 1460, 1670, 1437, 1437, 1448, 1432,
++ 1517, 918, 0, 0, 607, 0, 0, 1919, 1918, 938,
++ 0, 790, 0, 794, 795, 796, 0, 788, 715, 0,
++ 860, 0, 748, 1116, 737, 0, 746, 745, 743, 744,
++ 0, 142, 306, 0, 292, 278, 0, 0, 0, 282,
++ 151, 154, 152, 0, 153, 159, 0, 160, 161, 162,
++ 163, 164, 155, 304, 305, 158, 156, 157, 0, 1967,
++ 0, 1968, 2595, 0, 0, 2594, 170, 200, 0, 0,
++ 136, 145, 2609, 747, 432, 1873, 0, 2523, 0, 1655,
++ 108, 825, 845, 844, 830, 0, 1519, 0, 0, 110,
++ 827, 847, 834, 112, 829, 846, 832, 1541, 712, 0,
++ 1356, 1232, 0, 2463, 2501, 2504, 2502, 2503, 1542, 0,
++ 2505, 2499, 0, 1863, 1107, 0, 470, 0, 473, 475,
++ 489, 0, 1655, 1655, 0, 0, 1655, 1655, 1655, 1655,
++ 504, 512, 514, 0, 1507, 1508, 0, 1503, 1505, 1499,
++ 1571, 759, 1876, 2530, 1404, 0, 1409, 0, 1401, 0,
++ 0, 1445, 1443, 0, 613, 824, 609, 611, 0, 791,
++ 0, 0, 777, 0, 777, 735, 1106, 141, 0, 134,
++ 0, 0, 291, 294, 0, 0, 297, 287, 286, 288,
++ 0, 281, 280, 280, 334, 285, 331, 330, 323, 2527,
++ 0, 0, 0, 2616, 202, 1106, 148, 0, 430, 436,
++ 435, 839, 0, 831, 0, 852, 855, 0, 835, 833,
++ 1519, 1834, 1544, 1543, 1667, 1675, 0, 758, 0, 478,
++ 471, 0, 0, 487, 0, 0, 1655, 1655, 0, 0,
++ 0, 0, 0, 484, 513, 1655, 1519, 0, 1089, 0,
++ 1884, 1423, 0, 0, 1461, 0, 1438, 0, 0, 0,
++ 615, 824, 608, 826, 828, 0, 803, 0, 802, 0,
++ 799, 798, 678, 861, 680, 0, 143, 307, 318, 321,
++ 313, 293, 0, 0, 0, 283, 280, 0, 267, 265,
++ 266, 272, 273, 274, 275, 276, 277, 268, 271, 269,
++ 270, 280, 0, 211, 0, 0, 2596, 0, 2598, 0,
++ 180, 179, 171, 0, 280, 2602, 0, 2610, 2527, 838,
++ 843, 842, 840, 841, 848, 1355, 0, 0, 1864, 465,
++ 477, 474, 497, 490, 493, 0, 523, 517, 0, 0,
++ 519, 520, 518, 515, 508, 0, 506, 0, 1504, 1572,
++ 0, 0, 0, 0, 1877, 1879, 0, 1589, 1406, 1411,
++ 1440, 1439, 1454, 0, 614, 610, 612, 924, 805, 806,
++ 804, 0, 0, 630, 0, 0, 280, 314, 0, 289,
++ 0, 0, 0, 0, 209, 337, 0, 207, 325, 325,
++ 2599, 2600, 181, 2617, 0, 150, 170, 437, 1674, 1676,
++ 1890, 472, 497, 0, 495, 0, 491, 488, 492, 521,
++ 522, 0, 505, 0, 516, 0, 0, 0, 0, 0,
++ 1878, 0, 0, 1885, 1887, 0, 0, 0, 0, 632,
++ 631, 633, 315, 321, 311, 319, 280, 0, 0, 279,
++ 298, 333, 210, 0, 335, 0, 280, 0, 324, 326,
++ 328, 0, 132, 2611, 0, 1876, 494, 0, 502, 498,
++ 500, 503, 511, 510, 507, 1106, 1882, 1883, 0, 1880,
++ 0, 0, 1886, 1446, 1444, 801, 800, 0, 637, 627,
++ 634, 636, 0, 312, 0, 0, 310, 290, 295, 280,
++ 0, 280, 222, 221, 0, 213, 261, 332, 0, 212,
++ 2603, 280, 0, 1884, 496, 0, 0, 509, 0, 0,
++ 1575, 1577, 1881, 1889, 1888, 639, 638, 635, 316, 0,
++ 280, 0, 280, 0, 280, 0, 0, 0, 0, 0,
++ 208, 280, 2612, 0, 1892, 501, 499, 1107, 1573, 1106,
++ 0, 308, 280, 296, 301, 338, 0, 216, 262, 263,
++ 0, 219, 2604, 1891, 0, 1896, 1578, 1576, 280, 280,
++ 297, 300, 336, 0, 0, 214, 215, 227, 226, 218,
++ 0, 0, 0, 1903, 280, 280, 302, 235, 233, 280,
++ 223, 231, 225, 0, 232, 264, 220, 1894, 1895, 1893,
++ 1898, 0, 0, 1900, 1901, 0, 1865, 0, 217, 234,
++ 1902, 1897, 0, 1904, 1906, 0, 224, 1899, 0, 1106,
++ 1905, 0, 1107, 1907
++};
++
++ /* YYPGOTO[NTERM-NUM]. */
++static const yytype_int16 yypgoto[] =
++{
++ -3798, -3798, -3798, -3798, -3798, 71, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 1713, -3798, -3798, -3798, -3798, -3798,
++ 1920, -3798, 653, -1794, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, 651, 1542, 3332, -3798, 388, -3798, 55, -3798,
++ -3798, -3798, -2866, -69, -259, -3798, -3798, 344, 17, 3000,
++ -258, -3797, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, 398, 395, -3798, -3798, 206, -3798, -3798, -1120, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -454, -406, 1852,
++ -3798, -3798, -3798, 3959, -3798, 3428, -3798, 1236, 2184, -3798,
++ -3798, -3798, -413, 225, -3798, 227, -3798, 228, -3798, 229,
++ -3798, 230, 233, 237, 238, -3798, 240, -3798, -3798, -412,
++ -3798, -3798, -3798, -3798, 242, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -263, -3798, -3798, -108, -3798, -3798, -261, 246,
++ -3798, -214, 249, -3798, 250, -3798, -127, -3798, -124, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, 3001, -3798, -3798, -3798, -2217, -3798, -3798, -2123, 2566,
++ -3798, -1678, -3798, -3798, -1785, -3798, -3798, -1623, 1024, -3798,
++ -3798, -130, -351, -3798, -1385, -1892, -1885, -3798, -3798, -3798,
++ -1981, -1980, -781, 2296, -1184, -2208, -3798, -3798, -3798, -3798,
++ 103, -3798, -3798, -2534, 2025, 2569, -3798, 2560, -3798, -3798,
++ 1122, -3798, -3798, 1303, 611, 1300, -3798, 918, 2745, -1242,
++ -3798, -3798, -3798, -3798, -3798, -3798, -33, 217, -129, -3798,
++ -3326, 617, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -2613, -3798, -3798, -3798, -300, -3798, -3798, -207, -3798, -3798,
++ -255, -3798, 68, -2282, -3798, -3798, -3798, -3798, 2539, -1310,
++ -3798, 3554, -3798, -558, 463, 2061, -2387, -1402, -3798, -928,
++ -909, -2442, -3798, -3798, -3798, -3325, 1072, 1486, -3798, 819,
++ 2066, -1886, -3798, -3798, -3798, -3798, -3798, 1553, -3798, -3798,
++ 844, -3798, 836, -3798, -3798, -3798, -3798, -3798, -251, -3798,
++ 54, -2720, -3798, -3798, -3798, -1896, 1038, 812, -3798, -3798,
++ -3798, -936, -2079, -585, -3798, 338, -2519, -2402, 781, -3798,
++ -3798, 535, -3692, -3798, -3798, -572, -2071, -2356, 15, -3798,
++ -3798, 554, -3082, 923, -3798, -3798, -3798, -3096, -1849, -3798,
++ 86, -3798, -3798, -3798, -3798, -3779, -3798, -3798, -1461, -2240,
++ -3798, -3798, 4099, 4101, -1038, -2631, -3708, -9, -8, -3798,
++ -3798, -3798, 2578, -1571, 177, 160, 169, 2032, -1145, 323,
++ -2270, -3798, 373, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 2115,
++ -815, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -2373, 896,
++ -3798, -3798, 1618, -3798, -3798, -3798, -1838, 3167, -3798, -3798,
++ -3798, -3798, 3508, -2143, -3230, -3798, -3798, -3798, -3798, -3798,
++ -3798, 1265, -3798, -3798, 2243, 2706, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 621, 1813, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, 904, 2622, -3798, -3798, -3798,
++ -3798, 25, -3798, -3798, -3798, -3798, 2332, -3798, -3798, -3798,
++ -3798, 2663, -3798, -3798, -3798, -3798, -3798, -3798, 1415, -3798,
++ 1847, -3798, -1435, -3798, -3798, 1019, -984, 1800, -592, 1934,
++ 366, -3798, 3557, -3798, -3798, -3798, -1625, -2453, -3798, 3247,
++ -1047, -2495, 2326, -537, -1818, 1044, 1663, -689, 3995, -3798,
++ -1149, -1127, -3798, -3798, -647, -3798, -3798, -3798, -3798, -3798,
++ 2026, 2035, -651, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, 1449, -3798, -3798, -3798, -3798, -1725,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, 1924, -3798, -2040,
++ -3798, -3798, -473, -3798, 3035, -3798, -3798, -3798, -2291, -1900,
++ 1757, 963, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -2333, -3798, -3798, -3798, -3798, -3798, 1946, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -1621, -3798, -1840, 303, -3798,
++ 451, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -49, 843,
++ -47, -2067, -1100, 1676, -3798, -3798, -1273, 3075, -1984, -3798,
++ -3798, -3798, 1927, -3798, -3798, -3798, -3798, -3798, 930, -2544,
++ 2731, -3798, -3798, -3121, -907, -2238, -895, -3798, -1348, 1363,
++ 466, -3798, -1908, -1777, -2050, -2482, -1095, -3798, 1673, -3798,
++ -3798, -3798, -3798, -212, -3798, -3798, -3798, 494, 1836, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -571,
++ -748, -3798, 2091, 1103, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, 2896, 2865, 1901, -3798, -3798, -2248, -3798,
++ -3798, 1867, -3798, 755, -1994, -1808, 1051, -3798, -3798, 1053,
++ -3165, -3798, -3798, -3798, -3798, -3798, -3798, 994, -3798, 26,
++ 3624, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 2660, -1058,
++ 3544, -3798, -3798, -3798, -3798, -3798, -3798, 2333, -3798, -3798,
++ -3798, -3798, -3798, -3798, 2832, 3641, -575, -1224, -3798, -774,
++ 2805, 2335, -746, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, 2457, 968, -3798, -3798,
++ -3798, -3798, 2889, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, 1090, -87, -3798, 16, -132, -3798, -50,
++ -3798, -3798, -3798, -3798, -3798, -228, -3798, -3798, -233, -691,
++ -986, -1353, 682, -1781, -2009, 1078, 2874, -3276, -693, -1158,
++ -1173, -1890, 59, -3798, -3798, 3343, 10, 384, -320, -6,
++ -2732, -109, -573, -3798, -1752, -3798, -3798, -3798, -3798, 2401,
++ -3798, -3798, -3798, -3798, 1435, -3798, -3798, -3798, 1047, -3798,
++ 769, 541, -3798, -3798, 179, -3798, 2454, -3798, -3798, -3798,
++ -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++ -3798, 2893, 3679, 3359, -3798, 2960, -3798, -3798, -3798, -3798,
++ -3798, 422, -3798, 645, -2236, -1659, -3798, -3798, 2720, 851,
++ -3798, 1535, -252, -545, -3798, -3798, 420, -3798, -3798, 289,
++ 3691, 3362, -3798, -3798, -3798, -3798, -3798, -2709, -890, -3798,
++ -3324, -2760, -1685, -3798, -3798, -2127, -2971, -3798, -3798, -1041,
++ -3798, -3798, -3798, -3798, -2016, -3798, -3798, -3798, 66, 3751,
++ 3753, -3798, -3798, -215, -3798, 678, -3798, -3798, -3798, -3798,
++ -3798, -3798, -3798, 3604, -3798, -3798, -3798, -3798, 3609, -3798,
++ -3798, -3798, -3798, -3798, 3610, -3798, -3798, -3798, -3798, -3798,
++ 1840, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798
++};
++
++ /* YYDEFGOTO[NTERM-NUM]. */
++static const yytype_int16 yydefgoto[] =
++{
++ -1, 58, 604, 1454, 59, 60, 61, 62, 63, 1323,
++ 64, 818, 1250, 1757, 1758, 65, 543, 66, 1027, 1511,
++ 1512, 2986, 2987, 1513, 67, 2098, 3026, 3027, 3028, 1531,
++ 513, 514, 1950, 1951, 1053, 3009, 2973, 3785, 2977, 3901,
++ 4039, 3940, 2026, 3326, 3786, 3787, 3910, 538, 2096, 1468,
++ 4063, 1930, 4172, 1931, 68, 639, 1025, 1490, 1491, 3344,
++ 3345, 3606, 3346, 3598, 3599, 3600, 3601, 4306, 4146, 4247,
++ 4307, 4387, 4423, 4429, 4430, 4354, 4439, 4440, 4441, 4427,
++ 890, 4442, 69, 566, 567, 892, 1354, 2345, 1355, 70,
++ 4355, 4425, 4147, 4148, 4046, 4149, 3913, 4150, 4050, 4151,
++ 3916, 4152, 4153, 4154, 4155, 4298, 4156, 4045, 4347, 4143,
++ 4144, 4349, 4404, 4421, 4157, 3923, 4040, 4234, 3924, 4041,
++ 4293, 4139, 4294, 4342, 4400, 4140, 4235, 4345, 4238, 4158,
++ 4164, 4308, 4159, 4165, 4160, 3928, 4057, 4163, 4055, 4162,
++ 4351, 4303, 2590, 3008, 622, 623, 652, 2086, 624, 1042,
++ 999, 1470, 1963, 1964, 2451, 2452, 2572, 2573, 2574, 1955,
++ 1956, 1957, 2074, 2075, 2076, 1937, 1938, 1939, 1474, 1934,
++ 1935, 625, 1000, 1010, 1958, 1959, 1960, 2578, 2078, 2079,
++ 2080, 2081, 1961, 1750, 1962, 2864, 2596, 3019, 3610, 3803,
++ 3354, 3947, 4178, 3020, 3021, 2521, 2929, 2500, 71, 555,
++ 870, 1320, 2317, 1321, 2319, 2744, 2745, 2746, 1800, 1801,
++ 3681, 1805, 2316, 3843, 4190, 3987, 3988, 2748, 3986, 2752,
++ 3143, 3144, 3444, 3683, 3846, 4195, 4092, 4267, 4193, 4263,
++ 4194, 4265, 4366, 4319, 4320, 4103, 4205, 4206, 4271, 4322,
++ 4000, 4001, 4002, 2338, 2760, 3686, 3612, 2068, 1460, 1461,
++ 515, 516, 517, 649, 2597, 2012, 2598, 2599, 2946, 2014,
++ 2015, 2718, 1388, 2942, 2915, 3657, 3015, 2950, 2951, 2952,
++ 2953, 2954, 4025, 4123, 4124, 4121, 2960, 2882, 2460, 2461,
++ 2526, 2963, 3308, 3895, 3563, 4291, 4339, 4340, 4341, 72,
++ 867, 3801, 3531, 3546, 3310, 3311, 3312, 3313, 3314, 3315,
++ 3316, 3044, 3045, 3752, 3753, 3754, 3039, 3040, 3381, 3564,
++ 3565, 3566, 3802, 3767, 1174, 3374, 2801, 2802, 3853, 2810,
++ 2811, 2852, 3189, 2853, 1464, 3375, 3376, 3377, 3575, 3567,
++ 2962, 3524, 3745, 3748, 3887, 4130, 2462, 2883, 2463, 2886,
++ 953, 518, 2464, 2465, 1545, 1546, 3950, 3959, 3963, 3951,
++ 3964, 3960, 3952, 3953, 3954, 3966, 3962, 2603, 3613, 3614,
++ 2875, 3108, 3889, 73, 1478, 993, 1002, 998, 1017, 634,
++ 1479, 2027, 2533, 3585, 612, 2016, 3516, 3239, 3520, 2017,
++ 2895, 2018, 3226, 3502, 2019, 3255, 3518, 3742, 2896, 2897,
++ 2020, 2021, 2022, 3238, 3247, 3740, 2466, 1302, 126, 127,
++ 630, 631, 632, 2269, 2958, 2507, 74, 1436, 1431, 75,
++ 965, 960, 961, 1434, 1435, 1896, 2396, 76, 642, 1517,
++ 1332, 1816, 77, 879, 2330, 2331, 2332, 2758, 78, 1018,
++ 79, 644, 1031, 80, 501, 1525, 1526, 1527, 2065, 81,
++ 1314, 134, 82, 878, 1326, 1328, 1329, 83, 638, 1019,
++ 1020, 1021, 1022, 2032, 84, 1791, 2301, 2302, 2303, 2304,
++ 1487, 2535, 1488, 1489, 2041, 3136, 85, 86, 601, 2224,
++ 572, 899, 573, 574, 1835, 2358, 3658, 910, 911, 912,
++ 2786, 1366, 1367, 1368, 1797, 2791, 1107, 1104, 783, 784,
++ 785, 786, 1198, 1199, 3568, 787, 1208, 1716, 3056, 3395,
++ 1576, 1577, 788, 789, 790, 791, 792, 793, 1743, 3076,
++ 3077, 3410, 2254, 2255, 2256, 794, 2143, 3063, 2156, 795,
++ 1191, 1701, 1634, 3402, 3069, 3642, 3818, 1562, 2118, 2635,
++ 3047, 2715, 2218, 1130, 1131, 1088, 2125, 1568, 1903, 1904,
++ 1905, 1906, 1907, 3490, 3489, 3491, 3859, 3707, 3861, 3711,
++ 2407, 1908, 1909, 2827, 3705, 4013, 2219, 2220, 2221, 3420,
++ 2828, 3206, 2846, 2847, 3722, 2398, 1910, 2834, 4021, 3719,
++ 3720, 4119, 4118, 3721, 3495, 3496, 3219, 3220, 2982, 2983,
++ 2984, 3863, 1625, 1626, 1632, 1297, 1298, 1563, 2298, 2732,
++ 3693, 3850, 2245, 3461, 3848, 4007, 2023, 2921, 2922, 2360,
++ 2361, 2850, 3223, 3252, 1391, 3659, 2734, 1869, 2817, 2818,
++ 3363, 3980, 4428, 1595, 2547, 2865, 2866, 1597, 2928, 4108,
++ 4275, 4369, 4370, 4371, 3171, 3172, 3465, 3466, 2362, 2783,
++ 3173, 3694, 4012, 87, 522, 88, 1755, 2260, 1247, 2274,
++ 1029, 1549, 1550, 806, 535, 89, 544, 2299, 90, 562,
++ 1819, 857, 882, 1336, 1337, 2339, 2761, 2768, 2340, 2773,
++ 3454, 2763, 3150, 3151, 2264, 2265, 2764, 3153, 3451, 3434,
++ 3435, 3131, 3678, 91, 589, 3217, 2841, 2842, 4084, 4085,
++ 883, 92, 521, 1075, 2107, 1555, 2106, 1076, 1077, 2109,
++ 670, 671, 93, 967, 585, 1413, 1414, 1415, 1885, 94,
++ 577, 954, 2814, 2823, 1863, 874, 1243, 1395, 957, 1396,
++ 1849, 2378, 1377, 95, 989, 988, 96, 608, 1456, 97,
++ 819, 1270, 1767, 2722, 3119, 1271, 1272, 2275, 3826, 98,
++ 563, 887, 888, 1339, 1821, 99, 557, 875, 1811, 100,
++ 547, 862, 1306, 1790, 101, 102, 864, 3137, 4087, 4260,
++ 551, 1793, 1310, 3355, 4110, 4214, 4215, 4217, 4283, 4284,
++ 4315, 4415, 4449, 4433, 4452, 4453, 4456, 4463, 4464, 797,
++ 976, 798, 3737, 799, 800, 2769, 2770, 3224, 801, 2771,
++ 802, 2876, 1030, 1552, 541, 493, 619, 977, 2740, 804,
++ 3930, 996, 1046, 495, 496, 103, 914, 576, 1370, 1371,
++ 1372, 1844, 1845, 958, 2233, 1846, 1847, 2375, 2370, 3473,
++ 3195, 3187, 104, 865, 500, 1312, 1313, 2310, 105, 588,
++ 106, 1299, 1784, 1785, 2295, 2731, 2296, 107, 895, 108,
++ 844, 1778, 845, 1275, 846, 847, 1289, 1283, 1292, 1286,
++ 3831, 3670, 3671, 2283, 1246, 1047, 2090, 3002, 1048, 1770,
++ 2277, 2278, 3429, 3673, 3122, 3837, 3838, 109, 135, 503,
++ 647, 1037, 1360, 110, 111, 112, 113, 1363, 1449, 2354,
++ 1450, 2225, 1451, 1452, 1917, 1833, 1697, 1698, 3106, 1188,
++ 1189, 2228, 2688, 2689, 913, 656, 1063, 1055, 128, 129,
++ 130, 659, 660, 131, 1015, 1016, 2534, 2979, 3328, 3588,
++ 3589, 3791, 3935, 1057, 3797, 4254, 4391, 1058, 1059, 3010,
++ 3799, 4067, 4256, 4361, 1060, 2587, 3341, 3936, 4174, 114,
++ 978, 598, 1447, 1442, 1444, 1913, 2414, 115, 116, 117
++};
++
++ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
++ positive, shift that token. If negative, reduce the rule whose
++ number is the opposite. If YYTABLE_NINF, syntax error. */
++static const yytype_int16 yytable[] =
++{
++ 494, 1040, 956, 1457, 1455, 952, 1686, 1105, 984, 1364,
++ 1113, 1596, 2226, 536, 137, 621, 542, 868, 2363, 2364,
++ 1557, 1685, 1662, 492, 1083, 1639, 556, 2314, 2040, 1132,
++ 2529, 1392, 1242, 568, 1547, 1548, 571, 1871, 1794, 2442,
++ 568, 997, 1870, 2347, 1420, 537, 2910, 2966, 590, 796,
++ 2558, 1707, 2037, 3494, 553, 2767, 1392, 2637, 1751, 1715,
++ 2733, 561, 2855, 3023, 3161, 1462, 1163, 3031, 3205, 1167,
++ 2646, 1028, 2454, 2839, 1032, 1604, 2013, 1803, 1176, 2455,
++ 2459, 540, 1717, 1718, 1463, 1940, 1721, 1722, 1723, 1724,
++ 610, 1726, 1727, 1729, 1731, 1732, 1733, 1734, 1735, 2346,
++ 2694, 2395, 2647, 3499, 1070, 2579, 2580, 3322, 2830, 3046,
++ 2906, 2417, 2418, 613, 2776, 494, 2840, 494, 620, 626,
++ 1054, 1062, 2788, 2611, 1184, 1185, 1186, 2720, 2429, 2467,
++ 3690, 2527, 3830, 2471, 1335, 3421, 1227, 2539, 615, 1226,
++ 617, 1295, 2549, 1953, 2486, 2447, 2448, 2077, 2555, 2556,
++ 1918, 2267, 3000, 2560, 2495, 609, 646, 1193, 1194, 1809,
++ 3514, 2469, 2470, 2504, 2472, 3573, 2087, 2475, 2476, 1193,
++ 1194, 2479, 2126, 1193, 1194, 3725, 2488, 1878, 1386, 1422,
++ 2491, 2492, 2493, 2494, 1798, 3534, 3539, 2498, 2499, 3540,
++ 2501, 4337, 2884, 3103, 2576, 1888, 2510, 635, 2064, 2514,
++ 2515, 2577, 2517, 1891, 1892, 2690, 1421, 552, 3550, 1287,
++ 2359, 2613, 3025, 1290, 560, 3572, 1193, 1194, 3626, 1438,
++ 972, 3698, 3723, 3041, 3042, 2887, 548, 2600, 1170, 3048,
++ -1450, 3050, 2757, 1775, 2874, 850, 2327, 1375, 4052, 2870,
++ 2871, 1033, 1245, 3309, 1228, 3406, 4064, 3235, 1193, 1194,
++ 3541, 2230, 4131, 3232, 3352, 2383, 917, 918, 860, 732,
++ 1228, 3883, 2563, 2564, 2565, 2566, 4171, -1450, 3948, 4266,
++ 1193, 1194, -2464, 1445, 2511, 4447, 1860, 3192, 2450, -1490,
++ 3428, 3739, 2593, 1459, 3169, 3688, 1942, 3370, 1953, 2411,
++ 2568, 2835, 1459, 1050, -1954, 2956, 1308, 3638, 661, 1043,
++ 3371, 2971, 136, 2836, 1327, 3193, 1466, 3149, 667, 2912,
++ 1193, 1194, -865, 636, 3372, 2431, 1459, 4122, 1193, 1194,
++ 1560, -529, 2231, 2028, 1560, 917, 918, 2813, 2858, 1390,
++ 570, 1861, 545, 1035, 2583, 586, 1432, 581, 1193, 1194,
++ 549, 2356, 4281, 1806, 3442, -530, 1514, 3370, 2083, 1936,
++ 1295, 1193, 1194, 4030, 2244, 1193, 1194, 2991, 2992, 3203,
++ 3371, 3847, 3121, 4082, 1193, 1194, 3819, 668, 2038, 2123,
++ 136, 1193, 1194, 4282, 3372, 4177, 2799, 2803, 2805, 653,
++ 1193, 1194, 2913, 497, 569, 917, 918, 1807, 3443, 2601,
++ 1536, 2209, 2039, 4053, 3221, 973, 974, 3869, 651, 138,
++ 813, 1322, 4236, 1171, 1172, 582, 262, 2824, 264, 502,
++ 1433, 3664, 1036, 4224, 3005, 3849, 1390, 1193, 1194, 2890,
++ 3204, 3087, 1603, 1954, 637, 1193, 1194, 1193, 1194, 546,
++ 917, 918, 587, 1914, 853, 2029, 1132, 3949, 4083, 4236,
++ 2859, 1776, 3758, 2917, 2918, 1069, 2972, 1483, 2512, 1561,
++ 2998, 3762, 3884, 1584, 1911, 3194, 2782, 756, 1747, 1239,
++ 1518, 4448, 1397, 1402, 1193, 1194, 1193, 1194, 3353, 2957,
++ 1446, 1536, 640, 2328, 2815, 3778, 1193, 1194, 2914, 3944,
++ 3780, 1193, 1194, 1111, 2584, 2194, 2267, 1193, 1194, 1193,
++ 1194, 1309, 2837, 3809, 1936, 669, 1425, 1193, 1194, 1193,
++ 1194, 620, 3209, 626, 2848, 1193, 1194, 1862, 4335, 4336,
++ 3879, 3170, 3839, 1537, 1538, 1539, 4171, 3006, 3156, 2232,
++ 809, 2485, 1195, 2781, 626, 1196, 1195, 3309, 2384, 1196,
++ 1193, 1194, 1462, 848, 1193, 1194, 1034, 620, 861, 858,
++ 3407, 3164, 3165, 3166, 1229, 2268, 3242, 2530, 3716, 1112,
++ 3885, 1463, 876, 1940, 1335, 1712, 859, 1916, 4054, 2454,
++ 1229, 1720, 2891, 1751, 2893, 2838, 2455, 852, 1954, 1195,
++ 1777, 2904, 1196, 1376, 3236, 1193, 1194, 2888, 1741, 2453,
++ 968, 2892, 851, 1515, 2916, 3717, 1335, 1193, 1194, 4262,
++ 2925, 2927, 2579, 2580, 3665, 2908, 2909, 969, 2246, 987,
++ 3505, 1195, 3870, 1462, 1196, 2919, 2943, 2927, 620, 2249,
++ 1001, 2013, 2252, 3231, -1490, 1748, 3233, 3234, 1571, 1572,
++ 2725, 610, 1463, 1195, -1450, 1288, 1196, 494, 1628, 3033,
++ 2988, 1629, 610, 2527, 1026, 3244, 610, 3356, 2602, 610,
++ 1516, 3230, 2329, 1041, 1001, 1627, 1193, 1194, 620, 1873,
++ 1013, 1890, 1876, 1640, 3448, 1642, 3225, 1880, 1071, 1072,
++ 1073, 3660, 4304, 1195, 1078, 2391, 1196, 1655, 1656, 1657,
++ 2903, 1195, 1516, 3104, 1196, 1661, 1754, 1810, 2243, 4338,
++ 645, 2576, 2911, 1893, 1894, 1051, 1011, 897, 2577, 1941,
++ 2077, 1195, 2505, 4080, 1196, 4409, 1291, 1023, 3970, 3699,
++ 2878, 2575, 4125, 1241, 1195, 2527, 2371, 1196, 1195, 1596,
++ 3030, 1196, 1771, 2088, 817, 3001, 1133, 1195, -2464, 3943,
++ 1196, 975, 2089, 550, 1195, 1068, 3497, 1196, 4008, 1173,
++ 4106, 1516, 866, 1195, 3858, 4166, 1196, 2789, 3350, 1296,
++ 1799, 1193, 1194, 1796, 3525, 3526, -1490, 1193, 1194, 2873,
++ -2464, 2082, 3046, 1197, 1942, 3046, 3046, -1490, 2372, 1918,
++ 3038, 2506, 1817, 2996, 3627, 1197, 3245, 970, 2063, 1197,
++ 1195, 2872, 3046, 1196, 1190, 947, 1192, 2829, 1195, 3542,
++ 1195, 1196, 2993, 1196, 1826, 1014, 3551, 2990, 3337, 3958,
++ -865, 2229, 3571, 3574, 3576, 3577, 4031, 3167, 3168, -529,
++ 1235, 494, 1237, 1516, 1001, 494, 620, 2868, 494, 620,
++ 1193, 1194, 1197, 3197, 1193, 1194, 1389, 1195, 2124, 1195,
++ 1196, 1853, 1196, -530, 1236, 2879, 1877, 1426, 1240, 1195,
++ 2210, 1244, 1196, 3373, 1195, 4075, 1052, 1196, 1193, 1194,
++ 1195, 1900, 1195, 1196, 1197, 1196, 1300, 1193, 1194, 3218,
++ 1195, 4138, 1195, 1196, 4257, 1196, 654, 3007, 1195, 610,
++ 1749, 1196, 3088, 3527, 3668, 3046, 1197, 3528, 1193, 1194,
++ 2738, 620, 610, 2767, 3338, 3484, 610, 815, -2584, 3488,
++ 2268, 1324, 3519, 1195, 1692, 1693, 1196, 1195, 4292, 4126,
++ 1196, 2083, 1920, 3373, 3115, 1193, 1194, 3547, 3548, 3549,
++ 1398, 1403, 2582, 877, 2141, 3552, 1197, 1193, 1194, 2816,
++ 3455, 1193, 1194, 3578, 1197, 1193, 1194, 3483, 3570, 620,
++ 2531, 3487, 1193, 1194, 1311, 2195, 118, 3458, 1195, 3459,
++ 3140, 1196, 3941, 2114, 1197, 2804, 4132, 1330, 4134, -1490,
++ 1195, 2620, 3718, 1196, 2878, 1193, 1194, 1197, 1296, 3715,
++ 1427, 1197, 2167, 2142, 1417, 3038, 1193, 1194, 3504, 4185,
++ 1197, 610, 1193, 1194, 3500, 1692, 2160, 1197, 3380, 2198,
++ 2199, -433, 872, 3068, 2307, 1428, 1197, 3145, 2387, 2132,
++ 3633, 2454, 2095, 1458, 4229, 4208, 2133, 3978, 2455, 3636,
++ 1392, 1193, 1194, 2347, 2215, 2216, 3210, 3211, 1273, 1195,
++ 4043, 2969, 1196, 2885, 2885, 1560, 1901, 2373, 2416, 1304,
++ 1902, -2532, 610, 1197, 1193, 1194, 2579, 2580, 2975, 3396,
++ 1392, 1197, 4259, 1197, 1708, 610, -2395, -2396, 1871, 554,
++ 1871, 1871, 3202, 2976, 3595, 2820, 2821, 2880, 3352, 2660,
++ 2136, 2702, 2703, 3596, 120, 1940, 3361, 1193, 1194, 2346,
++ 2970, 2327, 1193, 1194, 1630, 2615, -1775, 1631, 1333, 1540,
++ 1197, 2459, 1197, 4210, 610, 628, 2453, 1932, 1553, 3125,
++ 3126, 3127, 1197, 4211, 1748, 2753, 3480, 1197, 3072, 3073,
++ 3089, 3090, 1702, 1197, 1936, 1197, 1541, 2251, 575, 2099,
++ 3112, 3113, 2701, 1197, 1195, 1197, 2137, 1196, 1193, 1194,
++ 1195, 1197, 2138, 1196, 2140, 2576, 2308, 1193, 1194, 1133,
++ 2486, 2115, 2577, 2100, 2147, -2532, 4115, 2013, 3543, 1740,
++ 2148, 3544, 3241, 1133, 1193, 1194, 1197, 558, 1936, 1544,
++ 1197, 2348, 2385, 1551, 1647, -2395, -2396, 2845, 4289, 1193,
++ 1194, 1462, 2390, 2226, 2127, 2393, 2394, 2706, 2707, 3851,
++ 583, 498, 3708, 3709, 4044, 499, 1827, 1941, 3450, 3393,
++ 1463, 4116, 3366, 1195, 1686, 3366, 1196, 1195, 2825, 3664,
++ 1196, 1197, 1997, 1687, 4047, 4048, 3597, 599, 1193, 1194,
++ 2266, 1231, 2077, 1197, 2270, 620, 2749, 4060, 2575, 4127,
++ 2158, 1195, -1797, 990, 1196, 1038, 1039, 3475, 4061, 2700,
++ 1195, 1709, 2159, 1196, 629, 1748, 2253, 2881, 3501, 2710,
++ 4230, 1933, 584, 1808, 2784, 2300, 1193, 1194, 2000, 2262,
++ 884, 1195, 620, 602, 1196, 1588, 1953, 1744, 1193, 1194,
++ 1193, 1194, 610, 3493, 1230, 1686, 873, 3380, 4070, 2322,
++ 2323, 610, 1197, 1193, 1194, 2326, 1942, 1418, 1195, 1748,
++ 2843, 1196, 3353, 4111, 3979, 1193, 1194, -1798, 3011, 1953,
++ 1195, 2163, 2313, 1196, 1195, 1193, 1194, 1196, 1195, 2161,
++ 3945, 1196, 603, 2374, 1341, 1195, 3620, 4212, 1196, 620,
++ 1193, 1194, 4117, 4128, 1589, 1193, 1194, 655, 2328, 1193,
++ 1194, 1780, 3055, 1783, 2082, 3897, 610, 1746, 1195, 2309,
++ 2785, 1196, 3134, 3630, 2959, 2581, 4472, 605, 610, 1195,
++ 4129, 1590, 1196, 1787, 1362, 1195, 620, 3367, 1196, 1749,
++ 3367, 1193, 1194, 2404, 1686, 1193, 1194, 610, 610, 1305,
++ 3806, 611, 885, 1193, 1194, 1056, 1064, 1197, 1560, 2923,
++ 1193, 1194, 600, 1197, 1195, 3214, 4290, 1196, 2527, 1193,
++ 1194, 620, 3665, 2679, 1830, 3749, 2175, -1797, 1922, 614,
++ -1775, 2131, 1838, 2263, 1828, 947, 2236, 1195, 616, 2527,
++ 1196, 627, 3012, 1560, 494, 494, 494, 610, 494, 610,
++ 1591, 1193, 1194, 2083, 1872, 1850, 3537, 1193, 1194, 2582,
++ 1874, 494, 3368, 620, 2262, 3378, 494, 1854, 1855, 1856,
++ 1195, 1858, 1710, 1196, 886, 1195, 1197, 4062, 1196, 947,
++ 1197, 1193, 1194, 991, 1875, 43, 610, 2519, 1711, 1879,
++ 2885, 880, -1798, -2532, 1695, 2182, 2988, 1193, 1194, 2186,
++ 2222, -198, 1936, 3250, 1197, 1193, 1194, 1193, 1194, 633,
++ 992, 2356, 1857, 1197, 1859, 4213, 1193, 1194, 3750, -433,
++ 1749, 1195, 3666, 2187, 1196, 1592, 732, 2329, 1193, 1194,
++ 1195, 620, 2188, 1196, 1197, 1936, 1871, 1651, 2257, 1596,
++ -2395, -2396, 1923, 1831, 120, 610, 2258, 1195, 2033, 610,
++ 1196, 1889, 2139, 1952, 3704, 132, 1924, 2485, 2453, 2357,
++ 3751, 1197, 1195, 1777, 1749, 1196, 4011, 1231, 1736, 1193,
++ 1194, 640, 1673, 1197, -2395, -2396, 1954, 1197, 1516, 2149,
++ 610, 1197, 1193, 1194, 1193, 1194, 4309, 4309, 1197, 1193,
++ 1194, 1210, 2189, 3946, 1193, 1194, 2193, -2532, 2430, 2150,
++ 620, 1195, 494, 494, 1196, 2097, 494, 2211, 2263, 1954,
++ 2030, 1197, 1379, 2237, 2035, 2333, 3251, 1231, 1078, 3013,
++ 2113, 1231, 1197, 1748, 3032, 2093, 2094, 3815, 1197, 3111,
++ 3070, 641, 1193, 1194, 646, 3990, 133, 3215, 1900, 1195,
++ 2257, 3071, 1196, 1051, 881, 3777, 648, 3082, 3178, 4264,
++ 57, 1195, 4268, 1195, 1196, 3991, 1196, 1197, 1686, 1696,
++ 3789, 2333, 4181, 2705, 1429, 2223, 1195, 3369, 1380, 1196,
++ 3369, 650, 1832, 3152, 1193, 1194, 3092, 1540, 1195, 3667,
++ 1197, 1196, 2575, 4010, 1193, 1194, 4200, 4201, 1195, 732,
++ 1914, 1196, 3668, 1193, 1194, 1381, 579, 807, 808, 3093,
++ 580, 811, 812, 1195, 1542, 814, 1196, 816, 1195, 1133,
++ 2168, 1196, 1195, 1197, 1925, 1196, 3014, 2271, 1197, 1941,
++ 1900, 1113, 1163, 1167, 756, 1193, 1194, 1193, 1194, 1596,
++ 1593, 662, 3646, 2642, 1193, 1194, 2157, 2335, 2336, 664,
++ 2648, 1193, 1194, 1014, 1195, 2161, 1430, 1196, 1195, 510,
++ 1111, 1196, 3652, 2654, 1193, 1194, 1195, 3948, 854, 1196,
++ 4388, 1193, 1194, 1195, 1197, 1482, 1196, 2235, 2738, 1193,
++ 1194, 2945, 1195, 1197, 4364, 1196, 1213, 665, 1737, 4389,
++ 3155, 2241, 2171, 947, 3669, 1926, 2669, 1393, 1496, 1497,
++ 1197, 2172, 666, 3724, 1052, 3779, 3877, 3878, 3781, 3738,
++ 1594, 1738, 805, 1901, 1195, 1197, 2226, 1196, 2176, 2259,
++ 1195, 1927, 810, 1196, 2238, 849, 1543, 620, 732, 610,
++ 620, 1193, 1194, 2180, 3059, 3790, 3805, 863, 1193, 1194,
++ 2239, 610, 869, 2276, 1195, 4274, -2584, 1196, 1394, 2282,
++ 2282, 855, 2282, 871, 1197, 3738, 891, 1245, 1193, 1194,
++ 1195, 3816, 620, 1196, 2716, 610, 2082, 591, 1195, 610,
++ 1195, 1196, 2581, 1196, 1193, 1194, 1193, 1194, 1749, 1195,
++ 1038, 1039, 1196, 1928, 1596, 889, 620, 620, 610, 610,
++ 610, 1195, 1197, 2582, 1196, 1901, 881, 756, 1133, 1902,
++ 2321, 2282, 2282, 2282, 1197, 262, 1197, 264, 1317, 964,
++ 2181, 1318, 2449, 1382, 2281, 2281, 1210, 2281, 2369, 1197,
++ 592, 856, 2185, 1111, 2190, 962, 963, 2380, 966, 3948,
++ 2305, 1197, 1195, -1691, 1311, 1196, 3949, 2202, 2376, 1509,
++ 1510, 1197, 1519, 985, 3037, 1195, 986, 1195, 1196, 2217,
++ 1196, 2588, 1195, 1330, 2325, 1196, 1197, 1195, 852, 3035,
++ 1196, 1197, 994, 1364, 610, 1197, 2281, 2281, 2281, 2128,
++ 1739, 565, 1929, 2589, 3058, 1003, 2399, 4383, 565, 3060,
++ 1210, 1014, -1691, 610, 2070, 2902, 1200, 3198, 2108, 1162,
++ 1024, 593, 917, 918, 1044, 1195, 3200, 1197, 1196, 1392,
++ 1248, 1197, 1049, 1953, 1919, 3975, 3976, 3977, 1392, 1197,
++ 262, 3481, 264, 2420, 3364, 3066, 1197, 2129, 1230, 3067,
++ 1201, 1840, 2427, 2428, 2333, 1197, 756, 3074, 4112, 2392,
++ 4113, 1045, 2334, 2432, 2433, 2434, 2435, 1195, 2443, 2444,
++ 1196, 4074, 1383, 3078, 3398, 3399, 1080, 1195, 2410, 2681,
++ 1196, 2683, 1111, 1319, 118, 2569, 1195, 1197, 1520, 1196,
++ 2070, 2585, 1521, 1197, 1384, 3412, 1686, 262, 3595, 264,
++ 1202, 1081, 1404, 1522, 498, 3079, 1082, 3596, 499, 1084,
++ 2513, 3080, 1203, 1222, 1223, 1224, 1225, 1197, 1195, 1871,
++ 1195, 1196, 1841, 1196, 3619, 2528, 1085, 1195, 3949, 2638,
++ 1196, 1213, 1405, 1197, 1195, 3081, 1385, 1196, 975, 1475,
++ 1476, 1197, 2638, 1197, 1086, 3931, 1089, 1195, 1166, -1691,
++ 1196, 3083, 1197, 1686, 1195, 559, 1090, 1196, 1234, 3086,
++ 1238, 3091, 1195, 1936, 1197, 1196, 2540, 2541, 2843, 2548,
++ 3094, 2550, 2551, 2552, 2553, 2554, 2335, 2336, 2557, 1534,
++ 2559, 1233, 3096, 2571, 3237, 1091, 1686, 1406, 620, 3201,
++ 2542, 2348, 1407, 1092, 620, 1213, 2586, 1204, -1691, 494,
++ 1230, 2923, 4187, 1093, 2614, 1197, 610, 610, 610, 2609,
++ 2436, 1842, 2612, 2924, 1195, 3248, 1094, 1196, 1197, 2337,
++ 1197, 1195, 2591, 3098, 1196, 1197, 3254, 1523, 1095, 3256,
++ 1197, 118, 620, 947, 2698, 1276, 3100, 3470, 3101, 1936,
++ 3597, 1195, 900, 3102, 1196, 620, 1953, 1772, 3417, 2543,
++ 1773, 4072, 1096, 1774, 4004, 4005, 1097, 1195, 3471, 1195,
++ 1196, 1098, 1196, 594, 3931, 3931, 2719, 1277, 1197, 2437,
++ 3370, 2605, 2606, 2607, 4179, 3330, 4088, 703, 2071, 1215,
++ 1216, 4006, 1099, 3371, 1748, 595, 3418, 2253, 498, 3472,
++ 2130, 1230, 499, 3147, 4094, 4095, 2438, 3372, 4098, 4099,
++ 4100, 4101, 1100, 2070, 1101, 3507, 3508, 1102, 917, 3535,
++ 1197, 2134, 2135, 1954, 1245, 1245, 1245, 596, 4089, 1843,
++ 1197, 1249, 2708, 3616, 3617, 1524, 2581, 1274, 3419, 1197,
++ 3581, 119, 1103, 4300, 1408, 498, 708, 620, 3645, 499,
++ 3110, 3191, 1278, 1106, 3553, 2544, 1282, 3651, 1279, 120,
++ 3961, 3965, 1209, 2072, 2071, 1108, 643, 2154, 1230, 1109,
++ 1748, 1197, 2717, 1197, 1110, 2439, 1114, 3866, 3867, 620,
++ 1197, 901, 2638, 597, 2807, 2812, 1115, 1197, 1284, 3653,
++ -1775, 3654, 1116, 620, 1117, 900, 1686, -2575, 3655, 3554,
++ 1197, 1118, 1280, 1519, 1294, 3656, 2571, 1197, 4198, 4199,
++ 3555, 3152, 1301, 1331, 1409, 1197, 1119, 4207, 3726, 1281,
++ 3931, 3931, 3032, 1120, 121, 3971, 2747, 1121, 2854, 2638,
++ 2545, 2162, 1230, 1122, 1218, 1219, 1220, 1221, 1222, 1223,
++ 1224, 1225, 721, 4202, 1123, 2099, 2164, 1230, 2226, 1126,
++ 2440, 2772, 1127, 902, 947, 3529, 3556, 1210, 3532, 3533,
++ 1193, 1194, 1936, 1128, 620, 2624, 1134, 1197, 1135, 2100,
++ 2165, 1645, 1210, 1136, 1197, 3545, 1137, 2793, 1410, 2795,
++ 1138, 3729, 1205, 1206, 1207, 620, 1139, 620, 620, 2177,
++ 1230, 2625, 1140, 2792, 1197, 1872, 1141, 1872, 1872, 2719,
++ 1220, 1221, 1222, 1223, 1224, 1225, 122, 2073, 1142, 3961,
++ 1197, 1285, 1197, 3965, 3931, 2178, 1230, 737, 1144, 1520,
++ 2179, 1230, 1687, 1521, 901, 1596, 2183, 1230, 1145, 3931,
++ 947, 620, 620, 1146, 1522, 3643, 1954, 1147, 1161, 1749,
++ 1210, 2284, 3931, 2285, 1193, 1194, 2626, 1148, 262, 2627,
++ 264, 1177, 1178, 979, 980, 1516, 981, 2628, 982, 2445,
++ 2446, 2687, 1230, 1605, 1606, 1607, 1608, 1609, 3634, 2070,
++ 2400, 2528, 1211, 1149, 2629, 1150, 2528, 2071, 2723, 2724,
++ -786, 2528, 1151, 1748, 1152, 2528, 1153, 2898, 1154, 3832,
++ 1411, 4469, 2351, 2352, 2353, 1212, 902, 2898, 1155, 2528,
++ 2528, 1303, 620, 2877, 3931, 2900, 2901, 1295, 1156, 2528,
++ 1157, 1687, 1293, 2889, 1158, 1749, 3931, 3931, 1943, 2899,
++ 1159, 610, 917, 918, 1412, 3054, 2135, 1160, 1588, 1004,
++ 2898, 2930, 123, -628, 1164, 2546, 1165, 2528, 2955, 1168,
++ 3553, 2920, 1213, 2968, 3057, 1230, -1775, 2931, 4419, 4420,
++ 2985, 1169, 1083, 2933, 2934, 2441, 1175, 1213, 1523, 2967,
++ 1610, 1611, 1612, 1613, 3931, 2400, 3084, 1230, 3158, 3159,
++ 1179, 2630, 3961, 3965, 3931, 1180, 1038, 1039, 1038, 1039,
++ 1005, 1181, 3558, 3333, 3334, 3554, 2932, 1589, 3559, 3833,
++ 3834, 1182, -1490, 2989, 3835, 3836, 3555, 1183, 2401, 4416,
++ 124, 1232, 3872, 3873, 1307, 3875, 3876, 1315, 610, 2528,
++ 1245, 3423, 1230, 1325, 1590, 2402, 1338, 3931, 1936, 3931,
++ 3405, 1944, 764, 3445, 3446, 1213, 1357, 2403, 3560, 3931,
++ 3823, 3824, -2575, 3586, 3587, 1340, 903, 904, 905, 906,
++ 907, 908, 3556, 947, 1358, -1490, 3623, 3631, 3931, 1359,
++ 3931, 1362, 3931, 909, 1214, 1365, 1524, 1373, 125, 3931,
++ 3424, 1614, 1374, 1615, 1616, 1617, 3647, 1230, 1006, 1378,
++ 3931, 2631, 1618, 3016, 4473, -1490, 1390, -1490, 3661, 1230,
++ 3676, 3677, 1399, 1591, 3792, 2446, 3931, 3931, 3807, 3808,
++ 1215, 1216, -1490, 2401, 1400, 2456, 3561, -1490, 3811, 3808,
++ 3812, 3808, 3931, 3931, 2404, 1215, 1216, 3931, 3871, 3446,
++ 2402, 3557, -1490, 1195, 3874, 3808, 1196, 3881, 3882, 1217,
++ -1490, 1401, 2403, 4018, 4019, -2575, 3373, -1490, 1749, 4023,
++ 3808, 4024, 3808, 2071, 262, 2749, 264, -1490, 2276, 1748,
++ 1416, 1300, 620, 620, 620, 4026, 3808, 3536, 3306, -1490,
++ 610, 4027, 3808, 1619, -1490, 4032, 4033, 1419, 1592, 4034,
++ 4033, -620, 2997, -1490, 4090, 4091, -786, 4218, 4019, 2747,
++ 620, 4219, 4019, 1215, 1216, 1687, 4227, 3446, 2456, 903,
++ 904, 1423, 906, 1945, 908, 4272, 4273, 1588, 1133, 3890,
++ 2457, 620, 620, 620, 1946, 3890, 909, 1424, 3562, 2404,
++ 1437, 1947, 1440, 2482, 3177, 1620, 1621, 1441, 2072, 1443,
++ 3179, 2632, 3181, 2638, 1448, 3133, 2405, 1453, 620, 3628,
++ 3176, 2436, 4316, 4317, 2926, 3602, -1490, 4334, 3332, 1686,
++ 3268, 4461, 4462, 1872, 1459, 1218, 1219, 1220, 1221, 1222,
++ 1223, 1224, 1225, 2038, 4086, 1465, 1589, -620, -1490, 1467,
++ 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, -1490, 1469,
++ 1676, 1677, 1038, 1039, 2456, 1472, 1609, 2039, 3558, 3462,
++ 3463, 1473, 1007, 2860, 3559, 2633, 2457, 2400, 1480, 2406,
++ 2437, 1477, 262, 1481, 264, 3382, -620, 1484, 3383, 1485,
++ -1490, 505, 1486, 1948, 3430, 3431, 3384, 2528, 1528, 947,
++ 2528, 2528, 1210, 2898, 2634, 3674, 3675, 2438, 1529, 1530,
++ 1596, 2405, 1533, 3385, 3560, 1535, 620, 1556, 1228, 2528,
++ 1220, 1221, 1222, 1223, 1224, 1225, 2038, 1210, 1536, 1560,
++ 1554, 2286, 1567, 3243, 2898, 1587, 1598, 1008, -1490, 1009,
++ 1633, 3246, 2861, 1622, 2287, 2898, 1173, 1644, 2898, 1645,
++ 2039, 1646, 2073, 4161, 1684, 3386, 1197, 1623, 1624, 1694,
++ -1490, 1752, 1613, 1593, 1703, 1295, 1719, 3756, 3757, 1725,
++ 3260, 1210, -620, 610, 2406, 1745, 2439, 505, 3317, 1753,
++ 3760, 1756, 3561, 1763, 1749, 1949, 2436, 3763, 494, 1759,
++ 1760, 1761, 3327, 1762, 2898, 1764, 1765, 1768, 1766, 1588,
++ 3207, -1490, 2184, 1769, 2288, 2401, 2289, 1792, 1795, 3336,
++ 3387, 3323, 2038, 3782, 3783, 2484, 1804, 2862, 2567, 1812,
++ 1813, 1923, 2402, 1814, 3347, 1596, 1820, 3075, 1564, 1565,
++ 1566, 610, 3339, 1686, 2403, 1924, 2039, 1815, 3261, 1823,
++ 1824, 1852, 1825, 3360, 1834, 2437, 1585, 1839, 4086, 1848,
++ -1490, 2440, 1881, 1882, 1883, 1884, 1886, -1490, 1589, 1895,
++ 1614, 1113, 1163, 1167, 1617, 1897, 2935, 4133, 2936, -1490,
++ -1490, 1618, 2438, 1899, 1912, 4170, 2042, 1364, 1648, 1921,
++ 2025, 1652, 1516, 3467, 3562, 2860, 2043, 1213, 2044, -1490,
++ 2045, -1490, 2046, 2047, 2290, 2062, 3349, 3892, -620, 2854,
++ 1669, 1670, 2084, -1490, 1674, 1296, 2066, 3388, 2092, 2937,
++ 3389, 2404, 1213, 2048, 2049, 2050, 2051, 2052, -1490, -1490,
++ 2053, 3422, -1490, -1490, 1688, 1689, 1969, 1970, 2054, 2793,
++ 2938, 2085, 2055, 3706, 2056, -1490, 4296, 2057, 2058, 2059,
++ 2436, 2439, 3852, 2060, 2061, 2792, 2102, 2103, 2291, 2104,
++ -1490, 2111, 1619, 2747, 2861, -1490, 1213, 2145, 4321, -769,
++ -769, 2117, 1972, 3842, 2939, 2105, 2119, 2120, 2121, 2144,
++ 2458, -769, 2146, 2772, 3457, 2151, 2152, 620, -1490, 2153,
++ 2155, 2161, 1975, 2166, -620, -1490, 620, 3390, 2200, 508,
++ 1976, 2456, 2717, 1925, 2170, -1490, 2174, 2227, 2191, 2437,
++ 2192, 1342, 620, 2197, 1225, 1621, 2201, -1490, 2212, 1210,
++ 2369, 1343, -1490, 2213, 1978, 2214, 2440, 2234, 3933, -1179,
++ 2240, -1490, 2863, 2405, 4035, 2250, 2438, 1344, 1459, 2862,
++ 1687, 1979, -1316, 2297, 2272, 1215, 1216, 2279, 2306, 1345,
++ 1346, 1347, 2528, 2312, 2315, 2318, 2349, 2350, 2365, 4382,
++ 2377, 4384, 2528, 2379, 2898, 1348, 2441, 2381, 4321, 1984,
++ 1215, 1216, 2382, 1687, 1926, 2386, 2408, 2409, -620, 2898,
++ 2413, 610, 2412, 2528, 2415, 508, 2419, 2421, 2422, 1686,
++ 4402, 2423, 2424, 2425, -1490, 2638, 2406, 1038, 1039, 2426,
++ 1927, 4003, 2456, 2468, 4454, 2439, 2473, 2474, 2477, 2482,
++ 2478, 2480, 1686, 2487, 1215, 1216, -1490, 2490, 2496, 1686,
++ 4326, 4327, 2497, 4329, 3391, 1686, -1490, 4465, 4434, 4435,
++ 262, 2481, 264, 2489, 4454, 2532, 2536, 2502, 1987, 2503,
++ 4465, 2538, 2562, 2508, 2509, 2516, 1988, 2570, 2614, 2038,
++ 2592, 2610, 1622, 3392, 2623, 2618, 2985, 2649, -1490, 2728,
++ 2650, 1989, 1928, 2400, -620, 3583, 2651, 1624, 2258, 2940,
++ 2661, 2695, 4372, 2039, 4373, 4374, 2292, 2293, 2294, 2662,
++ 2440, 3615, 3615, 3615, 2696, 3695, 1872, 2674, 3607, 2697,
++ 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 620, 2726,
++ 2727, 2693, 2704, 2713, 1213, 2714, -1490, 2729, 2730, 2736,
++ 2739, 2742, 2743, 2941, 1990, 1218, 1219, 1220, 1221, 1222,
++ 1223, 1224, 1225, 2741, 2750, 2756, 2775, 2751, -1490, 1966,
++ 1799, 2441, 1991, 2754, 2777, 2755, 1967, 4413, 1968, 2762,
++ 2774, 2778, 2779, 2357, 2863, 2356, 4173, 3992, 2797, 1969,
++ 1970, 1929, 2819, 2826, 2822, 3993, 4003, 2796, 2798, 1218,
++ 1219, 1220, 1221, 1222, 1223, 1224, 1225, 2831, 3684, -1490,
++ 2832, 2849, 1349, 1687, 2833, 2854, 4446, 2856, 2857, 3994,
++ 1971, 2905, 2907, 2964, 2974, 1972, 1973, 1995, 620, 1996,
++ 1350, 2401, 1974, 2978, 2995, 2980, 2994, 1998, 2999, 3003,
++ 1997, 3004, 1914, 2112, 3029, 1975, 3049, 2483, 2402, 3038,
++ 3043, 3051, 3052, 1976, 3118, 2116, 3053, 3123, 3061, 564,
++ 2403, 2484, 3062, 1977, -1775, -1490, 3105, 3107, 3109, 868,
++ 3615, 3114, 3130, 3117, 3128, 3135, 3138, 1978, -1490, 3139,
++ 523, 1317, 3148, 3142, 3154, 3852, 3157, 3746, 3163, 2638,
++ 3174, 1459, 1215, 1216, 1979, 3160, 3175, -1490, 4175, -1490,
++ 3180, 1980, 1981, 3188, 3208, 2004, 3212, 3213, 1982, 3216,
++ 3227, 3741, 3228, 1296, 3229, 3258, 1983, 3240, 620, 3318,
++ -892, 3325, 1984, 3257, 3249, 2441, -1490, -1490, 3321, 3329,
++ -1490, -1490, 3324, 3995, 3259, 3765, 524, 2404, 3331, 3342,
++ 3332, 2169, 3335, 3348, 3784, 2173, 3343, -443, 2333, 3351,
++ 1985, 3788, 3357, 3358, 3359, 3362, 1351, 3467, 3379, 3710,
++ 1969, 1970, 2005, 525, 3397, 3400, 3401, 2196, 676, 3347,
++ 3408, 3409, 3426, 3427, 3793, 3436, 3441, 3438, 2006, 3447,
++ 3460, 3449, 2007, 262, 3468, 264, 3476, 3485, 3477, 1986,
++ 3486, 1987, 620, -769, -769, 3506, 1972, 526, 3498, 1988,
++ 3509, 2008, 3510, 3523, 3530, -769, 3580, 2530, 3582, 3996,
++ 3584, 1352, 3590, 3594, 1989, 3603, 1975, 3604, 3608, 2010,
++ 3605, 3609, 3611, 3621, 1976, 3622, 3623, 3997, 3624, 1353,
++ 3625, 820, 821, 3629, 3632, 3635, 4173, 3637, 1219, 1220,
++ 1221, 1222, 1223, 1224, 1225, 527, 3639, 3648, 1978, 2405,
++ 3732, 3998, 3640, 3641, 3644, 3649, 3650, 703, 3662, 3663,
++ 620, 3672, 1459, 3679, 3680, 1979, 3689, 1990, 3677, 3178,
++ 3691, 3692, 3697, 3696, 3700, 3702, -1405, 3703, 3864, 3744,
++ -1410, 3024, 3714, 3747, 3570, 1991, 3727, 3759, 3728, 1992,
++ 3769, 3615, 3615, 1984, 3615, 3615, 3730, 504, 3731, 3770,
++ 3755, 676, 3761, 4243, 3771, 3772, 3773, 3775, 3776, 707,
++ 3794, 3573, 2406, 2638, 3795, 3810, 708, 4003, 4243, 3813,
++ 3814, 3817, 822, 3821, 3822, 3825, 3827, 3840, 1993, 3828,
++ 3631, 4253, 3829, 1994, 3841, 3844, 3845, 3855, 3856, 3886,
++ 1995, 3899, 1996, 712, 713, 3860, 4443, 3862, 3880, 1997,
++ 1998, 823, 3893, 3894, 262, 3900, 264, 3898, 4368, 3942,
++ 3938, 610, 1987, 3934, 824, 3957, -65, 3967, 1251, 3972,
++ 1988, 528, 3615, 3968, 3974, 3982, 3969, 4015, 4020, 505,
++ 4443, 1999, 4017, 3732, 4028, 1989, 825, 3985, 4036, 826,
++ 703, 4038, 4056, -309, 4065, 2000, 2001, 2002, 2003, 2594,
++ 827, 1252, 4058, 4059, 4069, 610, 4076, 4077, 3989, 4081,
++ 4093, 4096, 721, 4105, -817, 4097, 620, 947, 2004, 4107,
++ 4109, 828, 4138, 2959, 4141, 4102, 3939, -327, 4167, 4169,
++ 4168, 4189, 4368, 3999, 4204, 803, 4186, 4216, 1990, 529,
++ 4220, 4192, 707, 4228, 4221, 4222, 4029, 829, 4223, 708,
++ 4231, 4232, 4239, 4243, 830, 4233, 1991, 4240, 4252, 4244,
++ 4250, 4251, 506, 4358, 4255, 4262, 4276, 4042, 4277, 1253,
++ 3983, 732, 4049, 4278, 4279, 2005, 712, 713, 4288, 4297,
++ 4292, 4287, 3766, 4299, 4301, 4302, 736, 737, 4311, 4305,
++ -2311, 2006, 4314, 1254, 831, 2007, 1255, 530, 4328, 4325,
++ 4330, 4331, 4471, 531, 4333, 4346, 4360, 4359, 4365, 4362,
++ 4376, 1995, -1574, 1996, 2008, 4379, 4381, 4380, 4392, 2009,
++ 4385, 1998, 532, 4390, 4386, 4393, 4396, 4401, 4071, 4398,
++ 1256, 4399, 2010, 4405, 4407, 4414, 4418, 4422, 4410, 4243,
++ 4411, 4243, 4424, 4431, 4459, 721, 1687, 533, 4412, 1257,
++ 4432, 4455, 2561, 4468, 4051, 2721, 3593, 3592, 2869, 4243,
++ 1061, 3798, 4203, 1258, 534, 4066, 4312, 4176, 4313, 3796,
++ 3800, 3937, 1471, 4466, 4426, 578, 959, 2341, 4436, 3864,
++ 3162, 3864, 3911, 4114, 3912, 3914, 3915, 3917, 803, 2004,
++ 3918, 4243, 4243, 803, 3919, 3920, 4458, 3921, -892, 3922,
++ 4343, 4237, 4344, 3925, 732, 4310, 3926, 3927, 4249, 4142,
++ 4248, 1259, 1965, 2261, 1532, 2520, 2036, 2011, 4068, 736,
++ 737, 3253, 832, 3141, 3682, 3146, 833, 3440, 4191, 3984,
++ 803, 4261, 1260, 3685, 1802, 4395, 4324, 4367, 4183, 4104,
++ 2069, 663, 834, 3804, 2518, 3340, 2005, 803, 3522, 2961,
++ 835, 3022, 3511, 3515, 4182, 3989, 507, 2525, 836, 4377,
++ 4135, 3888, 2006, 3394, 3538, 620, 2007, 3579, 2719, 756,
++ 3774, 4209, 4188, 3733, 4196, 4197, 3734, 508, 3764, 4120,
++ 519, 3474, 520, 837, 4225, 2008, 4226, 762, 803, 803,
++ 803, 803, 764, 2101, 4079, 765, 838, 839, 4073, 4078,
++ 803, 3956, 2604, 2010, 3891, 2522, 3513, 2949, 1439, 1012,
++ 2397, 3743, 1898, 3512, 509, 2759, 2324, -535, 2034, 2067,
++ 510, 3132, 2737, 3437, 2780, 3932, 983, 2692, 1369, 3425,
++ 2355, 2641, 4323, 3116, 1643, 1261, 2844, 2639, 2691, 3482,
++ 4022, 840, 3868, 4285, 1262, 3591, 4286, 1586, 2711, 3517,
++ 1687, 3865, 3199, 1915, 3735, 3736, 511, 4417, 2944, 1263,
++ 3854, 893, 821, 2595, 512, 2787, 2608, 821, 1786, 1818,
++ 2735, 620, 841, 2765, 3687, 3453, 3452, 1264, 4269, 4270,
++ 3492, 803, 4258, 971, 2110, 1079, 2985, 2985, 955, 2388,
++ 1864, 1887, 2389, 2273, 842, 3521, 843, 3439, 4363, 1822,
++ 4280, 4394, 756, 4332, 4467, 4470, 3733, 3456, 3768, 3734,
++ 2366, 3196, 1837, 3478, 3701, 3857, 1265, 1266, 896, 2311,
++ 762, 1829, 1356, 3973, 1779, 764, 2091, 3981, 765, 3120,
++ 1361, 898, 1065, 0, 657, 620, 658, 1066, 1067, 0,
++ 0, 0, 1267, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 822, 0, 0, 0, 0, 822, 0, 0,
++ 0, 498, 4348, 0, 1268, 499, 0, 0, 0, 4356,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 823, 0, 0, 0, 0, 823, 3735, 3736, 0,
++ 0, 0, 0, 0, 824, 0, 0, 0, 0, 824,
++ 1605, 1606, 1607, 1608, 1609, 0, 0, 0, 0, 0,
++ 0, 0, 4460, 1269, 0, 0, 825, 4375, 0, 826,
++ 0, 825, 0, 0, 826, 0, 0, 0, 0, 0,
++ 827, 0, 0, 0, 0, 827, 0, 803, 0, 0,
++ 0, 0, 0, 0, 0, 4403, 0, 0, 0, 0,
++ 4408, 828, 0, 0, 0, 0, 828, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 829, 0, 0,
++ 0, 0, 829, 0, 830, 0, 0, 4444, 0, 830,
++ 0, 0, 0, 803, 803, 0, 1687, 1610, 1611, 1612,
++ 1613, 0, 803, 803, 803, 803, 803, 803, 803, 803,
++ 803, 803, 803, 803, 803, 620, 0, 0, 0, 1687,
++ 0, 4444, 803, 803, 831, 803, 1687, 803, 0, 831,
++ 0, 803, 1687, 0, 803, 803, 803, 803, 0, 803,
++ 803, 803, 0, 0, 0, 0, 0, 0, 803, 803,
++ 0, 803, 803, 803, 803, 803, 0, 0, 803, 803,
++ 803, 803, 803, 803, 803, 803, 803, 803, 803, 0,
++ 0, 803, 803, 0, 1251, 803, 0, 0, 0, 803,
++ 0, 803, 803, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 803, 803, 0, 1614, 0,
++ 1615, 1616, 1617, 803, 0, 0, 0, 1252, 0, 1618,
++ 803, 803, 803, 803, 0, 0, 0, 0, 0, 0,
++ 0, 803, 803, 803, 0, 803, 803, 803, 803, 803,
++ 0, 803, 803, 803, 803, 803, 803, 803, 803, 0,
++ 0, 0, 803, 803, 0, 0, 0, 0, 0, 0,
++ 0, 0, 832, 0, 0, 0, 894, 832, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 834, 0, 0, 1253, 0, 834, 0, 0,
++ 835, 0, 0, 0, 0, 835, 0, 0, 836, 0,
++ 1619, 0, 0, 836, 0, 0, 0, 0, 0, 1254,
++ 0, 0, 1255, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 837, 0, 0, 0, 0, 837, 803,
++ 0, 0, 0, 0, 0, 0, 838, 839, 0, 0,
++ 0, 838, 839, 0, 0, 0, 1256, 0, 0, 0,
++ 0, 0, 1620, 1621, 0, 1087, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1258,
++ 0, 840, 0, 0, 0, 0, 840, 0, 0, 0,
++ 0, 803, 1125, 0, 0, 0, 0, 0, 0, 803,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1143,
++ 0, 1493, 841, 0, 0, 0, 0, 841, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 1259, 0, 0,
++ 0, 0, 0, 0, 842, 0, 843, 0, 0, 842,
++ 0, 843, 0, 0, 0, 0, 0, 0, 1260, 0,
++ 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
++ 1494, 1495, 1496, 1497, 1498, 1499, 0, 1500, 1501, 1502,
++ 1503, 1504, 1505, 1506, 3, 1507, 1508, 0, 4, 0,
++ 1622, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 2024, 5, 6, 1623, 1624, 0, 0, 0, 0,
++ 7, 0, 0, 0, 0, 8, 9, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
++ 0, 0, 0, 1316, 0, 0, 0, 0, 0, 0,
++ 0, 1261, 0, 0, 0, 0, 11, 0, 0, 0,
++ 1262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 1263, 0, 12, 0, 0,
++ 0, 0, 0, 0, 0, 13, 14, 15, 0, 0,
++ 803, 0, 0, 1264, 0, 0, 0, 16, 17, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 18, 0, 0, 1509, 1510, 0, 0, 0, 0, 0,
++ 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
++ 0, 0, 1265, 1266, 0, 0, 0, 0, 0, 20,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 21, 0, 0, 1267, 22,
++ 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 1268, 0, 0, 0, 0, 0, 0, 0, 24, 0,
++ 25, 0, 0, 0, 0, 0, 0, 0, 0, 1492,
++ 0, 0, 803, 803, 803, 0, 26, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 803, 0, 0, 0,
++ 0, 0, 0, 0, 27, 0, 0, 0, 28, 1269,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 803, 0, 0, 0, 0, 0, 803, 0,
++ 0, 803, 0, 803, 0, 1558, 1559, 0, 0, 803,
++ 0, 803, 803, 0, 1569, 1570, 0, 0, 1573, 1574,
++ 1575, 1578, 1579, 1580, 1581, 1582, 1583, 0, 0, 0,
++ 0, 0, 0, 0, 1599, 1600, 0, 1601, 0, 1602,
++ 0, 0, 0, 0, 0, 0, 1635, 1636, 1637, 1638,
++ 0, 0, 1641, 0, 0, 0, 0, 0, 0, 0,
++ 1649, 1650, 0, 1653, 1654, 0, 0, 0, 29, 0,
++ 1658, 1659, 1660, 0, 0, 1663, 1664, 1665, 1666, 1667,
++ 1668, 0, 803, 1671, 1672, 30, 0, 1675, 0, 31,
++ 0, 1678, 0, 1682, 1683, 0, 0, 0, 0, 0,
++ 32, 0, 0, 0, 0, 0, 0, 1690, 1691, 0,
++ 0, 33, 0, 0, 0, 1699, 0, 0, 0, 0,
++ 0, 0, 1704, 1705, 1706, 0, 0, 0, 0, 0,
++ 0, 0, 0, 34, 1969, 1970, 35, 0, 36, 0,
++ 0, 37, 0, 0, 38, 39, 0, 0, 0, 0,
++ 0, 0, 40, 0, 41, 1742, 0, 0, 0, 0,
++ 0, 42, 0, 0, 0, 0, 0, 43, 0, 0,
++ 1972, 0, 0, 915, 0, 44, 0, 0, 0, 0,
++ 45, 0, 46, 872, 916, 47, 0, 0, 0, 0,
++ 1975, 0, 0, 0, 0, 0, 0, 0, 1976, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 917, 918,
++ 48, 0, 0, 0, 49, 0, 919, 0, 0, 0,
++ 0, 920, 1978, 0, 0, 0, 0, 0, 0, 0,
++ 0, 1789, 0, 0, 0, 0, 1459, 0, 0, 1979,
++ 0, 0, 0, 0, 0, 0, 0, 0, 921, 0,
++ 922, 0, 923, 0, 0, 0, 0, 0, 0, 50,
++ 0, 924, 0, 0, 0, 0, 0, 1984, 0, 0,
++ 0, 51, 0, 0, 0, 52, 0, 0, 53, 0,
++ 0, 0, 0, 0, 54, 0, 2024, 0, 0, 0,
++ 0, 0, 0, 1836, 0, 0, 0, 0, 0, 0,
++ 0, 1851, 0, 0, 0, 0, 0, -1775, 925, 0,
++ 0, 0, 926, 55, 0, 927, 803, 0, 0, 56,
++ 0, 0, 0, 0, 0, 0, 0, 0, 262, 0,
++ 264, 0, 57, 0, 0, 0, 1987, 0, 0, 0,
++ 0, 928, 0, 929, 1988, 0, 0, 0, 0, 0,
++ 930, 0, 931, 0, 0, 0, 0, 0, 0, 1989,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 2024, 0, 0, 0, 0, 932, 933, 934, 0,
++ 0, 0, 0, 0, 0, 0, 0, 803, 0, 0,
++ 0, 803, 0, 0, 0, 0, 803, 803, 0, 935,
++ 0, 0, 0, 0, 0, 803, 803, 0, 803, 803,
++ 803, 803, 1990, 803, 0, 0, 803, 0, 0, 0,
++ 0, 936, 0, 0, 0, 0, 803, 0, 803, 803,
++ 1991, 803, 803, 803, 803, 0, 803, 0, 0, 803,
++ 0, 0, 0, 0, 0, 0, 0, 937, 803, 0,
++ 0, 0, 0, 0, 0, 803, 0, 803, 0, 803,
++ 803, 803, 803, 0, 0, 0, 803, 803, 803, 0,
++ 0, 0, 803, 803, 803, 0, 803, 0, 803, 0,
++ 803, 0, 803, 0, 803, 1995, 0, 1996, 0, 803,
++ 0, 0, 2122, 0, 0, 1998, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 803, 0, 0,
++ 0, 0, 0, 938, 803, 0, 0, 803, 0, 0,
++ 0, 0, 0, 803, 0, 0, 803, 0, 0, 0,
++ 803, 0, 0, 0, 0, 0, 0, 0, 0, 939,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 940, 941, 0, 0, 942, 943, 0, 0, 0, 0,
++ 0, 0, 0, 2004, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 944, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 803, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 2204, 2206, 2208, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 945, 0,
++ 2005, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 946, 0, 0, 0, 0, 2006, 0, 0, 0,
++ 2007, 0, 0, 0, 2242, 0, 0, 0, 0, 0,
++ 0, 0, 0, 2247, 0, 2248, 0, -2341, 0, 2008,
++ 0, 947, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 2010, 0, 948,
++ 949, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 2867, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 2867, 2867, 1, 0, 2, 0, 0, 0, 950, 0,
++ 0, 0, 0, 0, 2320, 0, 0, 0, 0, -2341,
++ 0, 0, 0, 0, 4, 0, 0, 951, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 5, 6,
++ 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
++ 0, 8, 9, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 2024, 10, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 12, 0, 0, 0, 0, 2867, 2867,
++ 0, 13, 14, 15, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 16, 17, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 2024, 0, 0, 0, 0, 0, 0, 19,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 803,
++ 0, 0, 0, 803, 0, 20, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 21, 0, 0, 0, 22, 0, 0, 0, 23,
++ 0, 0, 0, 803, 803, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 803, 24, 0, 25, 0, 0, 0,
++ 0, 0, 803, 0, 803, 0, 803, 0, 0, 0,
++ 0, 0, 26, 0, 0, 0, 0, 0, 2537, 0,
++ 0, 0, 0, 0, 0, 0, 803, 0, 0, 0,
++ 27, 803, 0, 0, 28, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 803, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2617,
++ 0, 0, 0, 2619, 0, 0, 0, 0, 2621, 2622,
++ 0, 0, 0, 0, 0, 0, 0, 1575, 2640, 0,
++ 1575, 0, 2643, 2644, 0, 2645, 0, 0, 0, 0,
++ 0, 0, 803, 0, 29, 0, 803, 0, 2652, 0,
++ 2653, 0, 0, 2655, 2656, 2657, 2658, 0, 2659, 0,
++ 0, 30, 0, 0, 0, 31, 0, 0, 0, 0,
++ 2663, 0, 0, 0, 0, 0, 32, 2664, 0, 2665,
++ 0, 2666, 2667, 2668, 0, 0, 0, 33, 2671, 2672,
++ 2673, 0, 0, 803, 2675, 2676, 2677, 0, 2678, 0,
++ 2680, 0, 2682, 0, 2684, 0, 2685, 0, 0, 34,
++ 0, 2686, 35, 0, 36, 0, 0, 37, 0, 0,
++ 38, 39, 0, 0, 0, 0, 0, 0, 40, 2699,
++ 41, 0, 0, 0, 0, 0, 0, 42, 0, 0,
++ 0, 0, 0, 43, 0, 2709, 0, 0, 2712, 0,
++ 0, 44, 0, 0, 0, 0, 45, 0, 46, 0,
++ 0, 47, 2947, 0, 0, 0, 0, 0, 0, 1967,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 1969, 1970, 0, 0, 48, 0, 0, 0,
++ 49, 0, 0, 0, 0, 0, 0, 3262, 3263, 0,
++ 0, 0, 0, 3264, 0, 3265, 0, 3266, 3267, 0,
++ 0, 0, 0, 1971, 803, 803, 0, 0, 1972, 0,
++ 0, 0, 0, 0, 3268, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 50, 0, 0, 1975, 2867,
++ 0, 0, 0, 0, 0, 0, 1976, 51, 0, 0,
++ 0, 52, 0, 0, 53, 0, 1977, 0, 0, 0,
++ 54, 0, 0, 0, 0, 0, 0, 2024, 0, 0,
++ 1978, 0, 0, 0, 0, 0, 0, 0, 0, 3269,
++ 803, 0, 3270, 0, 1459, 0, 0, 1979, 0, 55,
++ 3271, 0, 0, 0, 1980, 56, 0, 0, 0, 0,
++ 0, 2948, 0, 0, 0, 0, 0, 3272, 57, 1983,
++ 0, 0, 0, 803, 803, 1984, 803, 0, 0, 0,
++ 0, 0, 0, 0, 3273, 803, 0, 0, 0, 0,
++ 803, 0, 0, 803, 0, 803, 803, 0, 0, 0,
++ 0, 0, 0, 1985, 0, 0, 0, 3274, 0, 3275,
++ 0, 0, 0, 0, 0, 0, 803, 0, 0, 0,
++ 0, 0, 3276, 3277, 0, 0, 0, 0, 0, 0,
++ 0, 803, 0, 0, 0, 0, 262, 0, 264, 0,
++ 0, 0, 0, 0, 1987, 0, 0, 0, 0, 0,
++ 0, 0, 1988, 0, 0, 0, 803, 0, 0, 0,
++ 0, 0, 0, 0, 3278, 0, 0, 1989, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 803, 0, 0, 0,
++ 0, 0, 0, 3279, 0, 1969, 1970, 0, 0, 0,
++ 803, 0, 3280, 3281, 0, 3282, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 1990, 803, 0, 0, 0, 0, 0, 0, -769, -769,
++ 803, 1972, 0, 0, 3283, 3284, 3285, 0, 1991, 0,
++ -769, 0, 1992, 0, 0, 0, 0, 0, 0, 0,
++ 0, 1975, 0, 3286, 3287, 3288, 0, 0, 0, 1976,
++ 0, 3289, 0, 0, 3290, 0, 0, 0, 0, 0,
++ 0, 3034, 0, 0, 0, 3036, 0, 0, 0, 0,
++ 3291, 3292, 0, 1978, 0, 0, 1994, 0, 0, 0,
++ 0, 0, 0, 1995, 0, 1996, 0, 1459, 0, 0,
++ 1979, 0, 0, 1998, 0, 3064, 3065, 0, 0, 0,
++ 0, 0, 3569, 0, 0, 0, 3293, 3294, 0, 0,
++ 0, 0, 0, 0, 0, 3085, 0, 0, 1984, 0,
++ 0, 0, 0, 0, 3095, 0, 3097, 0, 3099, 0,
++ 0, 3295, 0, 0, 0, 0, 0, 0, 0, 2001,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 2004, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 3129, 0, 262,
++ 0, 264, 3296, 0, 0, 0, 3297, 1987, 0, 0,
++ 0, 0, 0, 0, 0, 1988, 0, 0, 3298, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 1989, 0, 0, 0, 0, 0, 0, 0, 2005, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 2006, 0, 0, 0, 2007, 0,
++ 0, 0, 0, 803, 3186, 0, 0, 0, 3190, 0,
++ 0, 0, 3299, 0, 0, 3300, 0, 2008, 3301, 3302,
++ 3303, 3304, 0, 1990, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 2010, 0, 0, 0, 0,
++ 0, 1991, 803, 803, 0, 0, 0, 0, 0, 0,
++ 0, 803, 0, 0, 0, 3222, 0, 0, 0, 0,
++ 0, 0, 3305, 3306, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 3307, 0,
++ 0, 0, 0, 0, 0, 0, 1995, 0, 1996, 0,
++ 0, 0, 0, 0, 0, 0, 1998, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 3569, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 2024, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 2004, 0, 3319, 3320, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 803, 0, 0, 0, 803,
++ 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,
++ 803, 2005, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 3365, 0, 803, 0, 0, 2006, 0, 0,
++ 0, 2007, 0, 0, 0, 0, 0, 803, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 2008, 0, 0, 0, 0, 3403, 3404, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 3411, 2010, 0,
++ 0, 0, 3413, 0, 0, 3414, 0, 3415, 3416, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 3433, 0, 0, 0, 0, 0, 0,
++ 3929, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 3433, 0,
++ 3955, 0, 0, 0, 3955, 3955, 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, 803, 0, 0, 0, 0,
++ 0, 0, 3479, 803, 0, 0, 0, 0, 0, 0,
++ 0, 0, 803, 0, 803, 0, 0, 0, 0, 0,
++ 0, 0, 0, 3433, 0, 0, 0, 0, 0, 0,
++ 0, 0, 3503, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 803, 0, 0, 0, 0, 0, 3929,
++ 3929, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 3955, 0, 0, 0, 0, 0,
++ 0, 0, 0, 3955, 0, 0, 0, 3955, 0, 0,
++ 0, 0, 803, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 803,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 3955, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 803, 0, 803, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 803, 0, 3929, 3929, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 4184, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 3433, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 3955, 0, 3955, 3955, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 3712, 3713, 0, 803, 0, 3929,
++ 0, 0, 0, 3222, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 3929, 803, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 3929, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 803, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 803, 3929,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 3929, 3929, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 803, 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, 3222, 0, 3929,
++ 0, 3820, 0, 0, 0, 0, 803, 0, 0, 3929,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 3433, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 803, 3222, 0, 0, 0,
++ 0, 0, 3929, 0, 3929, 0, 0, 0, 0, 3186,
++ 0, 0, 0, 0, 3929, 0, 0, 0, 803, 0,
++ 0, 803, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 3929, 0, 3929, 0, 3929, 0, 0,
++ 0, 0, 0, 0, 3929, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 3929, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 3929, 3929, 0, 0, 0, 0, 803, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 3929, 3929, 0,
++ 0, 0, 3929, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 803, 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, 4009, 0, 0, 0, 0,
++ 0, 0, 0, 0, 4014, 0, 4016, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 4037, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 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, 3222, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 3222, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 4136, 0, 4137, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 4145, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4241,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 4246, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 3433, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 4295, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 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, 4350, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 4378, 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, 4397, 0, 0, 0, 139, 0, 672,
++ 141, 142, 143, 144, 0, 0, 145, 0, 0, 0,
++ 146, 0, 0, 673, 0, 148, 149, 150, 151, 152,
++ 674, 154, 0, 155, 0, 0, 675, 156, 676, 677,
++ 678, 157, 679, 0, 158, 159, 160, 1679, 161, 0,
++ 162, 163, 0, 0, 164, 680, 681, 165, 166, 4445,
++ 167, 682, 683, 169, 170, 0, 171, 172, 173, 174,
++ 175, 684, 177, 0, 685, 179, 686, 687, 688, 689,
++ 690, 691, 0, 186, 187, 188, 189, 190, 191, 192,
++ 193, 0, 194, 195, 0, 196, 197, 198, 692, 200,
++ 0, 201, 693, 694, 202, 0, 3433, 203, 695, 696,
++ 0, 204, 697, 698, 0, 205, 206, 207, 699, 700,
++ 701, 0, 0, 0, 0, 702, 210, 703, 0, 0,
++ 704, 211, 0, 212, 0, 0, 0, 213, 0, 214,
++ 215, 216, 217, 0, 0, 0, 218, 0, 0, 219,
++ 220, 221, 0, 0, 0, 222, 0, 223, 224, 0,
++ 225, 226, 227, 0, 228, 229, 0, 230, 231, 232,
++ 233, 234, 235, 705, 0, 236, 237, 238, 706, 707,
++ 239, 240, 0, 241, 242, 243, 708, 0, 244, 0,
++ 0, 0, 245, 0, 246, 0, 247, 0, 248, 249,
++ 709, 251, 710, 253, 0, 254, 0, 711, 255, 256,
++ 257, 0, 258, 712, 713, 0, 259, 260, 0, 0,
++ 0, 714, 262, 263, 264, 715, 0, 265, 266, 267,
++ 0, 268, 0, 269, 0, 0, 0, 716, 270, 271,
++ 717, 0, 0, 272, 0, 273, 274, 0, 275, 276,
++ 0, 0, 0, 277, 0, 0, 278, 279, 718, 0,
++ 1680, 281, 0, 719, 282, 283, 0, 0, 0, 0,
++ 0, 720, 285, 0, 286, 0, 287, 0, 288, 289,
++ 0, 0, 721, 0, 0, 0, 290, 291, 292, 293,
++ 294, 295, 296, 297, 298, 299, 300, 301, 302, 0,
++ 303, 304, 305, 722, 306, 307, 308, 309, 723, 310,
++ 311, 0, 0, 0, 0, 312, 313, 314, 315, 724,
++ 317, 0, 0, 725, 319, 726, 320, 0, 321, 727,
++ 728, 729, 730, 731, 326, 327, 328, 329, 330, 331,
++ 0, 732, 332, 333, 0, 0, 334, 335, 336, 337,
++ 733, 734, 735, 338, 339, 0, 736, 737, 0, 340,
++ 341, 738, 0, 343, 344, 345, 346, 0, 347, 348,
++ 0, 0, 0, 0, 0, 0, 0, 0, 349, 350,
++ 351, 0, 739, 352, 0, 353, 354, 355, 356, 740,
++ 358, 359, 360, 361, 741, 742, 364, 743, 0, 365,
++ 366, 367, 0, 368, 0, 369, 370, 371, 372, 373,
++ 0, 744, 375, 376, 0, 0, 377, 0, 0, 0,
++ 378, 379, 380, 381, 382, 0, 0, 383, 384, 385,
++ 386, 387, 0, 388, 389, 0, 390, 391, 392, 745,
++ 746, 393, 0, 394, 0, 395, 396, 0, 397, 398,
++ 0, 0, 747, 399, 400, 401, 402, 403, 748, 405,
++ 406, 407, 408, 0, 749, 410, 0, 0, 0, 411,
++ 412, 413, 414, 0, 0, 0, 415, 0, 0, 0,
++ 416, 0, 417, 418, 419, 420, 0, 421, 422, 423,
++ 424, 425, 426, 0, 0, 0, 0, 0, 0, 427,
++ 428, 0, 429, 0, 0, 430, 0, 0, 431, 432,
++ 433, 750, 751, 434, 435, 0, 436, 437, 752, 439,
++ 440, 441, 753, 754, 442, 443, 444, 445, 755, 446,
++ 447, 0, 448, 0, 449, 450, 451, 452, 0, 756,
++ 453, 454, 0, 757, 758, 759, 760, 0, 0, 0,
++ 0, 1681, 459, 460, 461, 0, 761, 762, 763, 463,
++ 464, 465, 764, 466, 467, 765, 468, 469, 0, 470,
++ 471, 0, 0, 472, 0, 0, 473, 0, 474, 0,
++ 766, 476, 477, 0, 0, 767, 768, 769, 770, 478,
++ 0, 0, 479, 771, 0, 772, 480, 481, 482, 483,
++ 484, 773, 0, 0, 0, 0, 0, 0, 486, 487,
++ 0, 488, 489, 490, 0, 0, 774, 0, 0, 0,
++ 0, 0, 0, 0, 775, 776, 0, 0, 0, 0,
++ 777, 778, 0, 0, 779, 780, 0, 0, 781, 782,
++ 139, 0, 672, 141, 142, 143, 144, 3182, 0, 145,
++ 0, 0, 0, 146, 0, 0, 673, 0, 148, 149,
++ 150, 151, 152, 674, 154, 0, 155, 0, 0, 3183,
++ 156, 676, 677, 678, 157, 679, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 680, 681,
++ 165, 166, 0, 167, 682, 683, 169, 170, 0, 171,
++ 172, 173, 174, 175, 684, 177, 0, 685, 179, 686,
++ 687, 688, 689, 690, 691, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 692, 200, 0, 201, 693, 694, 202, 0, 0,
++ 203, 695, 696, 0, 204, 697, 698, 0, 205, 206,
++ 207, 699, 700, 701, 0, 0, 0, 0, 702, 210,
++ 703, 0, 0, 3184, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 705, 0, 236, 237,
++ 238, 706, 707, 239, 240, 0, 241, 242, 243, 708,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 709, 251, 710, 253, 0, 254, 0,
++ 711, 255, 256, 257, 0, 258, 712, 713, 0, 259,
++ 260, 0, 0, 0, 714, 262, 263, 264, 715, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 716, 270, 271, 717, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 718, 0, 0, 281, 0, 719, 282, 283, 0,
++ 0, 0, 0, 0, 720, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 721, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 722, 306, 307, 308,
++ 309, 723, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 724, 317, 0, 0, 725, 319, 726, 320,
++ 0, 321, 727, 728, 729, 730, 731, 326, 327, 328,
++ 329, 330, 331, 0, 732, 332, 333, 0, 0, 334,
++ 335, 336, 337, 733, 734, 735, 338, 339, 0, 736,
++ 737, 0, 340, 341, 738, 3185, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 739, 352, 0, 353, 354,
++ 355, 356, 740, 358, 359, 360, 361, 741, 742, 364,
++ 743, 0, 365, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 744, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 745, 746, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 747, 399, 400, 401, 402,
++ 403, 748, 405, 406, 407, 408, 0, 749, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 750, 751, 434, 435, 0, 436,
++ 437, 752, 439, 440, 441, 753, 754, 442, 443, 444,
++ 445, 755, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 756, 453, 454, 0, 757, 758, 759, 760,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 761,
++ 762, 763, 463, 464, 465, 764, 466, 467, 765, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 766, 476, 477, 0, 0, 767, 768,
++ 769, 770, 478, 0, 0, 479, 771, 0, 772, 480,
++ 481, 482, 483, 484, 773, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 0, 774,
++ 0, 0, 0, 0, 0, 0, 0, 775, 776, 0,
++ 0, 0, 0, 777, 778, 0, 0, 779, 780, 0,
++ 0, 781, 782, 139, 0, 672, 141, 142, 143, 144,
++ 0, 0, 145, 0, 0, 0, 146, 0, 0, 673,
++ 0, 148, 149, 150, 151, 152, 674, 154, 0, 155,
++ 0, 0, 675, 156, 676, 677, 678, 157, 679, 0,
++ 158, 159, 160, 0, 161, 0, 162, 163, 0, 0,
++ 164, 680, 681, 165, 166, 0, 167, 682, 683, 169,
++ 170, 0, 171, 172, 173, 174, 175, 684, 177, 0,
++ 685, 179, 686, 687, 688, 689, 690, 691, 0, 186,
++ 187, 188, 189, 190, 191, 192, 193, 0, 194, 195,
++ 0, 196, 197, 198, 692, 200, 0, 201, 693, 694,
++ 202, 0, 0, 203, 695, 696, 0, 204, 697, 698,
++ 0, 205, 206, 207, 699, 700, 701, 0, 0, 0,
++ 0, 702, 210, 703, 0, 0, 704, 211, 0, 212,
++ 0, 0, 0, 213, 0, 214, 215, 216, 217, 0,
++ 0, 0, 218, 0, 0, 219, 220, 221, 0, 0,
++ 0, 222, 0, 223, 224, 0, 225, 226, 227, 0,
++ 228, 229, 0, 230, 231, 232, 233, 234, 235, 705,
++ 0, 236, 237, 238, 706, 707, 239, 240, 0, 241,
++ 242, 243, 708, 0, 244, 0, 0, 0, 245, 2203,
++ 246, 0, 247, 0, 248, 249, 709, 251, 710, 253,
++ 0, 254, 0, 711, 255, 256, 257, 0, 258, 712,
++ 713, 0, 259, 260, 0, 0, 0, 714, 262, 263,
++ 264, 715, 0, 265, 266, 267, 0, 268, 0, 269,
++ 0, 0, 0, 716, 270, 271, 717, 0, 0, 272,
++ 0, 273, 274, 0, 275, 276, 0, 0, 0, 277,
++ 0, 0, 278, 279, 718, 0, 0, 281, 0, 719,
++ 282, 283, 0, 0, 0, 0, 0, 720, 285, 0,
++ 286, 0, 287, 0, 288, 289, 0, 0, 721, 0,
++ 0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
++ 298, 299, 300, 301, 302, 0, 303, 304, 305, 722,
++ 306, 307, 308, 309, 723, 310, 311, 0, 0, 0,
++ 0, 312, 313, 314, 315, 724, 317, 0, 0, 725,
++ 319, 726, 320, 0, 321, 727, 728, 729, 730, 731,
++ 326, 327, 328, 329, 330, 331, 0, 732, 332, 333,
++ 0, 0, 334, 335, 336, 337, 733, 734, 735, 338,
++ 339, 0, 736, 737, 0, 340, 341, 738, 0, 343,
++ 344, 345, 346, 0, 347, 348, 0, 0, 0, 0,
++ 0, 0, 0, 0, 349, 350, 351, 0, 739, 352,
++ 0, 353, 354, 355, 356, 740, 358, 359, 360, 361,
++ 741, 742, 364, 743, 0, 365, 366, 367, 0, 368,
++ 0, 369, 370, 371, 372, 373, 0, 744, 375, 376,
++ 0, 0, 377, 0, 0, 0, 378, 379, 380, 381,
++ 382, 0, 0, 383, 384, 385, 386, 387, 0, 388,
++ 389, 0, 390, 391, 392, 745, 746, 393, 0, 394,
++ 0, 395, 396, 0, 397, 398, 0, 0, 747, 399,
++ 400, 401, 402, 403, 748, 405, 406, 407, 408, 0,
++ 749, 410, 0, 0, 0, 411, 412, 413, 414, 0,
++ 0, 0, 415, 0, 0, 0, 416, 0, 417, 418,
++ 419, 420, 0, 421, 422, 423, 424, 425, 426, 0,
++ 0, 0, 0, 0, 0, 427, 428, 0, 429, 0,
++ 0, 430, 0, 0, 431, 432, 433, 750, 751, 434,
++ 435, 0, 436, 437, 752, 439, 440, 441, 753, 754,
++ 442, 443, 444, 445, 755, 446, 447, 0, 448, 0,
++ 449, 450, 451, 452, 0, 756, 453, 454, 0, 757,
++ 758, 759, 760, 0, 0, 0, 0, 0, 459, 460,
++ 461, 0, 761, 762, 763, 463, 464, 465, 764, 466,
++ 467, 765, 468, 469, 0, 470, 471, 0, 0, 472,
++ 0, 0, 473, 0, 474, 0, 766, 476, 477, 0,
++ 0, 767, 768, 769, 770, 478, 0, 0, 479, 771,
++ 0, 772, 480, 481, 482, 483, 484, 773, 0, 0,
++ 0, 0, 0, 0, 486, 487, 0, 488, 489, 490,
++ 0, 0, 774, 0, 0, 0, 0, 0, 0, 0,
++ 775, 776, 0, 0, 0, 0, 777, 778, 0, 0,
++ 779, 780, 0, 0, 781, 782, 139, 0, 672, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 673, 0, 148, 149, 150, 151, 152, 674,
++ 154, 0, 155, 0, 0, 675, 156, 676, 677, 678,
++ 157, 679, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 680, 681, 165, 166, 0, 167,
++ 682, 683, 169, 170, 0, 171, 172, 173, 174, 175,
++ 684, 177, 0, 685, 179, 686, 687, 688, 689, 690,
++ 691, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 692, 200, 0,
++ 201, 693, 694, 202, 0, 0, 203, 695, 696, 0,
++ 204, 697, 698, 0, 205, 206, 207, 699, 700, 701,
++ 0, 0, 0, 0, 702, 210, 703, 0, 0, 704,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 705, 0, 236, 237, 238, 706, 707, 239,
++ 240, 0, 241, 242, 243, 708, 0, 244, 0, 0,
++ 0, 245, 2205, 246, 0, 247, 0, 248, 249, 709,
++ 251, 710, 253, 0, 254, 0, 711, 255, 256, 257,
++ 0, 258, 712, 713, 0, 259, 260, 0, 0, 0,
++ 714, 262, 263, 264, 715, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 716, 270, 271, 717,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 718, 0, 0,
++ 281, 0, 719, 282, 283, 0, 0, 0, 0, 0,
++ 720, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 721, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 722, 306, 307, 308, 309, 723, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 724, 317,
++ 0, 0, 725, 319, 726, 320, 0, 321, 727, 728,
++ 729, 730, 731, 326, 327, 328, 329, 330, 331, 0,
++ 732, 332, 333, 0, 0, 334, 335, 336, 337, 733,
++ 734, 735, 338, 339, 0, 736, 737, 0, 340, 341,
++ 738, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 739, 352, 0, 353, 354, 355, 356, 740, 358,
++ 359, 360, 361, 741, 742, 364, 743, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 744, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 745, 746,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 747, 399, 400, 401, 402, 403, 748, 405, 406,
++ 407, 408, 0, 749, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 750, 751, 434, 435, 0, 436, 437, 752, 439, 440,
++ 441, 753, 754, 442, 443, 444, 445, 755, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 756, 453,
++ 454, 0, 757, 758, 759, 760, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 761, 762, 763, 463, 464,
++ 465, 764, 466, 467, 765, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 766,
++ 476, 477, 0, 0, 767, 768, 769, 770, 478, 0,
++ 0, 479, 771, 0, 772, 480, 481, 482, 483, 484,
++ 773, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 0, 774, 0, 0, 0, 0,
++ 0, 0, 0, 775, 776, 0, 0, 0, 0, 777,
++ 778, 0, 0, 779, 780, 0, 0, 781, 782, 139,
++ 0, 672, 141, 142, 143, 144, 0, 0, 145, 0,
++ 0, 0, 146, 0, 0, 673, 0, 148, 149, 150,
++ 151, 152, 674, 154, 0, 155, 0, 0, 675, 156,
++ 676, 677, 678, 157, 679, 0, 158, 159, 160, 0,
++ 161, 0, 162, 163, 0, 0, 164, 680, 681, 165,
++ 166, 0, 167, 682, 683, 169, 170, 0, 171, 172,
++ 173, 174, 175, 684, 177, 0, 685, 179, 686, 687,
++ 688, 689, 690, 691, 0, 186, 187, 188, 189, 190,
++ 191, 192, 193, 0, 194, 195, 0, 196, 197, 198,
++ 692, 200, 0, 201, 693, 694, 202, 0, 0, 203,
++ 695, 696, 0, 204, 697, 698, 0, 205, 206, 207,
++ 699, 700, 701, 0, 0, 0, 0, 702, 210, 703,
++ 0, 0, 704, 211, 0, 212, 0, 0, 0, 213,
++ 0, 214, 215, 216, 217, 0, 0, 0, 218, 0,
++ 0, 219, 220, 221, 0, 0, 0, 222, 0, 223,
++ 224, 0, 225, 226, 227, 0, 228, 229, 0, 230,
++ 231, 232, 233, 234, 235, 705, 0, 236, 237, 238,
++ 706, 707, 239, 240, 0, 241, 242, 243, 708, 0,
++ 244, 0, 0, 0, 245, 2207, 246, 0, 247, 0,
++ 248, 249, 709, 251, 710, 253, 0, 254, 0, 711,
++ 255, 256, 257, 0, 258, 712, 713, 0, 259, 260,
++ 0, 0, 0, 714, 262, 263, 264, 715, 0, 265,
++ 266, 267, 0, 268, 0, 269, 0, 0, 0, 716,
++ 270, 271, 717, 0, 0, 272, 0, 273, 274, 0,
++ 275, 276, 0, 0, 0, 277, 0, 0, 278, 279,
++ 718, 0, 0, 281, 0, 719, 282, 283, 0, 0,
++ 0, 0, 0, 720, 285, 0, 286, 0, 287, 0,
++ 288, 289, 0, 0, 721, 0, 0, 0, 290, 291,
++ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
++ 302, 0, 303, 304, 305, 722, 306, 307, 308, 309,
++ 723, 310, 311, 0, 0, 0, 0, 312, 313, 314,
++ 315, 724, 317, 0, 0, 725, 319, 726, 320, 0,
++ 321, 727, 728, 729, 730, 731, 326, 327, 328, 329,
++ 330, 331, 0, 732, 332, 333, 0, 0, 334, 335,
++ 336, 337, 733, 734, 735, 338, 339, 0, 736, 737,
++ 0, 340, 341, 738, 0, 343, 344, 345, 346, 0,
++ 347, 348, 0, 0, 0, 0, 0, 0, 0, 0,
++ 349, 350, 351, 0, 739, 352, 0, 353, 354, 355,
++ 356, 740, 358, 359, 360, 361, 741, 742, 364, 743,
++ 0, 365, 366, 367, 0, 368, 0, 369, 370, 371,
++ 372, 373, 0, 744, 375, 376, 0, 0, 377, 0,
++ 0, 0, 378, 379, 380, 381, 382, 0, 0, 383,
++ 384, 385, 386, 387, 0, 388, 389, 0, 390, 391,
++ 392, 745, 746, 393, 0, 394, 0, 395, 396, 0,
++ 397, 398, 0, 0, 747, 399, 400, 401, 402, 403,
++ 748, 405, 406, 407, 408, 0, 749, 410, 0, 0,
++ 0, 411, 412, 413, 414, 0, 0, 0, 415, 0,
++ 0, 0, 416, 0, 417, 418, 419, 420, 0, 421,
++ 422, 423, 424, 425, 426, 0, 0, 0, 0, 0,
++ 0, 427, 428, 0, 429, 0, 0, 430, 0, 0,
++ 431, 432, 433, 750, 751, 434, 435, 0, 436, 437,
++ 752, 439, 440, 441, 753, 754, 442, 443, 444, 445,
++ 755, 446, 447, 0, 448, 0, 449, 450, 451, 452,
++ 0, 756, 453, 454, 0, 757, 758, 759, 760, 0,
++ 0, 0, 0, 0, 459, 460, 461, 0, 761, 762,
++ 763, 463, 464, 465, 764, 466, 467, 765, 468, 469,
++ 0, 470, 471, 0, 0, 472, 0, 0, 473, 0,
++ 474, 0, 766, 476, 477, 0, 0, 767, 768, 769,
++ 770, 478, 0, 0, 479, 771, 0, 772, 480, 481,
++ 482, 483, 484, 773, 0, 0, 0, 0, 0, 0,
++ 486, 487, 0, 488, 489, 490, 0, 0, 774, 0,
++ 0, 0, 0, 0, 0, 0, 775, 776, 0, 0,
++ 0, 0, 777, 778, 0, 0, 779, 780, 0, 0,
++ 781, 782, 139, 0, 672, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 673, 0,
++ 148, 149, 150, 151, 152, 674, 154, 0, 155, 0,
++ 0, 675, 156, 676, 677, 678, 157, 679, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 680, 681, 165, 166, 0, 167, 682, 683, 169, 170,
++ 0, 171, 172, 173, 174, 175, 684, 177, 0, 685,
++ 179, 686, 687, 688, 689, 690, 691, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 692, 200, 0, 201, 693, 694, 202,
++ 0, 0, 203, 695, 696, 0, 204, 697, 698, 0,
++ 205, 206, 207, 699, 700, 701, 0, 0, 0, 0,
++ 702, 210, 703, 0, 0, 704, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 705, 0,
++ 236, 237, 238, 706, 707, 239, 240, 0, 241, 242,
++ 243, 708, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 709, 251, 710, 253, 0,
++ 254, 0, 711, 255, 256, 257, 0, 258, 712, 713,
++ 0, 259, 260, 0, 0, 0, 714, 262, 263, 264,
++ 715, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 716, 270, 271, 717, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 718, 0, 0, 281, 0, 719, 282,
++ 283, 0, 0, 0, 0, 0, 720, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 721, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 722, 306,
++ 307, 308, 309, 723, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 724, 317, 0, 0, 725, 319,
++ 726, 320, 0, 321, 727, 728, 729, 730, 731, 326,
++ 327, 328, 329, 330, 331, 0, 732, 332, 333, 0,
++ 0, 334, 335, 336, 337, 733, 734, 735, 338, 339,
++ 0, 736, 737, 0, 340, 341, 738, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 739, 352, 0,
++ 353, 354, 355, 356, 740, 358, 359, 360, 361, 741,
++ 742, 364, 743, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 744, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 745, 746, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 747, 399, 400,
++ 401, 402, 403, 748, 405, 406, 407, 408, 0, 749,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 750, 751, 434, 435,
++ 0, 436, 437, 752, 439, 440, 441, 753, 754, 442,
++ 443, 444, 445, 755, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 756, 453, 454, 0, 757, 758,
++ 759, 760, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 761, 762, 763, 463, 464, 465, 764, 466, 467,
++ 765, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 766, 476, 477, 0, 0,
++ 767, 768, 769, 770, 478, 0, 0, 479, 771, 0,
++ 772, 480, 481, 482, 483, 484, 773, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 0, 774, 0, 0, 0, 0, 0, 0, 0, 775,
++ 776, 0, 0, 0, 0, 777, 778, 0, 0, 779,
++ 780, 0, 0, 781, 782, 139, 0, 672, 141, 142,
++ 143, 144, 0, 0, 145, 0, 0, 0, 146, 0,
++ 0, 673, 0, 148, 149, 150, 151, 152, 674, 154,
++ 0, 155, 0, 0, 675, 156, 676, 677, 678, 157,
++ 679, 0, 158, 159, 160, 0, 161, 0, 162, 163,
++ 0, 0, 164, 680, 681, 165, 166, 0, 167, 682,
++ 683, 169, 170, 0, 171, 172, 173, 174, 175, 684,
++ 177, 0, 685, 179, 686, 687, 688, 689, 690, 691,
++ 0, 186, 187, 188, 189, 190, 191, 192, 193, 0,
++ 194, 195, 0, 196, 197, 198, 692, 200, 0, 201,
++ 693, 694, 202, 0, 0, 203, 695, 696, 0, 204,
++ 697, 698, 0, 205, 206, 207, 699, 700, 701, 0,
++ 0, 0, 0, 702, 210, 703, 0, 0, 704, 211,
++ 0, 212, 0, 0, 0, 213, 0, 214, 215, 216,
++ 217, 0, 0, 0, 218, 0, 0, 219, 220, 221,
++ 0, 0, 0, 222, 0, 223, 224, 0, 225, 226,
++ 227, 0, 228, 229, 0, 230, 231, 232, 233, 234,
++ 235, 705, 0, 236, 237, 238, 706, 707, 239, 240,
++ 0, 241, 242, 243, 708, 0, 244, 0, 0, 0,
++ 245, 0, 246, 0, 247, 0, 248, 249, 709, 251,
++ 710, 253, 0, 254, 0, 711, 255, 256, 257, 0,
++ 258, 712, 713, 0, 259, 260, 0, 0, 0, 714,
++ 262, 263, 264, 715, 0, 265, 266, 267, 0, 268,
++ 0, 269, 0, 0, 0, 716, 270, 271, 717, 0,
++ 0, 272, 0, 273, 274, 0, 275, 276, 0, 0,
++ 0, 277, 0, 0, 278, 279, 718, 0, 0, 281,
++ 0, 719, 282, 283, 0, 0, 0, 0, 0, 720,
++ 285, 0, 286, 0, 287, 0, 288, 289, 0, 0,
++ 721, 0, 0, 0, 290, 291, 292, 293, 294, 295,
++ 296, 297, 298, 299, 300, 301, 302, 0, 303, 304,
++ 305, 722, 306, 307, 308, 309, 723, 310, 311, 0,
++ 0, 0, 0, 312, 313, 314, 315, 724, 317, 0,
++ 0, 725, 319, 726, 320, 0, 321, 727, 728, 729,
++ 730, 731, 326, 327, 328, 329, 330, 331, 0, 732,
++ 332, 333, 0, 0, 334, 335, 336, 337, 733, 734,
++ 735, 338, 339, 0, 736, 737, 0, 340, 341, 738,
++ 0, 343, 344, 345, 346, 0, 347, 348, 0, 0,
++ 0, 0, 0, 0, 0, 0, 349, 350, 351, 0,
++ 739, 352, 0, 353, 354, 355, 356, 740, 358, 359,
++ 360, 361, 741, 742, 364, 743, 0, 365, 366, 367,
++ 0, 368, 0, 369, 370, 371, 372, 373, 0, 744,
++ 375, 376, 0, 0, 377, 0, 0, 0, 378, 379,
++ 380, 381, 382, 0, 0, 383, 384, 385, 386, 387,
++ 0, 388, 389, 0, 390, 391, 392, 745, 746, 393,
++ 0, 394, 0, 395, 396, 0, 397, 398, 0, 0,
++ 747, 399, 400, 401, 402, 403, 748, 405, 406, 407,
++ 408, 0, 749, 410, 0, 0, 0, 411, 412, 413,
++ 414, 0, 0, 0, 415, 0, 0, 0, 416, 0,
++ 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
++ 426, 0, 0, 0, 0, 0, 0, 427, 428, 0,
++ 429, 0, 0, 430, 0, 0, 431, 432, 433, 750,
++ 751, 434, 435, 0, 436, 437, 752, 439, 440, 441,
++ 753, 754, 442, 443, 444, 445, 755, 446, 447, 0,
++ 448, 0, 449, 450, 451, 452, 0, 756, 453, 454,
++ 0, 757, 758, 759, 760, 0, 0, 0, 0, 0,
++ 459, 460, 461, 0, 761, 762, 763, 463, 464, 465,
++ 764, 466, 467, 765, 468, 469, 0, 470, 471, 0,
++ 0, 472, 0, 0, 473, 0, 474, 0, 766, 476,
++ 477, 0, 0, 767, 768, 769, 770, 478, 0, 0,
++ 479, 771, 0, 772, 480, 481, 482, 483, 484, 773,
++ 0, 0, 0, 0, 0, 0, 486, 487, 0, 488,
++ 489, 490, 0, 0, 774, 0, 0, 0, 0, 0,
++ 0, 0, 775, 776, 0, 0, 0, 0, 777, 1124,
++ 0, 0, 779, 780, 0, 0, 781, 782, 139, 0,
++ 672, 141, 142, 143, 144, 1713, 0, 145, 0, 0,
++ 0, 1714, 0, 0, 673, 0, 148, 149, 150, 151,
++ 152, 674, 154, 0, 155, 0, 0, 675, 156, 676,
++ 677, 678, 157, 679, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 680, 681, 165, 166,
++ 0, 167, 682, 683, 169, 170, 0, 171, 172, 173,
++ 174, 175, 684, 177, 0, 685, 179, 686, 687, 688,
++ 689, 690, 691, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 692,
++ 200, 0, 201, 693, 694, 202, 0, 0, 203, 695,
++ 696, 0, 204, 697, 698, 0, 205, 206, 207, 699,
++ 700, 701, 0, 0, 0, 0, 702, 210, 703, 0,
++ 0, 704, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 705, 0, 236, 237, 238, 706,
++ 707, 239, 240, 0, 241, 242, 243, 708, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 709, 251, 710, 253, 0, 254, 0, 711, 255,
++ 256, 257, 0, 258, 712, 713, 0, 259, 260, 0,
++ 0, 0, 714, 262, 263, 264, 715, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 716, 270,
++ 271, 717, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 718,
++ 0, 0, 281, 0, 719, 282, 283, 0, 0, 0,
++ 0, 0, 720, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 721, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 722, 306, 307, 308, 309, 723,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 724, 317, 0, 0, 725, 319, 726, 320, 0, 321,
++ 727, 728, 729, 730, 731, 326, 327, 328, 329, 330,
++ 331, 0, 732, 332, 333, 0, 0, 334, 335, 336,
++ 337, 733, 0, 735, 338, 339, 0, 736, 737, 0,
++ 340, 341, 738, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 739, 352, 0, 353, 354, 355, 356,
++ 740, 358, 359, 360, 361, 741, 742, 364, 743, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 744, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 745, 746, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 747, 399, 400, 401, 402, 403, 748,
++ 405, 406, 407, 408, 0, 749, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 750, 751, 434, 435, 0, 436, 437, 752,
++ 439, 440, 441, 753, 754, 442, 443, 444, 445, 755,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 756, 453, 454, 0, 757, 758, 759, 760, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 761, 762, 763,
++ 463, 464, 465, 764, 466, 467, 765, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 766, 476, 477, 0, 0, 767, 768, 769, 770,
++ 478, 0, 0, 479, 771, 0, 772, 480, 481, 482,
++ 483, 484, 773, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 0, 774, 0, 0,
++ 0, 0, 0, 0, 0, 775, 776, 0, 0, 0,
++ 0, 777, 778, 0, 0, 779, 780, 0, 0, 781,
++ 782, 139, 0, 672, 141, 142, 143, 144, 0, 0,
++ 145, 0, 0, 0, 146, 0, 0, 673, 0, 148,
++ 149, 150, 151, 152, 674, 154, 0, 155, 0, 0,
++ 675, 156, 676, 677, 678, 157, 679, 0, 158, 159,
++ 160, 0, 161, 0, 162, 163, 0, 0, 164, 680,
++ 681, 165, 166, 0, 167, 682, 683, 169, 170, 0,
++ 171, 172, 173, 174, 175, 684, 177, 0, 685, 179,
++ 686, 687, 688, 689, 690, 691, 0, 186, 187, 188,
++ 189, 190, 191, 192, 193, 0, 194, 195, 0, 196,
++ 197, 198, 692, 200, 0, 201, 693, 694, 202, 0,
++ 0, 203, 695, 696, 0, 204, 697, 698, 0, 205,
++ 206, 207, 699, 700, 701, 0, 0, 0, 0, 702,
++ 210, 703, 0, 0, 704, 211, 0, 212, 0, 0,
++ 0, 213, 0, 214, 215, 216, 217, 0, 0, 0,
++ 218, 0, 0, 219, 220, 221, 0, 0, 0, 222,
++ 0, 223, 224, 0, 225, 226, 227, 0, 228, 229,
++ 0, 230, 231, 232, 233, 234, 235, 705, 0, 236,
++ 237, 238, 706, 707, 239, 240, 0, 241, 242, 243,
++ 708, 0, 244, 0, 0, 0, 245, 0, 246, 0,
++ 247, 0, 248, 249, 709, 251, 710, 253, 0, 254,
++ 0, 711, 255, 256, 257, 0, 258, 712, 713, 0,
++ 259, 260, 0, 0, 0, 714, 262, 263, 264, 715,
++ 0, 265, 266, 267, 0, 268, 0, 269, 0, 0,
++ 0, 716, 270, 271, 717, 0, 0, 272, 0, 273,
++ 274, 0, 275, 276, 0, 0, 0, 277, 0, 0,
++ 278, 279, 718, 0, 0, 281, 0, 719, 282, 283,
++ 0, 0, 0, 0, 0, 720, 285, 0, 286, 0,
++ 287, 0, 288, 289, 0, 0, 721, 0, 0, 0,
++ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
++ 300, 301, 302, 0, 303, 304, 305, 722, 306, 307,
++ 308, 309, 723, 310, 311, 0, 0, 0, 0, 312,
++ 313, 314, 315, 724, 317, 0, 0, 725, 319, 726,
++ 320, 0, 321, 727, 728, 729, 730, 731, 326, 327,
++ 328, 329, 330, 331, 0, 732, 332, 333, 0, 0,
++ 334, 335, 336, 337, 733, 734, 735, 338, 339, 0,
++ 736, 737, 0, 340, 341, 738, 0, 343, 344, 345,
++ 346, 0, 347, 348, 0, 0, 0, 0, 0, 0,
++ 0, 0, 349, 350, 351, 0, 739, 352, 0, 353,
++ 354, 355, 356, 740, 358, 359, 360, 361, 741, 742,
++ 364, 743, 0, 365, 366, 367, 0, 368, 0, 369,
++ 370, 371, 372, 373, 0, 744, 375, 376, 0, 0,
++ 377, 0, 0, 0, 378, 379, 380, 381, 382, 0,
++ 0, 383, 384, 385, 386, 387, 0, 388, 389, 0,
++ 390, 391, 392, 745, 746, 393, 0, 394, 0, 395,
++ 396, 0, 397, 398, 0, 0, 747, 399, 400, 401,
++ 402, 403, 748, 405, 406, 407, 408, 0, 749, 410,
++ 0, 0, 0, 411, 412, 413, 414, 0, 0, 0,
++ 415, 0, 0, 0, 416, 0, 417, 418, 419, 420,
++ 0, 421, 422, 423, 424, 425, 426, 0, 0, 0,
++ 0, 0, 0, 427, 428, 0, 429, 0, 0, 430,
++ 0, 0, 431, 432, 433, 750, 751, 434, 435, 0,
++ 436, 437, 752, 439, 440, 441, 753, 754, 442, 443,
++ 444, 445, 755, 446, 447, 0, 448, 0, 449, 450,
++ 451, 452, 0, 756, 453, 454, 0, 757, 758, 759,
++ 760, 0, 0, 0, 0, 0, 459, 460, 461, 0,
++ 761, 762, 763, 463, 464, 465, 764, 466, 467, 765,
++ 468, 469, 0, 470, 471, 0, 0, 472, 0, 0,
++ 473, 0, 474, 0, 1788, 476, 477, 0, 0, 767,
++ 768, 769, 770, 478, 0, 0, 479, 771, 0, 772,
++ 480, 481, 482, 483, 484, 773, 0, 0, 0, 0,
++ 0, 0, 486, 487, 0, 488, 489, 490, 0, 0,
++ 774, 0, 0, 0, 0, 0, 0, 0, 775, 776,
++ 0, 0, 0, 0, 777, 778, 0, 0, 779, 780,
++ 0, 0, 781, 782, 139, 0, 672, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 673, 0, 148, 149, 150, 151, 152, 674, 154, 0,
++ 155, 0, 0, 675, 156, 676, 677, 678, 157, 679,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 680, 681, 165, 166, 0, 167, 682, 683,
++ 169, 170, 0, 171, 172, 173, 174, 175, 684, 177,
++ 0, 685, 179, 686, 687, 688, 689, 690, 691, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 692, 200, 0, 201, 693,
++ 694, 202, 0, 0, 203, 695, 696, 0, 204, 697,
++ 698, 0, 205, 206, 207, 699, 700, 701, 0, 0,
++ 0, 0, 702, 210, 703, 0, 0, 704, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 705, 0, 236, 237, 238, 706, 707, 239, 240, 0,
++ 241, 242, 243, 708, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 709, 251, 710,
++ 253, 0, 254, 0, 711, 255, 256, 257, 0, 258,
++ 712, 713, 0, 259, 260, 0, 0, 0, 714, 262,
++ 263, 264, 715, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 716, 270, 271, 2616, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 718, 0, 0, 281, 0,
++ 719, 282, 283, 0, 0, 0, 0, 0, 720, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 721,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 722, 306, 307, 308, 309, 723, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 724, 317, 0, 0,
++ 725, 319, 726, 320, 0, 321, 727, 728, 729, 730,
++ 731, 326, 327, 328, 329, 330, 331, 0, 732, 332,
++ 333, 0, 0, 334, 335, 336, 337, 733, 734, 735,
++ 338, 339, 0, 736, 737, 0, 340, 341, 738, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 739,
++ 352, 0, 353, 354, 355, 356, 740, 358, 359, 360,
++ 361, 741, 742, 364, 743, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 744, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 745, 746, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 747,
++ 399, 400, 401, 402, 403, 748, 405, 406, 407, 408,
++ 0, 749, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 750, 751,
++ 434, 435, 0, 436, 437, 752, 439, 440, 441, 753,
++ 754, 442, 443, 444, 445, 755, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 756, 453, 454, 0,
++ 757, 758, 759, 760, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 761, 762, 763, 463, 464, 465, 764,
++ 466, 467, 765, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 766, 476, 477,
++ 0, 0, 767, 768, 769, 770, 478, 0, 0, 479,
++ 771, 0, 772, 480, 481, 482, 483, 484, 773, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 0, 774, 0, 0, 0, 0, 0, 0,
++ 0, 775, 776, 0, 0, 0, 0, 777, 778, 0,
++ 0, 779, 780, 0, 0, 781, 782, 139, 0, 672,
++ 141, 142, 143, 144, 0, 0, 145, 0, 0, 0,
++ 146, 0, 0, 673, 0, 148, 149, 150, 151, 152,
++ 674, 154, 0, 155, 0, 0, 675, 156, 676, 677,
++ 678, 157, 679, 0, 158, 159, 160, 0, 161, 0,
++ 162, 163, 0, 0, 164, 680, 681, 165, 166, 0,
++ 167, 682, 683, 169, 170, 0, 171, 172, 173, 174,
++ 175, 684, 177, 0, 685, 179, 686, 687, 688, 689,
++ 690, 691, 0, 186, 187, 188, 189, 190, 191, 192,
++ 193, 0, 194, 195, 0, 196, 197, 198, 692, 200,
++ 0, 201, 693, 694, 202, 0, 0, 203, 695, 696,
++ 0, 204, 697, 698, 0, 205, 206, 207, 699, 700,
++ 701, 0, 0, 0, 0, 702, 210, 703, 0, 0,
++ 704, 211, 0, 212, 0, 0, 0, 213, 0, 214,
++ 215, 216, 217, 0, 0, 0, 218, 0, 0, 219,
++ 220, 221, 0, 0, 0, 222, 0, 223, 224, 0,
++ 225, 226, 227, 0, 228, 229, 0, 230, 231, 232,
++ 233, 234, 235, 705, 0, 236, 237, 238, 706, 707,
++ 239, 240, 0, 241, 242, 243, 708, 0, 244, 0,
++ 0, 0, 245, 0, 246, 0, 247, 0, 248, 249,
++ 709, 251, 710, 253, 0, 254, 0, 711, 255, 256,
++ 257, 0, 258, 712, 713, 0, 259, 260, 0, 0,
++ 0, 714, 262, 263, 264, 715, 0, 265, 266, 267,
++ 0, 268, 0, 269, 0, 0, 0, 716, 270, 271,
++ 2670, 0, 0, 272, 0, 273, 274, 0, 275, 276,
++ 0, 0, 0, 277, 0, 0, 278, 279, 718, 0,
++ 0, 281, 0, 719, 282, 283, 0, 0, 0, 0,
++ 0, 720, 285, 0, 286, 0, 287, 0, 288, 289,
++ 0, 0, 721, 0, 0, 0, 290, 291, 292, 293,
++ 294, 295, 296, 297, 298, 299, 300, 301, 302, 0,
++ 303, 304, 305, 722, 306, 307, 308, 309, 723, 310,
++ 311, 0, 0, 0, 0, 312, 313, 314, 315, 724,
++ 317, 0, 0, 725, 319, 726, 320, 0, 321, 727,
++ 728, 729, 730, 731, 326, 327, 328, 329, 330, 331,
++ 0, 732, 332, 333, 0, 0, 334, 335, 336, 337,
++ 733, 734, 735, 338, 339, 0, 736, 737, 0, 340,
++ 341, 738, 0, 343, 344, 345, 346, 0, 347, 348,
++ 0, 0, 0, 0, 0, 0, 0, 0, 349, 350,
++ 351, 0, 739, 352, 0, 353, 354, 355, 356, 740,
++ 358, 359, 360, 361, 741, 742, 364, 743, 0, 365,
++ 366, 367, 0, 368, 0, 369, 370, 371, 372, 373,
++ 0, 744, 375, 376, 0, 0, 377, 0, 0, 0,
++ 378, 379, 380, 381, 382, 0, 0, 383, 384, 385,
++ 386, 387, 0, 388, 389, 0, 390, 391, 392, 745,
++ 746, 393, 0, 394, 0, 395, 396, 0, 397, 398,
++ 0, 0, 747, 399, 400, 401, 402, 403, 748, 405,
++ 406, 407, 408, 0, 749, 410, 0, 0, 0, 411,
++ 412, 413, 414, 0, 0, 0, 415, 0, 0, 0,
++ 416, 0, 417, 418, 419, 420, 0, 421, 422, 423,
++ 424, 425, 426, 0, 0, 0, 0, 0, 0, 427,
++ 428, 0, 429, 0, 0, 430, 0, 0, 431, 432,
++ 433, 750, 751, 434, 435, 0, 436, 437, 752, 439,
++ 440, 441, 753, 754, 442, 443, 444, 445, 755, 446,
++ 447, 0, 448, 0, 449, 450, 451, 452, 0, 756,
++ 453, 454, 0, 757, 758, 759, 760, 0, 0, 0,
++ 0, 0, 459, 460, 461, 0, 761, 762, 763, 463,
++ 464, 465, 764, 466, 467, 765, 468, 469, 0, 470,
++ 471, 0, 0, 472, 0, 0, 473, 0, 474, 0,
++ 766, 476, 477, 0, 0, 767, 768, 769, 770, 478,
++ 0, 0, 479, 771, 0, 772, 480, 481, 482, 483,
++ 484, 773, 0, 0, 0, 0, 0, 0, 486, 487,
++ 0, 488, 489, 490, 0, 0, 774, 0, 0, 0,
++ 0, 0, 0, 0, 775, 776, 0, 0, 0, 0,
++ 777, 778, 0, 0, 779, 780, 0, 0, 781, 782,
++ 139, 0, 672, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 673, 0, 148, 149,
++ 150, 151, 152, 674, 154, 0, 155, 0, 0, 675,
++ 156, 676, 677, 678, 157, 679, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 680, 681,
++ 165, 166, 0, 167, 682, 683, 169, 170, 0, 171,
++ 172, 173, 174, 175, 684, 177, 0, 685, 179, 686,
++ 687, 688, 689, 690, 691, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 692, 200, 0, 201, 693, 694, 202, 0, 0,
++ 203, 695, 696, 0, 204, 697, 698, 0, 205, 206,
++ 207, 699, 700, 701, 0, 0, 0, 0, 702, 210,
++ 703, 0, 0, 3432, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 705, 0, 236, 237,
++ 238, 706, 707, 239, 240, 0, 241, 242, 243, 708,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 709, 251, 710, 253, 0, 254, 0,
++ 711, 255, 256, 257, 0, 258, 712, 713, 0, 259,
++ 260, 0, 0, 0, 714, 262, 263, 264, 715, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 716, 270, 271, 717, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 718, 0, 0, 281, 0, 719, 282, 283, 0,
++ 0, 0, 0, 0, 720, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 721, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 722, 306, 307, 308,
++ 309, 723, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 724, 317, 0, 0, 725, 319, 726, 320,
++ 0, 321, 727, 728, 729, 730, 731, 326, 327, 328,
++ 329, 330, 331, 0, 732, 332, 333, 0, 0, 334,
++ 335, 336, 337, 733, 734, 735, 338, 339, 0, 736,
++ 737, 0, 340, 341, 738, 0, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 739, 352, 0, 353, 354,
++ 355, 356, 740, 358, 359, 360, 361, 741, 742, 364,
++ 743, 0, 365, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 744, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 745, 746, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 747, 399, 400, 401, 402,
++ 403, 748, 405, 406, 407, 408, 0, 749, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 750, 751, 434, 435, 0, 436,
++ 437, 752, 439, 440, 441, 753, 754, 442, 443, 444,
++ 445, 755, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 756, 453, 454, 0, 757, 758, 759, 760,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 761,
++ 762, 763, 463, 464, 465, 764, 466, 467, 765, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 766, 476, 477, 0, 0, 767, 768,
++ 769, 770, 478, 0, 0, 479, 771, 0, 772, 480,
++ 481, 482, 483, 484, 773, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 0, 774,
++ 0, 0, 0, 0, 0, 0, 0, 775, 776, 0,
++ 0, 0, 0, 777, 778, 0, 0, 779, 780, 0,
++ 0, 781, 782, 139, 0, 672, 141, 142, 143, 144,
++ 0, 0, 145, 0, 0, 0, 146, 0, 0, 673,
++ 0, 148, 149, 150, 151, 152, 674, 154, 0, 155,
++ 0, 0, 675, 156, 676, 677, 678, 157, 679, 0,
++ 158, 159, 160, 0, 161, 0, 162, 163, 0, 0,
++ 164, 680, 681, 165, 166, 0, 167, 682, 683, 169,
++ 170, 0, 171, 172, 173, 174, 175, 684, 177, 0,
++ 685, 179, 686, 687, 688, 689, 690, 691, 0, 186,
++ 187, 188, 189, 190, 191, 192, 193, 0, 194, 195,
++ 0, 196, 197, 198, 692, 200, 0, 201, 693, 694,
++ 202, 0, 0, 203, 695, 696, 0, 204, 697, 698,
++ 0, 205, 206, 207, 699, 700, 701, 0, 0, 0,
++ 0, 702, 210, 703, 0, 0, 704, 211, 0, 212,
++ 0, 0, 0, 213, 0, 214, 215, 216, 217, 0,
++ 0, 0, 218, 0, 0, 219, 220, 221, 0, 0,
++ 0, 222, 0, 223, 224, 0, 225, 226, 227, 0,
++ 228, 229, 0, 230, 231, 232, 233, 234, 235, 705,
++ 0, 236, 237, 238, 706, 707, 239, 240, 0, 241,
++ 242, 243, 708, 0, 244, 0, 0, 0, 245, 0,
++ 246, 0, 247, 0, 248, 249, 709, 251, 710, 253,
++ 0, 254, 0, 711, 255, 256, 257, 0, 258, 712,
++ 713, 0, 259, 260, 0, 0, 0, 714, 262, 263,
++ 264, 715, 0, 265, 266, 267, 0, 268, 0, 269,
++ 0, 0, 0, 716, 270, 271, 717, 0, 0, 272,
++ 0, 273, 274, 0, 275, 276, 0, 0, 0, 277,
++ 0, 0, 278, 279, 718, 0, 0, 281, 0, 719,
++ 282, 283, 0, 0, 0, 0, 0, 720, 285, 0,
++ 286, 0, 287, 0, 288, 289, 0, 0, 721, 0,
++ 0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
++ 298, 299, 300, 301, 302, 0, 303, 304, 305, 722,
++ 306, 307, 308, 309, 723, 310, 311, 4318, 0, 0,
++ 0, 312, 313, 314, 315, 724, 317, 0, 0, 725,
++ 319, 726, 320, 0, 321, 727, 728, 729, 730, 731,
++ 326, 327, 328, 329, 330, 331, 0, 732, 332, 333,
++ 0, 0, 334, 335, 336, 337, 733, 0, 735, 338,
++ 339, 0, 736, 737, 0, 340, 341, 738, 0, 343,
++ 344, 345, 346, 0, 347, 348, 0, 0, 0, 0,
++ 0, 0, 0, 0, 349, 350, 351, 0, 739, 352,
++ 0, 353, 354, 355, 356, 740, 358, 359, 360, 361,
++ 741, 742, 364, 743, 0, 365, 366, 367, 0, 368,
++ 0, 369, 370, 371, 372, 373, 0, 744, 375, 376,
++ 0, 0, 377, 0, 0, 0, 378, 379, 380, 381,
++ 382, 0, 0, 383, 384, 385, 386, 387, 0, 388,
++ 389, 0, 390, 391, 392, 745, 746, 393, 0, 394,
++ 0, 395, 396, 0, 397, 398, 0, 0, 747, 399,
++ 400, 401, 402, 403, 748, 405, 406, 407, 408, 0,
++ 749, 410, 0, 0, 0, 411, 412, 413, 414, 0,
++ 0, 0, 415, 0, 0, 0, 416, 0, 417, 418,
++ 419, 420, 0, 421, 422, 423, 424, 425, 426, 0,
++ 0, 0, 0, 0, 0, 427, 428, 0, 429, 0,
++ 0, 430, 0, 0, 431, 432, 433, 750, 751, 434,
++ 435, 0, 436, 437, 752, 439, 440, 441, 753, 754,
++ 442, 443, 444, 445, 755, 446, 447, 0, 448, 0,
++ 449, 450, 451, 452, 0, 756, 453, 454, 0, 757,
++ 758, 759, 760, 0, 0, 0, 0, 0, 459, 460,
++ 461, 0, 761, 762, 763, 463, 464, 465, 764, 466,
++ 467, 765, 468, 469, 0, 470, 471, 0, 0, 472,
++ 0, 0, 473, 0, 474, 0, 766, 476, 477, 0,
++ 0, 767, 768, 769, 770, 478, 0, 0, 479, 771,
++ 0, 772, 480, 481, 482, 483, 484, 773, 0, 0,
++ 0, 0, 0, 0, 486, 487, 0, 488, 489, 490,
++ 0, 0, 774, 0, 0, 0, 0, 0, 0, 0,
++ 775, 776, 0, 0, 0, 0, 777, 778, 0, 0,
++ 779, 780, 0, 0, 781, 782, 139, 0, 672, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 673, 0, 148, 149, 150, 151, 152, 674,
++ 154, 0, 155, 0, 0, 675, 156, 676, 677, 678,
++ 157, 679, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 680, 681, 165, 166, 0, 167,
++ 682, 683, 169, 170, 0, 171, 172, 173, 174, 175,
++ 684, 177, 0, 685, 179, 686, 687, 688, 689, 690,
++ 691, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 692, 200, 0,
++ 201, 693, 694, 202, 0, 0, 203, 695, 696, 0,
++ 204, 697, 698, 0, 205, 206, 207, 699, 700, 701,
++ 0, 0, 0, 0, 702, 210, 703, 0, 0, 704,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 705, 0, 236, 237, 238, 706, 707, 239,
++ 240, 0, 241, 242, 243, 708, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 709,
++ 251, 710, 253, 0, 254, 0, 711, 255, 256, 257,
++ 0, 258, 712, 713, 0, 259, 260, 0, 0, 0,
++ 714, 262, 263, 264, 715, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 716, 270, 271, 717,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 718, 0, 0,
++ 281, 0, 719, 282, 283, 0, 0, 0, 0, 0,
++ 720, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 721, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 722, 306, 307, 308, 309, 723, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 724, 317,
++ 0, 0, 725, 319, 726, 320, 0, 321, 727, 728,
++ 729, 730, 731, 326, 327, 328, 329, 330, 331, 0,
++ 732, 332, 333, 0, 0, 334, 335, 336, 337, 733,
++ 0, 735, 338, 339, 0, 736, 737, 0, 340, 341,
++ 738, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 739, 352, 0, 353, 354, 355, 356, 740, 358,
++ 359, 360, 361, 741, 742, 364, 743, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 744, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 745, 746,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 747, 399, 400, 401, 402, 403, 748, 405, 406,
++ 407, 408, 0, 749, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 750, 751, 434, 435, 0, 436, 437, 752, 439, 440,
++ 441, 753, 754, 442, 443, 444, 445, 755, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 756, 453,
++ 454, 0, 757, 758, 759, 760, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 761, 762, 763, 463, 464,
++ 465, 764, 466, 467, 765, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 766,
++ 476, 477, 0, 0, 767, 768, 769, 770, 478, 0,
++ 0, 479, 771, 0, 772, 480, 481, 482, 483, 484,
++ 773, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 0, 774, 0, 0, 0, 0,
++ 0, 0, 0, 775, 776, 0, 0, 0, 0, 777,
++ 778, 0, 0, 779, 780, 0, 0, 781, 782, 139,
++ 0, 672, 141, 142, 143, 144, 0, 0, 145, 0,
++ 0, 0, 146, 0, 0, 673, 0, 148, 149, 150,
++ 151, 152, 674, 154, 0, 155, 0, 0, 675, 156,
++ 676, 677, 678, 157, 679, 0, 158, 159, 160, 0,
++ 161, 0, 162, 163, 0, 0, 164, 680, 681, 165,
++ 166, 0, 167, 682, 683, 169, 170, 0, 171, 172,
++ 173, 174, 175, 684, 177, 0, 685, 179, 686, 687,
++ 688, 689, 690, 691, 0, 186, 187, 188, 189, 190,
++ 191, 192, 193, 0, 194, 195, 0, 196, 197, 198,
++ 692, 200, 0, 201, 693, 694, 202, 0, 0, 203,
++ 695, 696, 0, 204, 697, 698, 0, 205, 206, 207,
++ 699, 700, 701, 0, 0, 0, 0, 702, 210, 703,
++ 0, 0, 704, 211, 0, 212, 0, 0, 0, 213,
++ 0, 214, 215, 216, 217, 0, 0, 0, 218, 0,
++ 0, 219, 220, 221, 0, 0, 0, 222, 0, 223,
++ 224, 0, 225, 226, 227, 0, 228, 229, 0, 230,
++ 231, 232, 233, 234, 235, 705, 0, 236, 237, 238,
++ 706, 707, 239, 240, 0, 241, 242, 243, 708, 0,
++ 244, 0, 0, 0, 245, 0, 246, 0, 247, 0,
++ 248, 249, 709, 251, 710, 253, 0, 254, 0, 711,
++ 255, 256, 257, 0, 258, 712, 713, 0, 259, 260,
++ 0, 0, 0, 714, 262, 263, 264, 715, 0, 265,
++ 266, 267, 0, 268, 0, 269, 0, 0, 0, 716,
++ 270, 271, 1728, 0, 0, 272, 0, 273, 274, 0,
++ 275, 276, 0, 0, 0, 277, 0, 0, 278, 279,
++ 718, 0, 0, 281, 0, 719, 282, 283, 0, 0,
++ 0, 0, 0, 720, 285, 0, 286, 0, 287, 0,
++ 288, 289, 0, 0, 721, 0, 0, 0, 290, 291,
++ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
++ 302, 0, 303, 304, 305, 722, 306, 307, 308, 309,
++ 723, 310, 311, 0, 0, 0, 0, 312, 313, 314,
++ 315, 724, 317, 0, 0, 725, 319, 726, 320, 0,
++ 321, 727, 728, 729, 730, 731, 326, 327, 328, 329,
++ 330, 331, 0, 732, 332, 333, 0, 0, 334, 335,
++ 336, 337, 733, 0, 735, 338, 339, 0, 736, 737,
++ 0, 340, 341, 738, 0, 343, 344, 345, 346, 0,
++ 347, 348, 0, 0, 0, 0, 0, 0, 0, 0,
++ 349, 350, 351, 0, 739, 352, 0, 353, 354, 355,
++ 356, 740, 358, 359, 360, 361, 741, 742, 364, 743,
++ 0, 365, 366, 367, 0, 368, 0, 369, 370, 371,
++ 372, 373, 0, 744, 375, 376, 0, 0, 377, 0,
++ 0, 0, 378, 379, 380, 381, 382, 0, 0, 383,
++ 384, 385, 386, 387, 0, 388, 389, 0, 390, 391,
++ 392, 745, 746, 393, 0, 394, 0, 395, 396, 0,
++ 397, 398, 0, 0, 747, 399, 400, 401, 402, 403,
++ 748, 405, 406, 407, 408, 0, 749, 410, 0, 0,
++ 0, 411, 412, 413, 414, 0, 0, 0, 415, 0,
++ 0, 0, 416, 0, 417, 418, 419, 420, 0, 421,
++ 422, 423, 424, 425, 426, 0, 0, 0, 0, 0,
++ 0, 427, 428, 0, 429, 0, 0, 430, 0, 0,
++ 431, 432, 433, 750, 751, 434, 435, 0, 436, 437,
++ 752, 439, 440, 441, 753, 754, 442, 443, 444, 445,
++ 755, 446, 447, 0, 448, 0, 449, 450, 451, 452,
++ 0, 756, 453, 454, 0, 757, 758, 759, 760, 0,
++ 0, 0, 0, 0, 459, 460, 461, 0, 761, 762,
++ 763, 463, 464, 465, 764, 466, 467, 765, 468, 469,
++ 0, 470, 471, 0, 0, 472, 0, 0, 473, 0,
++ 474, 0, 766, 476, 477, 0, 0, 767, 768, 769,
++ 770, 478, 0, 0, 479, 771, 0, 772, 480, 481,
++ 482, 483, 484, 773, 0, 0, 0, 0, 0, 0,
++ 486, 487, 0, 488, 489, 490, 0, 0, 774, 0,
++ 0, 0, 0, 0, 0, 0, 775, 776, 0, 0,
++ 0, 0, 777, 778, 0, 0, 779, 780, 0, 0,
++ 781, 782, 139, 0, 672, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 673, 0,
++ 148, 149, 150, 151, 152, 674, 154, 0, 155, 0,
++ 0, 675, 156, 676, 677, 678, 157, 679, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 680, 681, 165, 166, 0, 167, 682, 683, 169, 170,
++ 0, 171, 172, 173, 174, 175, 684, 177, 0, 685,
++ 179, 686, 687, 688, 689, 690, 691, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 692, 200, 0, 201, 693, 694, 202,
++ 0, 0, 203, 695, 696, 0, 204, 697, 698, 0,
++ 205, 206, 207, 699, 700, 701, 0, 0, 0, 0,
++ 702, 210, 703, 0, 0, 704, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 705, 0,
++ 236, 237, 238, 706, 707, 239, 240, 0, 241, 242,
++ 243, 708, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 709, 251, 710, 253, 0,
++ 254, 0, 711, 255, 256, 257, 0, 258, 712, 713,
++ 0, 259, 260, 0, 0, 0, 714, 262, 263, 264,
++ 715, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 716, 270, 271, 1730, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 718, 0, 0, 281, 0, 719, 282,
++ 283, 0, 0, 0, 0, 0, 720, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 721, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 722, 306,
++ 307, 308, 309, 723, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 724, 317, 0, 0, 725, 319,
++ 726, 320, 0, 321, 727, 728, 729, 730, 731, 326,
++ 327, 328, 329, 330, 331, 0, 732, 332, 333, 0,
++ 0, 334, 335, 336, 337, 733, 0, 735, 338, 339,
++ 0, 736, 737, 0, 340, 341, 738, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 739, 352, 0,
++ 353, 354, 355, 356, 740, 358, 359, 360, 361, 741,
++ 742, 364, 743, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 744, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 745, 746, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 747, 399, 400,
++ 401, 402, 403, 748, 405, 406, 407, 408, 0, 749,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 750, 751, 434, 435,
++ 0, 436, 437, 752, 439, 440, 441, 753, 754, 442,
++ 443, 444, 445, 755, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 756, 453, 454, 0, 757, 758,
++ 759, 760, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 761, 762, 763, 463, 464, 465, 764, 466, 467,
++ 765, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 766, 476, 477, 0, 0,
++ 767, 768, 769, 770, 478, 0, 0, 479, 771, 0,
++ 772, 480, 481, 482, 483, 484, 773, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 0, 774, 0, 0, 0, 0, 0, 0, 0, 775,
++ 776, 0, 0, 0, 0, 777, 778, 0, 0, 779,
++ 780, 0, 0, 781, 782, 139, 0, 140, 141, 142,
++ 143, 144, 0, 0, 145, 0, 0, 0, 146, 0,
++ 0, 147, 0, 148, 149, 150, 151, 152, 153, 154,
++ 0, 155, 0, 0, 0, 156, 676, 0, 0, 157,
++ 0, 0, 158, 159, 160, 0, 161, 0, 162, 163,
++ 0, 0, 164, 0, 0, 165, 166, 0, 167, 168,
++ 0, 169, 170, 0, 171, 172, 173, 174, 175, 176,
++ 177, 0, 178, 179, 180, 181, 182, 183, 184, 185,
++ 0, 186, 187, 188, 189, 190, 191, 192, 193, 0,
++ 194, 195, 0, 196, 197, 198, 199, 200, 0, 201,
++ 0, 0, 202, 0, 0, 203, 0, 0, 0, 204,
++ 0, 0, 0, 205, 206, 207, 0, 0, 2342, 0,
++ 0, 0, 0, 209, 210, 703, 0, 0, 0, 211,
++ 0, 212, 0, 0, 0, 213, 0, 214, 215, 216,
++ 217, 0, 0, 0, 218, 0, 0, 219, 220, 221,
++ 0, 0, 0, 222, 0, 223, 224, 0, 225, 226,
++ 227, 0, 228, 229, 0, 230, 231, 232, 233, 234,
++ 235, 0, 0, 236, 237, 238, 0, 707, 239, 240,
++ 0, 241, 242, 243, 708, 0, 244, 0, 0, 0,
++ 245, 0, 246, 0, 247, 0, 248, 249, 250, 251,
++ 252, 253, 0, 254, 0, 0, 255, 256, 257, 0,
++ 258, 712, 713, 0, 259, 260, 0, 0, 0, 261,
++ 262, 263, 264, 0, 0, 265, 266, 267, 0, 268,
++ 0, 269, 0, 0, 0, 0, 270, 271, 0, 0,
++ 0, 272, 0, 273, 274, 0, 275, 276, 0, 0,
++ 0, 277, 0, 0, 278, 279, 280, 0, 0, 281,
++ 0, 0, 282, 283, 0, 0, 0, 0, 0, 284,
++ 285, 0, 286, 0, 287, 0, 288, 289, 0, 0,
++ 721, 0, 0, 0, 290, 291, 292, 293, 294, 295,
++ 296, 297, 298, 299, 300, 301, 302, 0, 303, 304,
++ 305, 0, 306, 307, 308, 309, 0, 310, 311, 0,
++ 0, 0, 0, 312, 313, 314, 315, 316, 317, 0,
++ 0, 318, 319, 0, 320, 0, 321, 0, 322, 323,
++ 324, 325, 326, 327, 328, 329, 330, 331, 0, 732,
++ 332, 333, 0, 0, 334, 335, 336, 337, 0, 0,
++ 0, 338, 339, 0, 736, 737, 0, 340, 341, 342,
++ 0, 343, 344, 345, 346, 0, 347, 348, 0, 0,
++ 0, 0, 0, 0, 0, 0, 349, 350, 351, 0,
++ 0, 352, 0, 353, 354, 355, 356, 357, 358, 359,
++ 360, 361, 362, 363, 364, 0, 0, 365, 366, 367,
++ 0, 368, 0, 369, 370, 371, 372, 373, 0, 374,
++ 375, 376, 0, 0, 377, 0, 0, 0, 378, 379,
++ 380, 381, 382, 0, 0, 383, 384, 385, 386, 387,
++ 0, 388, 389, 0, 390, 391, 392, 0, 0, 393,
++ 0, 394, 0, 395, 396, 0, 397, 398, 0, 0,
++ 0, 399, 400, 401, 402, 403, 404, 405, 406, 407,
++ 408, 0, 409, 410, 0, 0, 0, 411, 412, 413,
++ 414, 0, 0, 0, 415, 0, 0, 0, 416, 0,
++ 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
++ 426, 0, 0, 0, 0, 0, 0, 427, 428, 0,
++ 429, 0, 0, 430, 0, 0, 431, 432, 433, 0,
++ 0, 434, 435, 0, 436, 437, 438, 439, 440, 441,
++ 0, 0, 442, 443, 444, 445, 0, 446, 447, 0,
++ 448, 0, 449, 450, 451, 452, 0, 756, 453, 454,
++ 0, 2343, 456, 457, 2344, 0, 0, 0, 0, 0,
++ 459, 460, 461, 0, 0, 762, 462, 463, 464, 465,
++ 764, 466, 467, 765, 468, 469, 0, 470, 471, 0,
++ 0, 472, 0, 0, 473, 0, 474, 0, 475, 476,
++ 477, 0, 0, 0, 0, 0, 0, 478, 0, 0,
++ 479, 0, 0, 0, 480, 481, 482, 483, 484, 485,
++ 0, 0, 0, 0, 0, 0, 486, 487, 0, 488,
++ 489, 490, 0, 0, 491, 0, 0, 0, 0, 0,
++ 0, 0, 139, 0, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 781, 782, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 2457,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 505, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 2038, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 2039,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 0, 3017, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 3018, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, -439, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 508, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 0, 491, 0, 0, 0, 0, 0, 139, 0, 140,
++ 141, 142, 143, 144, 0, 0, 145, 0, 0, 0,
++ 146, 0, 0, 147, 2524, 148, 149, 150, 151, 152,
++ 153, 154, 0, 155, 0, 0, 0, 156, 0, 0,
++ 0, 157, 0, 0, 158, 159, 160, 0, 161, 0,
++ 162, 163, 0, 0, 164, 0, 0, 165, 166, 0,
++ 167, 168, 0, 169, 170, 0, 171, 172, 173, 174,
++ 175, 176, 177, 0, 178, 179, 180, 181, 182, 183,
++ 184, 185, 0, 186, 187, 188, 189, 190, 191, 192,
++ 193, 0, 194, 195, 2457, 196, 197, 198, 199, 200,
++ 0, 201, 0, 0, 202, 0, 0, 203, 0, 0,
++ 0, 204, 0, 0, 0, 205, 206, 207, 0, 0,
++ 208, 0, 0, 0, 0, 209, 210, 0, 0, 0,
++ 0, 211, 0, 212, 0, 0, 0, 213, 0, 214,
++ 215, 216, 217, 0, 0, 0, 218, 0, 0, 219,
++ 220, 221, 0, 0, 0, 222, 0, 223, 224, 0,
++ 225, 226, 227, 0, 228, 229, 0, 230, 231, 232,
++ 233, 234, 235, 0, 0, 236, 237, 238, 0, 0,
++ 239, 240, 0, 241, 242, 243, 0, 0, 244, 0,
++ 0, 0, 245, 0, 246, 505, 247, 0, 248, 249,
++ 250, 251, 252, 253, 0, 254, 0, 0, 255, 256,
++ 257, 0, 258, 0, 0, 0, 259, 260, 0, 0,
++ 0, 261, 262, 263, 264, 0, 0, 265, 266, 267,
++ 2038, 268, 0, 269, 0, 0, 0, 0, 270, 271,
++ 0, 0, 0, 272, 0, 273, 274, 0, 275, 276,
++ 0, 0, 0, 277, 2039, 0, 278, 279, 280, 0,
++ 0, 281, 0, 0, 282, 283, 0, 0, 0, 0,
++ 0, 284, 285, 0, 286, 0, 287, 0, 288, 289,
++ 0, 0, 0, 0, 0, 0, 290, 291, 292, 293,
++ 294, 295, 296, 297, 298, 299, 300, 301, 302, 0,
++ 303, 304, 305, 0, 306, 307, 308, 309, 0, 310,
++ 311, 0, 0, 0, 0, 312, 313, 314, 315, 316,
++ 317, 0, 0, 318, 319, 0, 320, 0, 321, 0,
++ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
++ 0, 0, 332, 333, 0, 0, 334, 335, 336, 337,
++ 0, 0, 0, 338, 339, 0, 0, 0, 0, 340,
++ 341, 342, 0, 343, 344, 345, 346, 0, 347, 348,
++ 0, 0, 0, 0, 0, 0, 0, 0, 349, 350,
++ 351, 0, 0, 352, 0, 353, 354, 355, 356, 357,
++ 358, 359, 360, 361, 362, 363, 364, 0, 0, 365,
++ 366, 367, 0, 368, 0, 369, 370, 371, 372, 373,
++ 0, 374, 375, 376, 0, 0, 377, 0, 0, 0,
++ 378, 379, 380, 381, 382, 0, 0, 383, 384, 385,
++ 386, 387, 0, 388, 389, 0, 390, 391, 392, 0,
++ 0, 393, 0, 394, 0, 395, 396, 0, 397, 398,
++ 0, 0, 0, 399, 400, 401, 402, 403, 404, 405,
++ 406, 407, 408, 0, 409, 410, 0, 0, 0, 411,
++ 412, 413, 414, 0, 0, 0, 415, 0, 0, 0,
++ 416, 0, 417, 418, 419, 420, 0, 421, 422, 423,
++ 424, 425, 426, 508, 0, 0, 0, 0, 0, 427,
++ 428, 0, 429, 0, 0, 430, 0, 0, 431, 432,
++ 433, 0, 0, 434, 435, 0, 436, 437, 438, 439,
++ 440, 441, 0, 0, 442, 443, 444, 445, 0, 446,
++ 447, 0, 448, 0, 449, 450, 451, 452, 0, 0,
++ 453, 454, 0, 455, 456, 457, 458, 0, 0, 0,
++ 0, 0, 459, 460, 461, 0, 0, 0, 462, 463,
++ 464, 465, 0, 466, 467, 0, 468, 469, 0, 470,
++ 471, 0, 0, 472, 0, 0, 473, 0, 474, 0,
++ 475, 476, 477, 0, 0, 0, 0, 0, 0, 478,
++ 0, 0, 479, 0, 0, 0, 480, 481, 482, 483,
++ 484, 485, 0, 0, 0, 0, 0, 0, 486, 487,
++ 0, 488, 489, 490, 0, 0, 491, 0, 0, 0,
++ 0, 0, 139, 0, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 2524,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 2333, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 0, 491, 0, 0, 0, 0, 0, 139, 0, 140,
++ 141, 142, 143, 144, 0, 0, 145, 2766, 0, 0,
++ 146, 0, 0, 147, 782, 148, 149, 150, 151, 152,
++ 153, 154, 0, 155, 0, 0, 0, 156, 0, 0,
++ 0, 157, 0, 0, 158, 159, 160, 0, 161, 0,
++ 162, 163, 0, 0, 164, 0, 0, 165, 166, 0,
++ 167, 168, 0, 169, 170, 0, 171, 172, 173, 174,
++ 175, 176, 177, 0, 178, 179, 180, 181, 182, 183,
++ 184, 185, 0, 186, 187, 188, 189, 190, 191, 192,
++ 193, 0, 194, 195, 0, 196, 197, 198, 199, 200,
++ 0, 201, 0, 0, 202, 0, 0, 203, 0, 0,
++ 0, 204, 0, 0, 0, 205, 206, 207, 0, 0,
++ 208, 0, 0, 0, 0, 209, 210, 0, 0, 0,
++ 0, 211, 0, 212, 0, 0, 0, 213, 0, 214,
++ 215, 216, 217, 0, 0, 0, 218, 0, 0, 219,
++ 220, 221, 0, 0, 0, 222, 0, 223, 224, 0,
++ 225, 226, 227, 0, 228, 229, 0, 230, 231, 232,
++ 233, 234, 235, 0, 0, 236, 237, 238, 0, 0,
++ 239, 240, 0, 241, 242, 243, 0, 0, 244, 0,
++ 0, 0, 245, 0, 246, 0, 247, 0, 248, 249,
++ 250, 251, 252, 253, 0, 254, 0, 0, 255, 256,
++ 257, 0, 258, 0, 0, 0, 259, 260, 0, 0,
++ 0, 261, 262, 263, 264, 0, 0, 265, 266, 267,
++ 0, 268, 0, 269, 0, 0, 0, 0, 270, 271,
++ 0, 0, 0, 272, 0, 273, 274, 0, 275, 276,
++ 0, 0, 0, 277, 0, 0, 278, 279, 280, 0,
++ 0, 281, 0, 0, 282, 283, 0, 0, 0, 0,
++ 0, 284, 285, 0, 286, 0, 287, 0, 288, 289,
++ 0, 0, 0, 0, 0, 0, 290, 291, 292, 293,
++ 294, 295, 296, 297, 298, 299, 300, 301, 302, 0,
++ 303, 304, 305, 0, 306, 307, 308, 309, 0, 310,
++ 311, 0, 0, 0, 0, 312, 313, 314, 315, 316,
++ 317, 0, 0, 318, 319, 0, 320, 0, 321, 0,
++ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
++ 0, 0, 332, 333, 0, 0, 334, 335, 336, 337,
++ 0, 0, 0, 338, 339, 0, 0, 0, 0, 340,
++ 341, 342, 0, 343, 344, 345, 346, 0, 347, 348,
++ 0, 0, 0, 0, 0, 0, 0, 0, 349, 350,
++ 351, 0, 0, 352, 0, 353, 354, 355, 356, 357,
++ 358, 359, 360, 361, 362, 363, 364, 0, 0, 365,
++ 366, 367, 0, 368, 0, 369, 370, 371, 372, 373,
++ 0, 374, 375, 376, 0, 0, 377, 0, 0, 0,
++ 378, 379, 380, 381, 382, 0, 0, 383, 384, 385,
++ 386, 387, 0, 388, 389, 0, 390, 391, 392, 0,
++ 0, 393, 0, 394, 0, 395, 396, 0, 397, 398,
++ 0, 0, 0, 399, 400, 401, 402, 403, 404, 405,
++ 406, 407, 408, 0, 409, 410, 0, 0, 0, 411,
++ 412, 413, 414, 0, 0, 0, 415, 0, 0, 0,
++ 416, 0, 417, 418, 419, 420, 0, 421, 422, 423,
++ 424, 425, 426, 0, 0, 0, 0, 0, 0, 427,
++ 428, 0, 429, 0, 0, 430, 0, 0, 431, 432,
++ 433, 0, 0, 434, 435, 0, 436, 437, 438, 439,
++ 440, 441, 0, 0, 442, 443, 444, 445, 0, 446,
++ 447, 0, 448, 0, 449, 450, 451, 452, 0, 0,
++ 453, 454, 0, 455, 456, 457, 458, 0, 0, 0,
++ 0, 0, 459, 460, 461, 0, 0, 0, 462, 463,
++ 464, 465, 0, 466, 467, 0, 468, 469, 0, 470,
++ 471, 0, 0, 472, 0, 0, 473, 0, 474, 0,
++ 475, 476, 477, 0, 0, 0, 0, 0, 0, 478,
++ 0, 0, 479, 0, 0, 0, 480, 481, 482, 483,
++ 484, 485, 0, 0, 0, 0, 0, 0, 486, 487,
++ 0, 488, 489, 490, 0, 0, 491, 0, 0, 0,
++ 0, 0, 0, 0, 139, 0, 140, 141, 142, 143,
++ 144, 0, 4450, 145, 0, 0, 0, 146, 4451, 782,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 0, 491, 0, 0, 0, 0, 0, 0,
++ 0, 139, 0, 140, 141, 142, 143, 144, 1129, 0,
++ 145, 0, 0, 0, 146, 0, 782, 147, 0, 148,
++ 149, 150, 151, 152, 153, 154, 0, 155, 0, 0,
++ 0, 156, 0, 0, 0, 157, 0, 0, 158, 159,
++ 160, 0, 161, 0, 162, 163, 0, 0, 164, 0,
++ 0, 165, 166, 0, 167, 168, 0, 169, 170, 0,
++ 171, 172, 173, 174, 175, 176, 177, 0, 178, 179,
++ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
++ 189, 190, 191, 192, 193, 0, 194, 195, 0, 196,
++ 197, 198, 199, 200, 0, 201, 0, 0, 202, 0,
++ 0, 203, 0, 0, 0, 204, 0, 0, 0, 205,
++ 206, 207, 0, 0, 208, 0, 0, 0, 0, 209,
++ 210, 0, 0, 0, 0, 211, 0, 212, 0, 0,
++ 0, 213, 0, 214, 215, 216, 217, 0, 0, 0,
++ 218, 0, 0, 219, 220, 221, 0, 0, 0, 222,
++ 0, 223, 224, 0, 225, 226, 227, 0, 228, 229,
++ 0, 230, 231, 232, 233, 234, 235, 0, 0, 236,
++ 237, 238, 0, 0, 239, 240, 0, 241, 242, 243,
++ 0, 0, 244, 0, 0, 0, 245, 0, 246, 0,
++ 247, 0, 248, 249, 250, 251, 252, 253, 0, 254,
++ 0, 0, 255, 256, 257, 0, 258, 0, 0, 0,
++ 259, 260, 0, 0, 0, 261, 262, 263, 264, 0,
++ 0, 265, 266, 267, 0, 268, 0, 269, 0, 0,
++ 0, 0, 270, 271, 0, 1334, 0, 272, 0, 273,
++ 274, 0, 275, 276, 0, 0, 0, 277, 0, 0,
++ 278, 279, 280, 0, 0, 281, 0, 0, 282, 283,
++ 0, 0, 0, 0, 0, 284, 285, 0, 286, 0,
++ 287, 0, 288, 289, 0, 0, 0, 0, 0, 0,
++ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
++ 300, 301, 302, 0, 303, 304, 305, 0, 306, 307,
++ 308, 309, 0, 310, 311, 0, 0, 0, 0, 312,
++ 313, 314, 315, 316, 317, 0, 0, 318, 319, 0,
++ 320, 0, 321, 0, 322, 323, 324, 325, 326, 327,
++ 328, 329, 330, 331, 0, 0, 332, 333, 0, 0,
++ 334, 335, 336, 337, 0, 0, 0, 338, 339, 0,
++ 0, 0, 0, 340, 341, 342, 0, 343, 344, 345,
++ 346, 0, 347, 348, 0, 0, 0, 0, 0, 0,
++ 0, 0, 349, 350, 351, 0, 0, 352, 0, 353,
++ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
++ 364, 0, 0, 365, 366, 367, 0, 368, 0, 369,
++ 370, 371, 372, 373, 0, 374, 375, 376, 0, 0,
++ 377, 0, 0, 0, 378, 379, 380, 381, 382, 0,
++ 0, 383, 384, 385, 386, 387, 0, 388, 389, 0,
++ 390, 391, 392, 0, 0, 393, 0, 394, 0, 395,
++ 396, 0, 397, 398, 0, 0, 0, 399, 400, 401,
++ 402, 403, 404, 405, 406, 407, 408, 0, 409, 410,
++ 0, 0, 0, 411, 412, 413, 414, 0, 0, 0,
++ 415, 0, 0, 0, 416, 0, 417, 418, 419, 420,
++ 0, 421, 422, 423, 424, 425, 426, 0, 0, 0,
++ 0, 0, 0, 427, 428, 0, 429, 0, 0, 430,
++ 0, 0, 431, 432, 433, 0, 0, 434, 435, 0,
++ 436, 437, 438, 439, 440, 441, 0, 0, 442, 443,
++ 444, 445, 0, 446, 447, 0, 448, 0, 449, 450,
++ 451, 452, 0, 0, 453, 454, 0, 455, 456, 457,
++ 458, 0, 0, 0, 0, 0, 459, 460, 461, 0,
++ 0, 0, 462, 463, 464, 465, 0, 466, 467, 0,
++ 468, 469, 0, 470, 471, 0, 0, 472, 0, 0,
++ 473, 0, 474, 0, 475, 476, 477, 0, 0, 0,
++ 0, 0, 0, 478, 0, 0, 479, 0, 0, 0,
++ 480, 481, 482, 483, 484, 485, 0, 0, 0, 0,
++ 0, 0, 486, 487, 0, 488, 489, 490, 0, 0,
++ 491, 0, 0, 0, 0, 0, 139, 0, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 539, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 0, 0, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 402, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 0, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 0, 491, 0, 0, 0, 0,
++ 0, 0, 0, 0, 139, 2280, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 539, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 0, 491, 0, 0, 0, 0, 0, 0,
++ 0, 139, 0, 140, 141, 142, 143, 144, 2523, 0,
++ 145, 0, 0, 0, 146, 0, 2524, 147, 0, 148,
++ 149, 150, 151, 152, 153, 154, 0, 155, 0, 0,
++ 0, 156, 0, 0, 0, 157, 0, 0, 158, 159,
++ 160, 0, 161, 0, 162, 163, 0, 0, 164, 0,
++ 0, 165, 166, 0, 167, 168, 0, 169, 170, 0,
++ 171, 172, 173, 174, 175, 176, 177, 0, 178, 179,
++ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
++ 189, 190, 191, 192, 193, 0, 194, 195, 0, 196,
++ 197, 198, 199, 200, 0, 201, 0, 0, 202, 0,
++ 0, 203, 0, 0, 0, 204, 0, 0, 0, 205,
++ 206, 207, 0, 0, 208, 0, 0, 0, 0, 209,
++ 210, 0, 0, 0, 0, 211, 0, 212, 0, 0,
++ 0, 213, 0, 214, 215, 216, 217, 0, 0, 0,
++ 218, 0, 0, 219, 220, 221, 0, 0, 0, 222,
++ 0, 223, 224, 0, 225, 226, 227, 0, 228, 229,
++ 0, 230, 231, 232, 233, 234, 235, 0, 0, 236,
++ 237, 238, 0, 0, 239, 240, 0, 241, 242, 243,
++ 0, 0, 244, 0, 0, 0, 245, 0, 246, 0,
++ 247, 0, 248, 249, 250, 251, 252, 253, 0, 254,
++ 0, 0, 255, 256, 257, 0, 258, 0, 0, 0,
++ 259, 260, 0, 0, 0, 261, 262, 263, 264, 0,
++ 0, 265, 266, 267, 0, 268, 0, 269, 0, 0,
++ 0, 0, 270, 271, 0, 0, 0, 272, 0, 273,
++ 274, 0, 275, 276, 0, 0, 0, 277, 0, 0,
++ 278, 279, 280, 0, 0, 281, 0, 0, 282, 283,
++ 0, 0, 0, 0, 0, 284, 285, 0, 286, 0,
++ 287, 0, 288, 289, 0, 0, 0, 0, 0, 0,
++ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
++ 300, 301, 302, 0, 303, 304, 305, 0, 306, 307,
++ 308, 309, 0, 310, 311, 0, 0, 0, 0, 312,
++ 313, 314, 315, 316, 317, 0, 0, 318, 319, 0,
++ 320, 0, 321, 0, 322, 323, 324, 325, 326, 327,
++ 328, 329, 330, 331, 0, 0, 332, 333, 0, 0,
++ 334, 335, 336, 337, 0, 0, 0, 338, 339, 0,
++ 0, 0, 0, 340, 341, 342, 0, 343, 344, 345,
++ 346, 0, 347, 348, 0, 0, 0, 0, 0, 0,
++ 0, 0, 349, 350, 351, 0, 0, 352, 0, 353,
++ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
++ 364, 0, 0, 365, 366, 367, 0, 368, 0, 369,
++ 370, 371, 372, 373, 0, 374, 375, 376, 0, 0,
++ 377, 0, 0, 0, 378, 379, 380, 381, 382, 0,
++ 0, 383, 384, 385, 386, 387, 0, 388, 389, 0,
++ 390, 391, 392, 0, 0, 393, 0, 394, 0, 395,
++ 396, 0, 397, 398, 0, 0, 0, 399, 400, 401,
++ 402, 403, 404, 405, 406, 407, 408, 0, 409, 410,
++ 0, 0, 0, 411, 412, 413, 414, 0, 0, 0,
++ 415, 0, 0, 0, 416, 0, 417, 418, 419, 420,
++ 0, 421, 422, 423, 424, 425, 426, 0, 0, 0,
++ 0, 0, 0, 427, 428, 0, 429, 0, 0, 430,
++ 0, 0, 431, 432, 433, 0, 0, 434, 435, 0,
++ 436, 437, 438, 439, 440, 441, 0, 0, 442, 443,
++ 444, 445, 0, 446, 447, 0, 448, 0, 449, 450,
++ 451, 452, 0, 0, 453, 454, 0, 455, 456, 457,
++ 458, 0, 0, 0, 0, 0, 459, 460, 461, 0,
++ 0, 0, 462, 463, 464, 465, 0, 466, 467, 0,
++ 468, 469, 0, 470, 471, 0, 0, 472, 0, 0,
++ 473, 0, 474, 0, 475, 476, 477, 0, 0, 0,
++ 0, 0, 0, 478, 0, 0, 479, 0, 0, 0,
++ 480, 481, 482, 483, 484, 485, 0, 0, 0, 0,
++ 0, 0, 486, 487, 0, 488, 489, 490, 0, 0,
++ 491, 0, 0, 0, 0, 0, 0, 0, 139, 0,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 4451, 782, 147, 0, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 0, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 0, 491, 0, 0,
++ 0, 0, 0, 139, 0, 140, 141, 142, 143, 144,
++ 0, 0, 145, 0, 0, 0, 146, 0, 0, 147,
++ 539, 148, 149, 150, 151, 152, 153, 154, 0, 155,
++ 0, 0, 0, 156, 0, 0, 0, 157, 0, 0,
++ 158, 159, 160, 0, 161, 0, 162, 163, 0, 0,
++ 164, 0, 0, 165, 166, 0, 167, 168, 0, 169,
++ 170, 0, 171, 172, 173, 174, 175, 176, 177, 0,
++ 178, 179, 180, 181, 182, 183, 184, 185, 0, 186,
++ 187, 188, 189, 190, 191, 192, 193, 0, 194, 195,
++ 0, 196, 197, 198, 199, 200, 0, 201, 0, 0,
++ 202, 0, 0, 203, 0, 0, 0, 204, 0, 0,
++ 0, 205, 206, 207, 0, 0, 208, 0, 0, 0,
++ 0, 209, 210, 0, 0, 0, 0, 211, 0, 212,
++ 0, 0, 0, 213, 0, 214, 215, 216, 217, 0,
++ 0, 0, 218, 0, 0, 219, 220, 221, 0, 0,
++ 0, 222, 0, 223, 224, 0, 225, 226, 227, 0,
++ 228, 229, 0, 230, 231, 232, 233, 234, 235, 0,
++ 0, 236, 606, 238, 0, 0, 239, 240, 0, 241,
++ 242, 243, 0, 0, 244, 0, 0, 0, 245, 0,
++ 246, 0, 247, 0, 248, 249, 250, 251, 252, 253,
++ 0, 254, 0, 0, 255, 256, 257, 0, 258, 0,
++ 0, 0, 259, 260, 0, 0, 0, 261, 262, 263,
++ 264, 0, 0, 265, 266, 267, 0, 268, 0, 269,
++ 0, 0, 0, 0, 270, 271, 0, 0, 0, 272,
++ 0, 273, 274, 0, 275, 276, 0, 0, 0, 277,
++ 0, 0, 278, 279, 280, 0, 0, 281, 0, 0,
++ 282, 283, 0, 0, 0, 0, 0, 284, 285, 0,
++ 286, 0, 287, 0, 288, 289, 0, 0, 0, 0,
++ 0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
++ 298, 299, 300, 301, 302, 0, 303, 304, 305, 0,
++ 306, 307, 308, 309, 0, 310, 311, 0, 0, 0,
++ 0, 312, 313, 314, 315, 316, 317, 0, 0, 318,
++ 319, 0, 320, 0, 321, 0, 322, 323, 324, 325,
++ 326, 327, 328, 329, 330, 331, 0, 0, 332, 333,
++ 0, 0, 334, 335, 336, 337, 0, 0, 0, 338,
++ 339, 0, 0, 0, 0, 340, 341, 342, 0, 343,
++ 344, 345, 346, 0, 347, 348, 0, 0, 0, 0,
++ 0, 0, 0, 0, 349, 350, 351, 0, 0, 352,
++ 0, 353, 354, 607, 356, 357, 358, 359, 360, 361,
++ 362, 363, 364, 0, 0, 365, 366, 367, 0, 368,
++ 0, 369, 370, 371, 372, 373, 0, 374, 375, 376,
++ 0, 0, 377, 0, 0, 0, 378, 379, 380, 381,
++ 382, 0, 0, 383, 384, 385, 386, 387, 0, 388,
++ 389, 0, 390, 391, 392, 0, 0, 393, 0, 394,
++ 0, 395, 396, 0, 397, 398, 0, 0, 0, 399,
++ 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
++ 409, 410, 0, 0, 0, 411, 412, 413, 414, 0,
++ 0, 0, 415, 0, 0, 0, 416, 0, 417, 418,
++ 419, 420, 0, 421, 422, 423, 424, 425, 426, 0,
++ 0, 0, 0, 0, 0, 427, 428, 0, 429, 0,
++ 0, 430, 0, 0, 431, 432, 433, 0, 0, 434,
++ 435, 0, 436, 437, 438, 439, 440, 441, 0, 0,
++ 442, 443, 444, 445, 0, 446, 447, 0, 448, 0,
++ 449, 450, 451, 452, 0, 0, 453, 454, 0, 455,
++ 456, 457, 458, 0, 0, 0, 0, 0, 459, 460,
++ 461, 0, 0, 0, 462, 463, 464, 465, 0, 466,
++ 467, 0, 468, 469, 0, 470, 471, 0, 0, 472,
++ 0, 0, 473, 0, 474, 0, 475, 476, 477, 0,
++ 0, 0, 0, 0, 0, 478, 0, 0, 479, 0,
++ 0, 0, 480, 481, 482, 483, 484, 485, 0, 0,
++ 0, 0, 0, 0, 486, 487, 0, 488, 489, 490,
++ 0, 0, 491, 0, 0, 0, 0, 0, 139, 0,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 539, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 0, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 0, 491, 0, 0,
++ 0, 0, 0, 139, 0, 140, 141, 142, 143, 144,
++ 0, 0, 145, 0, 0, 0, 146, 0, 0, 147,
++ 782, 148, 149, 150, 151, 152, 153, 154, 0, 155,
++ 0, 0, 0, 156, 0, 0, 0, 157, 0, 0,
++ 158, 159, 160, 0, 161, 0, 162, 163, 0, 0,
++ 164, 0, 0, 165, 166, 0, 167, 168, 0, 169,
++ 170, 0, 171, 172, 173, 174, 175, 176, 177, 0,
++ 178, 179, 180, 181, 182, 183, 184, 185, 0, 186,
++ 187, 188, 189, 190, 191, 192, 193, 0, 194, 195,
++ 0, 196, 197, 198, 199, 200, 0, 201, 0, 0,
++ 202, 0, 0, 203, 0, 0, 0, 204, 0, 0,
++ 0, 205, 206, 207, 0, 0, 208, 0, 0, 0,
++ 0, 209, 210, 0, 0, 0, 0, 211, 0, 212,
++ 0, 0, 0, 213, 0, 214, 215, 216, 217, 0,
++ 0, 0, 218, 0, 0, 219, 220, 221, 0, 0,
++ 0, 222, 0, 223, 224, 0, 225, 226, 227, 0,
++ 228, 229, 0, 230, 231, 232, 233, 234, 235, 0,
++ 0, 236, 237, 238, 0, 0, 239, 240, 0, 241,
++ 242, 243, 0, 0, 244, 0, 0, 0, 245, 0,
++ 246, 0, 247, 0, 248, 249, 250, 251, 252, 253,
++ 0, 254, 0, 0, 255, 256, 257, 0, 258, 0,
++ 0, 0, 259, 260, 0, 0, 0, 261, 262, 263,
++ 264, 0, 0, 265, 266, 267, 0, 268, 0, 269,
++ 0, 0, 0, 0, 270, 271, 0, 0, 0, 272,
++ 0, 273, 274, 0, 275, 276, 0, 0, 0, 277,
++ 0, 0, 278, 279, 280, 0, 0, 281, 0, 0,
++ 282, 283, 0, 0, 0, 0, 0, 284, 285, 0,
++ 286, 0, 287, 0, 288, 289, 0, 0, 0, 0,
++ 0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
++ 298, 299, 300, 301, 302, 0, 303, 304, 305, 0,
++ 306, 307, 308, 309, 0, 310, 311, 0, 0, 0,
++ 0, 312, 313, 314, 315, 316, 317, 0, 0, 318,
++ 319, 0, 320, 0, 321, 0, 322, 323, 324, 325,
++ 326, 327, 328, 329, 330, 331, 0, 0, 332, 333,
++ 0, 0, 334, 335, 336, 337, 0, 0, 0, 338,
++ 339, 0, 0, 0, 0, 340, 341, 342, 0, 343,
++ 344, 345, 346, 0, 347, 348, 0, 0, 0, 0,
++ 0, 0, 0, 0, 349, 350, 351, 0, 0, 352,
++ 0, 353, 354, 355, 356, 357, 358, 359, 360, 361,
++ 362, 363, 364, 0, 0, 365, 366, 367, 0, 368,
++ 0, 369, 370, 371, 372, 373, 0, 374, 375, 376,
++ 0, 0, 377, 0, 0, 0, 378, 379, 380, 381,
++ 382, 0, 0, 383, 384, 385, 386, 387, 0, 388,
++ 389, 0, 390, 391, 392, 0, 0, 393, 0, 394,
++ 0, 395, 396, 0, 397, 398, 0, 0, 0, 399,
++ 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
++ 409, 410, 0, 0, 0, 411, 412, 413, 414, 0,
++ 0, 0, 415, 0, 0, 0, 416, 0, 417, 418,
++ 419, 420, 0, 421, 422, 423, 424, 425, 426, 0,
++ 0, 0, 0, 0, 0, 427, 428, 0, 429, 0,
++ 0, 430, 0, 0, 431, 432, 433, 0, 0, 434,
++ 435, 0, 436, 437, 438, 439, 440, 441, 0, 0,
++ 442, 443, 444, 445, 0, 446, 447, 0, 448, 0,
++ 449, 450, 451, 452, 0, 0, 453, 454, 0, 455,
++ 456, 457, 458, 0, 0, 0, 0, 0, 459, 460,
++ 461, 0, 0, 0, 462, 463, 464, 465, 0, 466,
++ 467, 0, 468, 469, 0, 470, 471, 0, 0, 472,
++ 0, 0, 473, 0, 474, 0, 475, 476, 477, 0,
++ 0, 0, 0, 0, 0, 478, 0, 0, 479, 0,
++ 0, 0, 480, 481, 482, 483, 484, 485, 0, 0,
++ 0, 0, 0, 0, 486, 487, 0, 488, 489, 490,
++ 0, 0, 491, 0, 0, 0, 0, 0, 139, 0,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 2524, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 618, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 136, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 0, 491, 0, 0,
++ 0, 0, 139, 0, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 1700,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 618, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 136, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 0, 491, 0, 0, 0, 0, 139, 0, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 2806, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 0, 0, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 618, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 402, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 136, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 0, 491, 0, 0, 0, 0,
++ 139, 0, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 0, 3464, 148, 149,
++ 150, 151, 152, 153, 0, 0, -329, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 0, 0, 0, 0, 164, 3902, 0,
++ 165, 166, 0, 167, 0, 0, 0, 0, 0, 171,
++ 172, 173, 174, 3903, 176, 177, 0, 178, 179, 0,
++ 0, 0, 0, 0, 0, 0, 186, 0, 188, 0,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 0, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 0,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 0, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 0, 0, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 3904, 241, 242, 243, 0,
++ 0, 0, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 0, 256, 257, 0, 0, 0, 0, 0, 0,
++ 260, 0, 0, 0, 261, 262, 263, 264, 3905, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 0, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 3906, 0, 0, 277, 0, 0, 0,
++ 279, 280, 0, 0, 281, 3907, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, -284, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 0, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 3908,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 350, 351, 0, 0, 0, 0, 353, 354,
++ 355, 0, 357, 358, 359, 360, 361, 362, 363, 0,
++ 0, 0, 0, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 0, 0, 390,
++ 0, 392, -284, 0, 393, 0, 0, 0, 395, 0,
++ 0, 397, 398, 3909, 0, 0, 0, 400, 401, 402,
++ 403, 404, 405, 0, 407, 408, 0, 409, 0, 0,
++ 0, 0, 411, 412, 413, 0, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 0, 418, 0, 420, 0,
++ 421, 0, 423, 0, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 0, 433, 0, 0, 0, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 0, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 0, 0, 0, 0, 472, 0, 0, 473,
++ 0, 0, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, -284, 0, 0,
++ 0, 486, 0, 0, 488, 0, 490, 0, 0, 491,
++ 0, 139, 0, 140, 141, 142, 143, 144, 0, 0,
++ 145, 0, 0, 0, 146, 0, 4457, 147, 0, 148,
++ 149, 150, 151, 152, 153, 154, 0, 155, 0, 0,
++ 0, 156, 0, 0, 0, 157, 0, 0, 158, 159,
++ 160, 0, 161, 0, 162, 163, 0, 0, 164, 0,
++ 0, 165, 166, 0, 167, 168, 0, 169, 170, 0,
++ 171, 172, 173, 174, 175, 176, 177, 0, 178, 179,
++ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
++ 189, 190, 191, 192, 193, 0, 194, 195, 0, 196,
++ 197, 198, 199, 200, 0, 201, 0, 0, 202, 0,
++ 0, 203, 0, 995, 0, 204, 0, 0, 0, 205,
++ 206, 207, 0, 0, 208, 0, 0, 0, 0, 209,
++ 210, 0, 0, 0, 0, 211, 0, 212, 0, 0,
++ 0, 213, 0, 214, 215, 216, 217, 0, 0, 0,
++ 218, 0, 0, 219, 220, 221, 0, 0, 0, 222,
++ 0, 223, 224, 0, 225, 226, 227, 0, 228, 229,
++ 0, 230, 231, 232, 233, 234, 235, 0, 0, 236,
++ 237, 238, 0, 0, 239, 240, 0, 241, 242, 243,
++ 0, 0, 244, 0, 0, 0, 245, 0, 246, 0,
++ 247, 0, 248, 249, 250, 251, 252, 253, 0, 254,
++ 0, 0, 255, 256, 257, 0, 258, 0, 0, 0,
++ 259, 260, 0, 0, 0, 261, 262, 263, 264, 0,
++ 0, 265, 266, 267, 0, 268, 0, 269, 0, 0,
++ 0, 0, 270, 271, 0, 0, 0, 272, 0, 273,
++ 274, 0, 275, 276, 0, 0, 0, 277, 0, 0,
++ 278, 279, 280, 0, 0, 281, 0, 0, 282, 283,
++ 618, 0, 0, 0, 0, 284, 285, 0, 286, 0,
++ 287, 0, 288, 289, 0, 0, 0, 0, 0, 0,
++ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
++ 300, 301, 302, 0, 303, 304, 305, 0, 306, 307,
++ 308, 309, 0, 310, 311, 0, 0, 0, 0, 312,
++ 313, 314, 315, 316, 317, 0, 0, 318, 319, 0,
++ 320, 0, 321, 0, 322, 323, 324, 325, 326, 327,
++ 328, 329, 330, 331, 0, 0, 332, 333, 0, 0,
++ 334, 335, 336, 337, 0, 0, 0, 338, 339, 0,
++ 0, 0, 0, 340, 341, 342, 0, 343, 344, 345,
++ 346, 0, 347, 348, 0, 0, 0, 0, 0, 0,
++ 0, 0, 349, 350, 351, 0, 0, 352, 0, 353,
++ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
++ 364, 0, 0, 365, 366, 367, 0, 368, 0, 369,
++ 370, 371, 372, 373, 0, 374, 375, 376, 0, 0,
++ 377, 0, 0, 0, 378, 379, 380, 381, 382, 0,
++ 0, 383, 384, 385, 386, 387, 0, 388, 389, 0,
++ 390, 391, 392, 0, 0, 393, 0, 394, 0, 395,
++ 396, 0, 397, 398, 0, 0, 0, 399, 400, 401,
++ 402, 403, 404, 405, 406, 407, 408, 0, 409, 410,
++ 0, 0, 0, 411, 412, 413, 414, 0, 0, 0,
++ 415, 0, 0, 0, 416, 0, 417, 418, 419, 420,
++ 0, 421, 422, 423, 424, 425, 426, 0, 0, 0,
++ 0, 0, 0, 427, 428, 0, 429, 0, 0, 430,
++ 0, 0, 431, 432, 433, 0, 0, 434, 435, 0,
++ 436, 437, 438, 439, 440, 441, 0, 0, 442, 443,
++ 444, 445, 0, 446, 447, 0, 448, 0, 449, 450,
++ 451, 452, 0, 136, 453, 454, 0, 455, 456, 457,
++ 458, 0, 0, 0, 0, 0, 459, 460, 461, 0,
++ 0, 0, 462, 463, 464, 465, 0, 466, 467, 0,
++ 468, 469, 0, 470, 471, 0, 0, 472, 0, 0,
++ 473, 0, 474, 0, 475, 476, 477, 0, 0, 0,
++ 0, 0, 0, 478, 0, 0, 479, 0, 0, 0,
++ 480, 481, 482, 483, 484, 485, 0, 0, 0, 0,
++ 0, 0, 486, 487, 0, 488, 489, 490, 0, 0,
++ 491, 139, 0, 140, 141, 142, 143, 144, 0, 0,
++ 145, 0, 0, 0, 146, 1175, 0, 147, 0, 148,
++ 149, 150, 151, 152, 153, 154, 0, 155, 0, 0,
++ 0, 156, 0, 0, 0, 157, 0, 0, 158, 159,
++ 160, 0, 161, 0, 162, 163, 0, 0, 164, 0,
++ 0, 165, 166, 0, 167, 168, 0, 169, 170, 0,
++ 171, 172, 173, 174, 175, 176, 177, 0, 178, 179,
++ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
++ 189, 190, 191, 192, 193, 0, 194, 195, 0, 196,
++ 197, 198, 199, 200, 0, 201, 0, 0, 202, 0,
++ 0, 203, 0, 0, 0, 204, 0, 0, 0, 205,
++ 206, 207, 0, 0, 208, 0, 0, 0, 0, 209,
++ 210, 0, 0, 0, 0, 211, 0, 212, 0, 0,
++ 0, 213, 0, 214, 215, 216, 217, 0, 0, 0,
++ 218, 0, 0, 219, 220, 221, 0, 0, 0, 222,
++ 0, 223, 224, 0, 225, 226, 227, 0, 228, 229,
++ 0, 230, 231, 232, 233, 234, 235, 0, 0, 236,
++ 237, 238, 0, 0, 239, 240, 0, 241, 242, 243,
++ 0, 0, 244, 0, 0, 0, 245, 0, 246, 0,
++ 247, 0, 248, 249, 250, 251, 252, 253, 0, 254,
++ 0, 0, 255, 256, 257, 0, 258, 0, 0, 0,
++ 259, 260, 0, 0, 0, 261, 262, 263, 264, 0,
++ 0, 265, 266, 267, 0, 268, 0, 269, 0, 0,
++ 0, 0, 270, 271, 0, 0, 0, 272, 0, 273,
++ 274, 0, 275, 276, 0, 0, 0, 277, 0, 0,
++ 278, 279, 280, 0, 0, 281, 0, 0, 282, 283,
++ 0, 0, 0, 0, 0, 284, 285, 0, 286, 0,
++ 287, 0, 288, 289, 0, 0, 0, 0, 0, 0,
++ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
++ 300, 301, 302, 0, 303, 304, 305, 0, 306, 307,
++ 308, 309, 0, 310, 311, 0, 0, 0, 0, 312,
++ 313, 314, 315, 316, 317, 0, 0, 318, 319, 0,
++ 320, 0, 321, 0, 322, 323, 324, 325, 326, 327,
++ 328, 329, 330, 331, 0, 0, 332, 333, 0, 0,
++ 334, 335, 336, 337, 0, 0, 0, 338, 339, 0,
++ 0, 0, 0, 340, 341, 342, 0, 343, 344, 345,
++ 346, 0, 347, 348, 0, 0, 0, 0, 0, 0,
++ 0, 0, 349, 350, 351, 0, 0, 352, 0, 353,
++ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
++ 364, 0, 0, 365, 366, 367, 0, 368, 0, 369,
++ 370, 371, 372, 373, 0, 374, 375, 376, 0, 0,
++ 377, 0, 0, 0, 378, 379, 380, 381, 382, 0,
++ 0, 383, 384, 385, 386, 387, 0, 388, 389, 0,
++ 390, 391, 392, 0, 0, 393, 0, 394, 0, 395,
++ 396, 0, 397, 398, 0, 0, 0, 399, 400, 401,
++ 402, 403, 404, 405, 406, 407, 408, 0, 409, 410,
++ 0, 0, 0, 411, 412, 413, 414, 0, 0, 0,
++ 415, 0, 0, 0, 416, 0, 417, 418, 419, 420,
++ 0, 421, 422, 423, 424, 425, 426, 0, 0, 0,
++ 0, 0, 0, 427, 428, 0, 429, 0, 0, 430,
++ 0, 0, 431, 432, 433, 0, 0, 434, 435, 0,
++ 436, 437, 438, 439, 440, 441, 0, 0, 442, 443,
++ 444, 445, 0, 446, 447, 0, 448, 0, 449, 450,
++ 451, 452, 0, 0, 453, 454, 0, 455, 456, 457,
++ 458, 0, 0, 0, 0, 0, 459, 460, 461, 0,
++ 0, 0, 462, 463, 464, 465, 0, 466, 467, 0,
++ 468, 469, 0, 470, 471, 0, 0, 472, 0, 0,
++ 473, 0, 474, 0, 475, 476, 477, 0, 0, 0,
++ 0, 0, 0, 478, 0, 0, 479, 0, 0, 0,
++ 480, 481, 482, 483, 484, 485, 0, 0, 0, 0,
++ 0, 0, 486, 487, 0, 488, 489, 490, 0, 139,
++ 491, 140, 141, 142, 143, 144, 0, 0, 145, 0,
++ 2112, 0, 146, 0, 0, 147, 0, 148, 149, 150,
++ 151, 152, 153, 154, 0, 155, 0, 0, 0, 156,
++ 0, 0, 0, 157, 0, 0, 158, 159, 160, 0,
++ 161, 0, 162, 163, 0, 0, 164, 0, 0, 165,
++ 166, 0, 167, 168, 0, 169, 170, 0, 171, 172,
++ 173, 174, 175, 176, 177, 0, 178, 179, 180, 181,
++ 182, 183, 184, 185, 0, 186, 187, 188, 189, 190,
++ 191, 192, 193, 0, 194, 195, 0, 196, 197, 198,
++ 199, 200, 0, 201, 0, 0, 202, 0, 0, 203,
++ 0, 0, 0, 204, 0, 0, 0, 205, 206, 207,
++ 0, 0, 208, 0, 0, 0, 0, 209, 210, 0,
++ 0, 0, 0, 211, 0, 212, 0, 0, 0, 213,
++ 0, 214, 215, 216, 217, 0, 0, 0, 218, 0,
++ 0, 219, 220, 221, 0, 0, 0, 222, 0, 223,
++ 224, 0, 225, 226, 227, 0, 228, 229, 0, 230,
++ 231, 232, 233, 234, 235, 0, 0, 236, 237, 238,
++ 0, 0, 239, 240, 0, 241, 242, 243, 0, 0,
++ 244, 0, 0, 0, 245, 0, 246, 0, 247, 0,
++ 248, 249, 250, 251, 252, 253, 0, 254, 0, 0,
++ 255, 256, 257, 0, 258, 0, 0, 0, 259, 260,
++ 0, 0, 0, 261, 262, 263, 264, 0, 0, 265,
++ 266, 267, 0, 268, 0, 269, 0, 0, 0, 0,
++ 270, 271, 0, 0, 0, 272, 0, 273, 274, 0,
++ 275, 276, 0, 0, 0, 277, 0, 0, 278, 279,
++ 280, 0, 0, 281, 0, 0, 282, 283, 0, 0,
++ 0, 0, 0, 284, 285, 0, 286, 0, 287, 0,
++ 288, 289, 0, 0, 0, 0, 0, 0, 290, 291,
++ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
++ 302, 0, 303, 304, 305, 0, 306, 307, 308, 309,
++ 0, 310, 311, 0, 0, 0, 0, 312, 313, 314,
++ 315, 316, 317, 0, 0, 318, 319, 0, 320, 0,
++ 321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
++ 330, 331, 0, 0, 332, 333, 0, 0, 334, 335,
++ 336, 337, 0, 0, 0, 338, 339, 0, 0, 0,
++ 0, 340, 341, 342, 0, 343, 344, 345, 346, 0,
++ 347, 348, 0, 0, 0, 0, 0, 0, 0, 0,
++ 349, 350, 351, 0, 0, 352, 0, 353, 354, 355,
++ 356, 357, 358, 359, 360, 361, 362, 363, 364, 0,
++ 0, 365, 366, 367, 0, 368, 0, 369, 370, 371,
++ 372, 373, 0, 374, 375, 376, 0, 0, 377, 0,
++ 0, 0, 378, 379, 380, 381, 382, 0, 0, 383,
++ 384, 385, 386, 387, 0, 388, 389, 0, 390, 391,
++ 392, 0, 0, 393, 0, 394, 0, 395, 396, 0,
++ 397, 398, 0, 0, 0, 399, 400, 401, 402, 403,
++ 404, 405, 406, 407, 408, 0, 409, 410, 0, 0,
++ 0, 411, 412, 413, 414, 0, 0, 0, 415, 0,
++ 0, 0, 416, 0, 417, 418, 419, 420, 0, 421,
++ 422, 423, 424, 425, 426, 0, 0, 0, 0, 0,
++ 0, 427, 428, 0, 429, 0, 0, 430, 0, 0,
++ 431, 432, 433, 0, 0, 434, 435, 0, 436, 437,
++ 438, 439, 440, 441, 0, 0, 442, 443, 444, 445,
++ 0, 446, 447, 0, 448, 0, 449, 450, 451, 452,
++ 0, 0, 453, 454, 0, 455, 456, 457, 458, 0,
++ 0, 0, 0, 0, 459, 460, 461, 0, 0, 0,
++ 462, 463, 464, 465, 0, 466, 467, 0, 468, 469,
++ 0, 470, 471, 0, 0, 472, 0, 0, 473, 0,
++ 474, 0, 475, 476, 477, 0, 0, 0, 0, 0,
++ 0, 478, 0, 0, 479, 0, 0, 0, 480, 481,
++ 482, 483, 484, 485, 0, 0, 0, 0, 0, 0,
++ 486, 487, 0, 488, 489, 490, 0, 139, 491, 140,
++ 141, 142, 143, 144, 0, 0, 145, 0, 2794, 0,
++ 146, 0, 0, 147, 0, 148, 149, 150, 151, 152,
++ 153, 154, 0, 155, 0, 0, 0, 156, 0, 0,
++ 0, 157, 0, 0, 158, 159, 160, 0, 161, 0,
++ 162, 163, 0, 0, 164, 0, 0, 165, 166, 0,
++ 167, 168, 0, 169, 170, 0, 171, 172, 173, 174,
++ 175, 176, 177, 0, 178, 179, 180, 181, 182, 183,
++ 184, 185, 0, 186, 187, 188, 189, 190, 191, 192,
++ 193, 0, 194, 195, 0, 196, 197, 198, 199, 200,
++ 0, 201, 0, 0, 202, 0, 0, 203, 0, 0,
++ 0, 204, 0, 0, 0, 205, 206, 207, 0, 0,
++ 208, 0, 0, 0, 0, 209, 210, 0, 0, 0,
++ 0, 211, 0, 212, 0, 0, 0, 213, 0, 214,
++ 215, 216, 217, 0, 0, 0, 218, 0, 0, 219,
++ 220, 221, 0, 0, 0, 222, 0, 223, 224, 0,
++ 225, 226, 227, 0, 228, 229, 0, 230, 231, 232,
++ 233, 234, 235, 0, 0, 236, 237, 238, 0, 0,
++ 239, 240, 0, 241, 242, 243, 0, 0, 244, 0,
++ 0, 0, 245, 0, 246, 0, 247, 0, 248, 249,
++ 250, 251, 252, 253, 0, 254, 0, 0, 255, 256,
++ 257, 0, 258, 0, 0, 0, 259, 260, 0, 0,
++ 0, 261, 262, 263, 264, 0, 0, 265, 266, 267,
++ 0, 268, 0, 269, 0, 0, 0, 0, 270, 271,
++ 0, 0, 0, 272, 0, 273, 274, 0, 275, 276,
++ 0, 0, 0, 277, 0, 0, 278, 279, 280, 0,
++ 0, 281, 0, 0, 282, 283, 0, 0, 0, 0,
++ 0, 284, 285, 0, 286, 0, 287, 0, 288, 289,
++ 0, 0, 0, 0, 0, 0, 290, 291, 292, 293,
++ 294, 295, 296, 297, 298, 299, 300, 301, 302, 0,
++ 303, 304, 305, 0, 306, 307, 308, 309, 0, 310,
++ 311, 0, 0, 0, 0, 312, 313, 314, 315, 316,
++ 317, 0, 0, 318, 319, 0, 320, 0, 321, 0,
++ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
++ 0, 0, 332, 333, 0, 0, 334, 335, 336, 337,
++ 0, 0, 0, 338, 339, 0, 0, 0, 0, 340,
++ 341, 342, 0, 343, 344, 345, 346, 0, 347, 348,
++ 0, 0, 0, 0, 0, 0, 0, 0, 349, 350,
++ 351, 0, 0, 352, 0, 353, 354, 355, 356, 357,
++ 358, 359, 360, 361, 362, 363, 364, 0, 0, 365,
++ 366, 367, 0, 368, 0, 369, 370, 371, 372, 373,
++ 0, 374, 375, 376, 0, 0, 377, 0, 0, 0,
++ 378, 379, 380, 381, 382, 0, 0, 383, 384, 385,
++ 386, 387, 0, 388, 389, 0, 390, 391, 392, 0,
++ 0, 393, 0, 394, 0, 395, 396, 0, 397, 398,
++ 0, 0, 0, 399, 400, 401, 402, 403, 404, 405,
++ 406, 407, 408, 0, 409, 410, 0, 0, 0, 411,
++ 412, 413, 414, 0, 0, 0, 415, 0, 0, 0,
++ 416, 0, 417, 418, 419, 420, 0, 421, 422, 423,
++ 424, 425, 426, 0, 0, 0, 0, 0, 0, 427,
++ 428, 0, 429, 0, 0, 430, 0, 0, 431, 432,
++ 433, 0, 0, 434, 435, 0, 436, 437, 438, 439,
++ 440, 441, 0, 0, 442, 443, 444, 445, 0, 446,
++ 447, 0, 448, 0, 449, 450, 451, 452, 0, 0,
++ 453, 454, 0, 455, 456, 457, 458, 0, 0, 0,
++ 0, 0, 459, 460, 461, 0, 0, 0, 462, 463,
++ 464, 465, 0, 466, 467, 0, 468, 469, 0, 470,
++ 471, 0, 0, 472, 0, 0, 473, 0, 474, 0,
++ 475, 476, 477, 0, 0, 0, 0, 0, 0, 478,
++ 0, 0, 479, 0, 0, 0, 480, 481, 482, 483,
++ 484, 485, 0, 0, 0, 0, 0, 0, 486, 487,
++ 0, 488, 489, 490, 0, 139, 491, 140, 141, 142,
++ 143, 144, 0, 0, 145, 0, 3124, 0, 146, 0,
++ 0, 147, 0, 148, 149, 150, 151, 152, 153, 154,
++ 0, 155, 0, 0, 0, 156, 0, 0, 0, 157,
++ 0, 0, 158, 159, 160, 0, 161, 0, 162, 163,
++ 0, 0, 164, 0, 0, 165, 166, 0, 167, 168,
++ 0, 169, 170, 0, 171, 172, 173, 174, 175, 176,
++ 177, 0, 178, 179, 180, 181, 182, 183, 184, 185,
++ 0, 186, 187, 188, 189, 190, 191, 192, 193, 0,
++ 194, 195, 0, 196, 197, 198, 199, 200, 0, 201,
++ 0, 0, 202, 0, 0, 203, 0, 0, 0, 204,
++ 0, 0, 0, 205, 206, 207, 0, 0, 208, 0,
++ 0, 0, 0, 209, 210, 0, 0, 0, 0, 211,
++ 0, 212, 0, 0, 0, 213, 0, 214, 215, 216,
++ 217, 0, 0, 0, 218, 0, 0, 219, 220, 221,
++ 0, 0, 0, 222, 0, 223, 224, 0, 225, 226,
++ 227, 0, 228, 229, 0, 230, 231, 232, 233, 234,
++ 235, 0, 0, 236, 237, 238, 0, 0, 239, 240,
++ 0, 241, 242, 243, 0, 0, 244, 0, 0, 0,
++ 245, 0, 246, 0, 247, 0, 248, 249, 250, 251,
++ 252, 253, 0, 254, 0, 0, 255, 256, 257, 0,
++ 258, 0, 0, 0, 259, 260, 0, 0, 0, 261,
++ 262, 263, 264, 0, 0, 265, 266, 267, 0, 268,
++ 0, 269, 0, 0, 0, 0, 270, 271, 0, 0,
++ 0, 272, 0, 273, 274, 0, 275, 276, 0, 0,
++ 0, 277, 0, 0, 278, 279, 280, 0, 0, 281,
++ 0, 0, 282, 283, 0, 0, 0, 0, 0, 284,
++ 285, 0, 286, 0, 287, 0, 288, 289, 0, 0,
++ 0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
++ 296, 297, 298, 299, 300, 301, 302, 0, 303, 304,
++ 305, 0, 306, 307, 308, 309, 0, 310, 311, 0,
++ 0, 0, 0, 312, 313, 314, 315, 316, 317, 0,
++ 0, 318, 319, 0, 320, 0, 321, 0, 322, 323,
++ 324, 325, 326, 327, 328, 329, 330, 331, 0, 0,
++ 332, 333, 0, 0, 334, 335, 336, 337, 0, 0,
++ 0, 338, 339, 0, 0, 0, 0, 340, 341, 342,
++ 0, 343, 344, 345, 346, 0, 347, 348, 0, 0,
++ 0, 0, 0, 0, 0, 0, 349, 350, 351, 0,
++ 0, 352, 0, 353, 354, 355, 356, 357, 358, 359,
++ 360, 361, 362, 363, 364, 0, 0, 365, 366, 367,
++ 0, 368, 0, 369, 370, 371, 372, 373, 0, 374,
++ 375, 376, 0, 0, 377, 0, 0, 0, 378, 379,
++ 380, 381, 382, 0, 0, 383, 384, 385, 386, 387,
++ 0, 388, 389, 0, 390, 391, 392, 0, 0, 393,
++ 0, 394, 0, 395, 396, 0, 397, 398, 0, 0,
++ 0, 399, 400, 401, 402, 403, 404, 405, 406, 407,
++ 408, 0, 409, 410, 0, 0, 0, 411, 412, 413,
++ 414, 0, 0, 0, 415, 0, 0, 0, 416, 0,
++ 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
++ 426, 0, 0, 0, 0, 0, 0, 427, 428, 0,
++ 429, 0, 0, 430, 0, 0, 431, 432, 433, 0,
++ 0, 434, 435, 0, 436, 437, 438, 439, 440, 441,
++ 0, 0, 442, 443, 444, 445, 0, 446, 447, 0,
++ 448, 0, 449, 450, 451, 452, 0, 0, 453, 454,
++ 0, 455, 456, 457, 458, 0, 0, 0, 0, 0,
++ 459, 460, 461, 0, 0, 0, 462, 463, 464, 465,
++ 0, 466, 467, 0, 468, 469, 0, 470, 471, 0,
++ 0, 472, 0, 0, 473, 0, 474, 0, 475, 476,
++ 477, 0, 0, 0, 0, 0, 0, 478, 0, 0,
++ 479, 0, 0, 0, 480, 481, 482, 483, 484, 485,
++ 0, 0, 0, 0, 0, 0, 486, 487, 0, 488,
++ 489, 490, 0, 139, 491, 140, 141, 142, 143, 144,
++ 0, 0, 145, 0, 3469, 0, 146, 0, 0, 147,
++ 0, 148, 149, 150, 151, 152, 153, 154, 0, 155,
++ 0, 0, 2636, 156, 0, 0, 0, 157, 0, 0,
++ 158, 159, 160, 0, 161, 0, 162, 163, 0, 0,
++ 164, 0, 0, 165, 166, 0, 167, 168, 0, 169,
++ 170, 0, 171, 172, 173, 174, 175, 176, 177, 0,
++ 178, 179, 180, 181, 182, 183, 184, 185, 0, 186,
++ 187, 188, 189, 190, 191, 192, 193, 0, 194, 195,
++ 0, 196, 197, 198, 199, 200, 0, 201, 0, 0,
++ 202, 0, 0, 203, 0, 0, 0, 204, 0, 0,
++ 0, 205, 206, 207, 0, 0, 208, 0, 0, 0,
++ 0, 209, 210, 0, 0, 0, 2800, 211, 0, 212,
++ 0, 0, 0, 213, 0, 214, 215, 216, 217, 0,
++ 0, 0, 218, 0, 0, 219, 220, 221, 0, 0,
++ 0, 222, 0, 223, 224, 0, 225, 226, 227, 0,
++ 228, 229, 0, 230, 231, 232, 233, 234, 235, 0,
++ 0, 236, 237, 238, 0, 0, 239, 240, 0, 241,
++ 242, 243, 0, 0, 244, 0, 0, 0, 245, 0,
++ 246, 0, 247, 0, 248, 249, 250, 251, 252, 253,
++ 0, 254, 0, 0, 255, 256, 257, 0, 258, 0,
++ 0, 0, 259, 260, 0, 0, 0, 261, 262, 263,
++ 264, 0, 0, 265, 266, 267, 0, 268, 0, 269,
++ 0, 0, 0, 0, 270, 271, 0, 0, 0, 272,
++ 0, 273, 274, 0, 275, 276, 0, 0, 0, 277,
++ 0, 0, 278, 279, 280, 0, 0, 281, 0, 0,
++ 282, 283, 618, 0, 0, 0, 0, 284, 285, 0,
++ 286, 0, 287, 0, 288, 289, 0, 0, 0, 0,
++ 0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
++ 298, 299, 300, 301, 302, 0, 303, 304, 305, 0,
++ 306, 307, 308, 309, 0, 310, 311, 0, 0, 0,
++ 0, 312, 313, 314, 315, 316, 317, 0, 0, 318,
++ 319, 0, 320, 0, 321, 0, 322, 323, 324, 325,
++ 326, 327, 328, 329, 330, 331, 0, 0, 332, 333,
++ 0, 0, 334, 335, 336, 337, 0, 0, 0, 338,
++ 339, 0, 0, 0, 0, 340, 341, 342, 0, 343,
++ 344, 345, 346, 0, 347, 348, 0, 0, 0, 0,
++ 0, 0, 0, 0, 349, 350, 351, 0, 0, 352,
++ 0, 353, 354, 355, 356, 357, 358, 359, 360, 361,
++ 362, 363, 364, 0, 0, 365, 366, 367, 0, 368,
++ 0, 369, 370, 371, 372, 373, 0, 374, 375, 376,
++ 0, 0, 377, 0, 0, 0, 378, 379, 380, 381,
++ 382, 0, 0, 383, 384, 385, 386, 387, 0, 388,
++ 389, 0, 390, 391, 392, 0, 0, 393, 0, 394,
++ 0, 395, 396, 0, 397, 398, 0, 0, 0, 399,
++ 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
++ 409, 410, 0, 0, 0, 411, 412, 413, 414, 0,
++ 0, 2262, 415, 0, 0, 0, 416, 0, 417, 418,
++ 419, 420, 0, 421, 422, 423, 424, 425, 426, 0,
++ 0, 0, 0, 0, 0, 427, 428, 0, 429, 0,
++ 0, 430, 0, 0, 431, 432, 433, 0, 0, 434,
++ 435, 0, 436, 437, 438, 439, 440, 441, 0, 0,
++ 442, 443, 444, 445, 0, 446, 447, 0, 448, 0,
++ 449, 450, 451, 452, 0, 136, 453, 454, 0, 455,
++ 456, 457, 458, 0, 0, 0, 0, 0, 459, 460,
++ 461, 0, 0, 0, 462, 463, 464, 465, 0, 466,
++ 467, 0, 468, 469, 0, 470, 471, 0, 0, 472,
++ 0, 0, 473, 0, 474, 0, 475, 476, 477, 0,
++ 0, 0, 0, 0, 0, 478, 0, 0, 479, 0,
++ 0, 0, 480, 481, 482, 483, 484, 485, 0, 0,
++ 0, 0, 0, 0, 486, 487, 0, 488, 489, 490,
++ 0, 0, 491, 0, 139, 2263, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 2436, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 2437, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 2438, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 2439,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 1038, 1039, 0,
++ 338, 339, 0, 0, 2440, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 4437, 564, 4438, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 2441,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 1588, 0, 0, 2965, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 1589, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 2860, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 2861, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 2862, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 136, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 2863, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 147, 0, 148, 149,
++ 150, 151, 152, 153, 154, 0, 155, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 0, 0,
++ 165, 166, 0, 167, 168, 0, 169, 170, 0, 171,
++ 172, 173, 174, 175, 176, 177, 0, 178, 179, 180,
++ 181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 199, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 210,
++ 1588, 0, 0, 3896, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 0, 241, 242, 243, 1589,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 255, 256, 257, 0, 258, 2860, 0, 0, 259,
++ 260, 0, 0, 0, 261, 262, 263, 264, 0, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 271, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 280, 0, 0, 281, 0, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 2861, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 338, 339, 0, 0,
++ 2862, 0, 340, 341, 342, 0, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 0, 352, 0, 353, 354,
++ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
++ 0, 0, 365, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 0, 0, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 0, 399, 400, 401, 402,
++ 403, 404, 405, 406, 407, 408, 0, 409, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 0, 0, 434, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 136, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 462, 463, 464, 465, 2863, 466, 467, 0, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 0, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 1588, 0,
++ 0, 4180, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 1589, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 2860, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 2861, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 2862, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 136, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 2863, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 0, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 972, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 973, 974, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 402, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 975, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 1865,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 1866, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 739,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 1867, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 1868,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 2808, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 2809, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 618, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 136, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 147, 0, 148, 149,
++ 150, 151, 152, 153, 154, 0, 155, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 0, 0,
++ 165, 166, 0, 167, 168, 0, 169, 170, 0, 171,
++ 172, 173, 174, 175, 176, 177, 0, 178, 179, 180,
++ 181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 199, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 210,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 0, 241, 242, 243, 0,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 255, 256, 257, 0, 258, 0, 0, 0, 259,
++ 260, 0, 0, 0, 261, 262, 263, 264, 0, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 271, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 280, 0, 0, 281, 0, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 1865, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 338, 339, 0, 0,
++ 1866, 0, 340, 341, 342, 0, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 739, 352, 0, 353, 354,
++ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
++ 0, 0, 365, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 0, 0, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 0, 399, 400, 401, 402,
++ 403, 404, 405, 406, 407, 408, 0, 409, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 0, 0, 434, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 462, 463, 464, 465, 1868, 466, 467, 0, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 0, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 2636, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 2800, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 618, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 136, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 0, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 0, 0, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 1865, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 1866, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 739, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 3618, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 0, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 1868, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 995, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 618, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 136, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 1387,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 618, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 136, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 147, 0, 148, 149,
++ 150, 151, 152, 153, 154, 0, 155, 0, 0, 2636,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 0, 0,
++ 165, 166, 0, 167, 168, 0, 169, 170, 0, 171,
++ 172, 173, 174, 175, 176, 177, 0, 178, 179, 180,
++ 181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 199, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 210,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 0, 241, 242, 243, 0,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 255, 256, 257, 0, 258, 0, 0, 0, 259,
++ 260, 0, 0, 0, 261, 262, 263, 264, 0, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 271, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 280, 0, 0, 281, 0, 0, 282, 283, 618,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 338, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 0, 352, 0, 353, 354,
++ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
++ 0, 0, 365, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 0, 0, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 0, 399, 400, 401, 402,
++ 403, 404, 405, 406, 407, 408, 0, 409, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 0, 0, 434, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 136, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 462, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 0, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 2851, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 618, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 136, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 0, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 0, 0, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 618, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 402, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 136, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 2790, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 136, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 4352, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 4353,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 147, 0, 148, 149,
++ 150, 151, 152, 153, 154, 0, 155, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 0, 0,
++ 165, 166, 0, 167, 168, 0, 169, 170, 0, 171,
++ 172, 173, 174, 175, 176, 177, 0, 178, 179, 180,
++ 181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 199, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 210,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 0, 241, 242, 243, 0,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 255, 256, 257, 0, 258, 0, 0, 0, 259,
++ 260, 0, 0, 0, 261, 262, 263, 264, 0, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 271, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 280, 0, 0, 281, 0, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 338, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 0, 352, 0, 353, 354,
++ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
++ 0, 0, 365, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 0, 0, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 0, 399, 400, 401, 402,
++ 403, 404, 405, 406, 407, 408, 0, 409, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 564,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 0, 0, 434, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 462, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 0, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 1074, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 0, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 0, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 2031,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 0, 0, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 402, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 0, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 2367, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 2368,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 2894,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 242,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 147, 0, 148, 149,
++ 150, 151, 152, 153, 154, 0, 155, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 162, 163, 0, 0, 164, 0, 0,
++ 165, 166, 0, 167, 168, 0, 169, 170, 0, 171,
++ 172, 173, 174, 175, 176, 177, 0, 178, 179, 180,
++ 181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 199, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 210,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 218,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 223, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 234, 235, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 0, 241, 242, 243, 0,
++ 0, 244, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 255, 256, 257, 0, 258, 0, 0, 0, 259,
++ 260, 0, 0, 0, 261, 262, 263, 264, 0, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 271, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 278,
++ 279, 280, 0, 0, 281, 0, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 338, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 346,
++ 0, 347, 348, 0, 0, 0, 0, 0, 0, 0,
++ 0, 349, 350, 351, 0, 0, 352, 0, 353, 354,
++ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
++ 0, 0, 365, 366, 367, 2981, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 389, 0, 390,
++ 391, 392, 0, 0, 393, 0, 394, 0, 395, 396,
++ 0, 397, 398, 0, 0, 0, 399, 400, 401, 402,
++ 403, 404, 405, 406, 407, 408, 0, 409, 410, 0,
++ 0, 0, 411, 412, 413, 414, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 417, 418, 419, 420, 0,
++ 421, 422, 423, 424, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 432, 433, 0, 0, 434, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 462, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 470, 471, 0, 0, 472, 0, 0, 473,
++ 0, 474, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
++ 0, 486, 487, 0, 488, 489, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 147, 0, 148, 149, 150, 151,
++ 152, 153, 154, 0, 155, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 162, 163, 0, 0, 164, 0, 0, 165, 166,
++ 0, 167, 168, 0, 169, 170, 0, 171, 172, 173,
++ 174, 175, 176, 177, 0, 178, 179, 180, 181, 182,
++ 183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 199,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 210, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 218, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 223, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 234, 235, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 0, 241, 242, 243, 0, 0, 244,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 255,
++ 256, 257, 0, 258, 0, 0, 0, 259, 260, 0,
++ 0, 0, 261, 262, 263, 264, 0, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 271, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 0, 0, 0, 277, 0, 0, 278, 279, 280,
++ 0, 0, 281, 0, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, 0, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 338, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 346, 0, 347,
++ 348, 0, 0, 0, 0, 0, 0, 0, 0, 349,
++ 350, 351, 0, 0, 352, 0, 353, 354, 355, 356,
++ 357, 358, 359, 360, 361, 362, 363, 364, 0, 0,
++ 365, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 389, 0, 390, 391, 392,
++ 0, 0, 393, 0, 394, 0, 395, 396, 0, 397,
++ 398, 0, 0, 0, 399, 400, 401, 402, 403, 404,
++ 405, 406, 407, 408, 0, 409, 410, 0, 0, 0,
++ 411, 412, 413, 414, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 417, 418, 419, 420, 0, 421, 422,
++ 423, 424, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 432, 433, 0, 0, 434, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 136, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 462,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 470, 471, 0, 0, 472, 0, 0, 473, 0, 474,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, 0, 0, 0, 0, 486,
++ 487, 0, 488, 489, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 147, 0, 148, 149, 150, 151, 152, 153,
++ 154, 0, 155, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 162,
++ 163, 0, 0, 164, 0, 0, 165, 166, 0, 167,
++ 168, 0, 169, 170, 0, 171, 172, 173, 174, 175,
++ 176, 177, 0, 178, 179, 180, 181, 182, 183, 184,
++ 185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 210, 0, 0, 0, 2367,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 218, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, 223, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 234, 235, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 0, 241, 242, 243, 0, 0, 244, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 255, 256, 257,
++ 0, 258, 0, 0, 0, 259, 260, 0, 0, 0,
++ 261, 262, 263, 264, 0, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 271, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 0,
++ 0, 0, 277, 0, 0, 278, 279, 280, 0, 0,
++ 281, 0, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 338, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 346, 0, 347, 348, 0,
++ 0, 0, 0, 0, 0, 0, 0, 349, 350, 351,
++ 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
++ 359, 360, 361, 362, 363, 364, 0, 0, 365, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 389, 0, 390, 391, 392, 0, 0,
++ 393, 0, 394, 0, 395, 396, 0, 397, 398, 0,
++ 0, 0, 399, 400, 401, 402, 403, 404, 405, 406,
++ 407, 408, 0, 409, 410, 0, 0, 0, 411, 412,
++ 413, 414, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 417, 418, 419, 420, 0, 421, 422, 423, 424,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 432, 433,
++ 0, 0, 434, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 0, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 462, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 470, 471,
++ 0, 0, 472, 0, 0, 473, 0, 474, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, 0, 0, 0, 0, 486, 487, 0,
++ 488, 489, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 147, 0, 148, 149, 150, 151, 152, 153, 154, 0,
++ 155, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 162, 163, 0,
++ 0, 164, 0, 0, 165, 166, 0, 167, 168, 0,
++ 169, 170, 0, 171, 172, 173, 174, 175, 176, 177,
++ 0, 178, 179, 180, 181, 182, 183, 184, 185, 0,
++ 186, 187, 188, 189, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 199, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 210, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 218, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 223, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 234, 235,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 0,
++ 241, 242, 243, 0, 0, 244, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 255, 256, 257, 0, 258,
++ 0, 0, 0, 259, 260, 0, 0, 0, 261, 262,
++ 263, 264, 0, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 271, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 0, 0, 0,
++ 277, 0, 0, 278, 279, 280, 0, 0, 281, 0,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 338, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 346, 0, 347, 348, 0, 0, 0,
++ 0, 0, 0, 0, 0, 349, 350, 351, 0, 0,
++ 352, 0, 353, 354, 355, 356, 357, 358, 359, 360,
++ 361, 362, 363, 364, 0, 0, 365, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 389, 0, 390, 391, 392, 0, 0, 393, 0,
++ 394, 0, 395, 396, 0, 397, 398, 0, 0, 0,
++ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
++ 0, 409, 410, 0, 0, 0, 411, 412, 413, 414,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 417,
++ 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 432, 433, 0, 0,
++ 434, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 462, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 470, 471, 0, 0,
++ 472, 0, 0, 473, 0, 474, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, 0, 0, 0, 0, 486, 487, 0, 488, 489,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 147, 0,
++ 148, 149, 150, 151, 152, 153, 154, 0, 155, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 162, 163, 0, 0, 164,
++ 0, 0, 165, 166, 0, 167, 168, 0, 169, 170,
++ 0, 171, 172, 173, 174, 175, 176, 177, 0, 178,
++ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
++ 188, 189, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 199, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 210, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 218, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 223, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 234, 235, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 0, 241, 1781,
++ 243, 0, 0, 244, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 255, 256, 257, 0, 258, 0, 0,
++ 0, 259, 260, 0, 0, 0, 261, 262, 263, 264,
++ 0, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 271, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 0, 0, 0, 277, 0,
++ 0, 278, 279, 280, 0, 0, 281, 0, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, 0,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 1782, 336, 337, 0, 0, 0, 338, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 346, 0, 347, 348, 0, 0, 0, 0, 0,
++ 0, 0, 0, 349, 350, 351, 0, 0, 352, 0,
++ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
++ 363, 364, 0, 0, 365, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 389,
++ 0, 390, 391, 392, 0, 0, 393, 0, 394, 0,
++ 395, 396, 0, 397, 398, 0, 0, 0, 399, 400,
++ 401, 402, 403, 404, 405, 406, 407, 408, 0, 409,
++ 410, 0, 0, 0, 411, 412, 413, 414, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 417, 418, 419,
++ 420, 0, 421, 422, 423, 424, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 432, 433, 0, 0, 434, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 462, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 470, 471, 0, 0, 472, 0,
++ 0, 473, 0, 474, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, 0,
++ 0, 0, 0, 486, 487, 0, 488, 489, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 0, 0, 148, 149,
++ 150, 151, 152, 153, 0, 0, -329, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 0, 0, 0, 0, 164, 3902, 0,
++ 165, 166, 0, 167, 0, 0, 0, 0, 0, 171,
++ 172, 173, 174, 3903, 176, 177, 0, 178, 179, 0,
++ 0, 0, 0, 0, 0, 0, 186, 0, 188, 0,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 0, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 0,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
++ 0, 0, 219, 220, 221, 0, -299, -299, 222, 0,
++ -299, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 0, 0, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 3904, 241, 242, 243, 0,
++ 0, 0, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 0, 256, 257, 0, 0, 0, 0, 0, 0,
++ 260, 0, 0, 0, 261, 262, 263, 264, 3905, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 0, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 3906, 0, 0, 277, 0, 0, 0,
++ 279, 280, 0, 0, 281, 3907, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, -284, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 0, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 3908,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 350, 351, 0, 0, 0, 0, 353, 354,
++ 355, 0, 357, 358, 359, 360, 361, 362, 363, 0,
++ 0, 0, 0, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 0, 0, 390,
++ 0, 392, -284, 0, 393, 0, 0, 0, 395, 0,
++ 0, 397, 398, 3909, 0, 0, 0, 400, 401, 402,
++ 403, 404, 405, 0, 407, 408, 0, 409, 0, 0,
++ 0, 0, 411, 412, 413, 0, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 0, 418, 0, 420, 0,
++ 421, 0, 423, 0, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 0, 433, 0, 0, 0, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 0, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 0, 0, 0, 0, 472, 0, 0, 473,
++ 0, 0, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, -284, 0, 0,
++ 0, 486, 0, 0, 488, 0, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 0, 0, 148, 149, 150, 151,
++ 152, 153, 0, 0, -329, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 0, 0, 0, 0, 164, 3902, 0, 165, 166,
++ 0, 167, 0, 0, 0, 0, 0, 171, 172, 173,
++ 174, 3903, 176, 177, 0, 178, 179, 0, 0, 0,
++ 0, 0, 0, 0, 186, 0, 188, 0, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 0,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 0, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
++ 219, 220, 221, 0, -320, 0, 222, 0, -320, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 0, 0, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 3904, 241, 242, 243, 0, 0, 0,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 0,
++ 256, 257, 0, 0, 0, 0, 0, 0, 260, 0,
++ 0, 0, 261, 262, 263, 264, 3905, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 0, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 3906, 0, 0, 277, 0, 0, 0, 279, 280,
++ 0, 0, 281, 3907, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, -284, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 0, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 3908, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 350, 351, 0, 0, 0, 0, 353, 354, 355, 0,
++ 357, 358, 359, 360, 361, 362, 363, 0, 0, 0,
++ 0, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 0, 0, 390, 0, 392,
++ -284, 0, 393, 0, 0, 0, 395, 0, 0, 397,
++ 398, 3909, 0, 0, 0, 400, 401, 402, 403, 404,
++ 405, 0, 407, 408, 0, 409, 0, 0, 0, 0,
++ 411, 412, 413, 0, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 0, 418, 0, 420, 0, 421, 0,
++ 423, 0, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 0, 433, 0, 0, 0, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 0, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 0,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 0, 0, 0, 0, 472, 0, 0, 473, 0, 0,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, -320, 0, -284, 0, 0, 0, 486,
++ 0, 0, 488, 0, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 0, 0, 148, 149, 150, 151, 152, 153,
++ 0, 0, -329, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 0,
++ 0, 0, 0, 164, 3902, 0, 165, 166, 0, 167,
++ 0, 0, 0, 0, 0, 171, 172, 173, 174, 3903,
++ 176, 177, 0, 178, 179, 0, 0, 0, 0, 0,
++ 0, 0, 186, 0, 188, 0, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 0, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 0, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 0, 0, 0, 219, 220,
++ 221, 0, -317, 0, 222, 0, -317, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 0, 0, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 3904, 241, 242, 243, 0, 0, 0, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 0, 256, 257,
++ 0, 0, 0, 0, 0, 0, 260, 0, 0, 0,
++ 261, 262, 263, 264, 3905, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 0, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 3906,
++ 0, 0, 277, 0, 0, 0, 279, 280, 0, 0,
++ 281, 3907, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, -284, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 0, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 3908, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 350, 351,
++ 0, 0, 0, 0, 353, 354, 355, 0, 357, 358,
++ 359, 360, 361, 362, 363, 0, 0, 0, 0, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 0, 0, 390, 0, 392, -284, 0,
++ 393, 0, 0, 0, 395, 0, 0, 397, 398, 3909,
++ 0, 0, 0, 400, 401, 402, 403, 404, 405, 0,
++ 407, 408, 0, 409, 0, 0, 0, 0, 411, 412,
++ 413, 0, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 0, 418, 0, 420, 0, 421, 0, 423, 0,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 0, 433,
++ 0, 0, 0, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 0, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 0, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 0, 0,
++ 0, 0, 472, 0, 0, 473, 0, 0, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, -317, 0, -284, 0, 0, 0, 486, 0, 0,
++ 488, 0, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 0, 0, 148, 149, 150, 151, 152, 153, 0, 0,
++ -329, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 0, 0, 0,
++ 0, 164, 3902, 0, 165, 166, 0, 167, 0, 0,
++ 0, 0, 0, 171, 172, 173, 174, 3903, 176, 177,
++ 0, 178, 179, 0, 0, 0, 0, 0, 0, 0,
++ 186, 0, 188, 0, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 0, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 0, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 0, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 4242, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 0, 0,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 3904,
++ 241, 242, 243, 0, 0, 0, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 0, 256, 257, 0, 0,
++ 0, 0, 0, 0, 260, 0, 0, 0, 261, 262,
++ 263, 264, 3905, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 0, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 3906, 0, 0,
++ 277, 0, 0, 0, 279, 280, 0, 0, 281, 3907,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, -284, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 0, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 3908, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 350, 351, 0, 0,
++ 0, 0, 353, 354, 355, 0, 357, 358, 359, 360,
++ 361, 362, 363, 0, 0, 0, 0, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 0, 0, 390, 0, 392, -284, 0, 393, 0,
++ 0, 0, 395, 0, 0, 397, 398, 3909, 0, 0,
++ 0, 400, 401, 402, 403, 404, 405, 0, 407, 408,
++ 0, 409, 0, 0, 0, 0, 411, 412, 413, 0,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 0,
++ 418, 0, 420, 0, 421, 0, 423, 0, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 0, 433, 0, 0,
++ 0, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 0, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 0, 0, 0, 0,
++ 472, 0, 0, 473, 0, 0, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, -284, 0, 0, 0, 486, 0, 0, 488, 0,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 0, 0,
++ 148, 149, 150, 151, 152, 153, 0, 0, -329, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 0, 0, 0, 0, 164,
++ 3902, 0, 165, 166, 0, 167, 0, 0, 0, 0,
++ 0, 171, 172, 173, 174, 3903, 176, 177, 0, 178,
++ 179, 0, 0, 0, 0, 0, 0, 0, 186, 0,
++ 188, 0, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 0, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 0, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 0, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, -322, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 0, 0, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 3904, 241, 242,
++ 243, 0, 0, 0, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 0, 256, 257, 0, 0, 0, 0,
++ 0, 0, 260, 0, 0, 0, 261, 262, 263, 264,
++ 3905, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 0, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 3906, 0, 0, 277, 0,
++ 0, 0, 279, 280, 0, 0, 281, 3907, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, -284,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 0, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 3908, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 350, 351, 0, 0, 0, 0,
++ 353, 354, 355, 0, 357, 358, 359, 360, 361, 362,
++ 363, 0, 0, 0, 0, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 0,
++ 0, 390, 0, 392, -284, 0, 393, 0, 0, 0,
++ 395, 0, 0, 397, 398, 3909, 0, 0, 0, 400,
++ 401, 402, 403, 404, 405, 0, 407, 408, 0, 409,
++ 0, 0, 0, 0, 411, 412, 413, 0, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 0, 418, 0,
++ 420, 0, 421, 0, 423, 0, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 0, 433, 0, 0, 0, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 0, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 0, 0, 0, 0, 472, 0,
++ 0, 473, 0, 0, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, -284,
++ 0, 0, 0, 486, 0, 0, 488, 0, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 0, 0, 148, 149,
++ 150, 151, 152, 153, 0, 0, -329, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 0, 0, 0, 0, 164, 3902, 0,
++ 165, 166, 0, 167, 0, 0, 0, 0, 0, 171,
++ 172, 173, 174, 3903, 176, 177, 0, 178, 179, 0,
++ 0, 0, 0, 0, 0, 0, 186, 0, 188, 0,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 0, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 0,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 4357, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 0, 0, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 3904, 241, 242, 243, 0,
++ 0, 0, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 0, 256, 257, 0, 0, 0, 0, 0, 0,
++ 260, 0, 0, 0, 261, 262, 263, 264, 3905, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 0, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 3906, 0, 0, 277, 0, 0, 0,
++ 279, 280, 0, 0, 281, 3907, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, -284, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 0, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 3908,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 350, 351, 0, 0, 0, 0, 353, 354,
++ 355, 0, 357, 358, 359, 360, 361, 362, 363, 0,
++ 0, 0, 0, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 0, 0, 390,
++ 0, 392, -284, 0, 393, 0, 0, 0, 395, 0,
++ 0, 397, 398, 3909, 0, 0, 0, 400, 401, 402,
++ 403, 404, 405, 0, 407, 408, 0, 409, 0, 0,
++ 0, 0, 411, 412, 413, 0, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 0, 418, 0, 420, 0,
++ 421, 0, 423, 0, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 0, 433, 0, 0, 0, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 0, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 0, 0, 0, 0, 472, 0, 0, 473,
++ 0, 0, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, -284, 0, 0,
++ 0, 486, 0, 0, 488, 0, 490, 0, 139, 491,
++ 140, 141, 142, 143, 144, 0, 0, 145, 0, 0,
++ 0, 146, 0, 0, 0, 0, 148, 149, 150, 151,
++ 152, 153, 0, 0, -329, 0, 0, 0, 156, 0,
++ 0, 0, 157, 0, 0, 158, 159, 160, 0, 161,
++ 0, 0, 0, 0, 0, 164, 3902, 0, 165, 166,
++ 0, 167, 0, 0, 0, 0, 0, 171, 172, 173,
++ 174, 3903, 176, 177, 0, 178, 179, 0, 0, 0,
++ 0, 0, 0, 0, 186, 0, 188, 0, 190, 191,
++ 192, 193, 0, 194, 195, 0, 196, 197, 198, 0,
++ 200, 0, 201, 0, 0, 202, 0, 0, 203, 0,
++ 0, 0, 204, 0, 0, 0, 205, 206, 207, 0,
++ 0, 208, 0, 0, 0, 0, 209, 0, 0, 0,
++ 0, 0, 211, 0, 212, 0, 0, 0, 213, 0,
++ 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
++ 219, 220, 221, 0, 0, 0, 222, 0, 4406, 224,
++ 0, 225, 226, 227, 0, 228, 229, 0, 230, 231,
++ 232, 233, 0, 0, 0, 0, 236, 237, 238, 0,
++ 0, 239, 240, 3904, 241, 242, 243, 0, 0, 0,
++ 0, 0, 0, 245, 0, 246, 0, 247, 0, 248,
++ 249, 250, 251, 252, 253, 0, 254, 0, 0, 0,
++ 256, 257, 0, 0, 0, 0, 0, 0, 260, 0,
++ 0, 0, 261, 262, 263, 264, 3905, 0, 265, 266,
++ 267, 0, 268, 0, 269, 0, 0, 0, 0, 270,
++ 0, 0, 0, 0, 272, 0, 273, 274, 0, 275,
++ 276, 3906, 0, 0, 277, 0, 0, 0, 279, 280,
++ 0, 0, 281, 3907, 0, 282, 283, 0, 0, 0,
++ 0, 0, 284, 285, 0, 286, 0, 287, 0, 288,
++ 289, 0, 0, 0, 0, -284, 0, 290, 291, 292,
++ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
++ 0, 303, 304, 305, 0, 306, 307, 308, 309, 0,
++ 310, 311, 0, 0, 0, 0, 312, 313, 314, 315,
++ 316, 317, 0, 0, 318, 319, 0, 320, 0, 321,
++ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
++ 331, 0, 0, 332, 333, 0, 0, 334, 335, 336,
++ 337, 0, 0, 0, 0, 339, 0, 0, 0, 0,
++ 340, 341, 342, 0, 343, 344, 345, 3908, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 350, 351, 0, 0, 0, 0, 353, 354, 355, 0,
++ 357, 358, 359, 360, 361, 362, 363, 0, 0, 0,
++ 0, 366, 367, 0, 368, 0, 369, 370, 371, 372,
++ 373, 0, 374, 375, 376, 0, 0, 377, 0, 0,
++ 0, 378, 379, 380, 381, 382, 0, 0, 383, 384,
++ 385, 386, 387, 0, 388, 0, 0, 390, 0, 392,
++ -284, 0, 393, 0, 0, 0, 395, 0, 0, 397,
++ 398, 3909, 0, 0, 0, 400, 401, 402, 403, 404,
++ 405, 0, 407, 408, 0, 409, 0, 0, 0, 0,
++ 411, 412, 413, 0, 0, 0, 0, 415, 0, 0,
++ 0, 416, 0, 0, 418, 0, 420, 0, 421, 0,
++ 423, 0, 425, 426, 0, 0, 0, 0, 0, 0,
++ 427, 428, 0, 429, 0, 0, 430, 0, 0, 431,
++ 0, 433, 0, 0, 0, 435, 0, 436, 437, 438,
++ 439, 440, 441, 0, 0, 442, 443, 444, 445, 0,
++ 446, 447, 0, 448, 0, 449, 450, 451, 452, 0,
++ 0, 453, 454, 0, 455, 456, 457, 458, 0, 0,
++ 0, 0, 0, 459, 460, 461, 0, 0, 0, 0,
++ 463, 464, 465, 0, 466, 467, 0, 468, 469, 0,
++ 0, 0, 0, 0, 472, 0, 0, 473, 0, 0,
++ 0, 475, 476, 477, 0, 0, 0, 0, 0, 0,
++ 478, 0, 0, 479, 0, 0, 0, 480, 481, 482,
++ 483, 484, 485, 0, 0, -284, 0, 0, 0, 486,
++ 0, 0, 488, 0, 490, 0, 139, 491, 140, 141,
++ 142, 143, 144, 0, 0, 145, 0, 0, 0, 146,
++ 0, 0, 0, 0, 148, 149, 150, 151, 152, 153,
++ 0, 0, -329, 0, 0, 0, 156, 0, 0, 0,
++ 157, 0, 0, 158, 159, 160, 0, 161, 0, 0,
++ 0, 0, 0, 164, 3902, 0, 165, 166, 0, 167,
++ 0, 0, 0, 0, 0, 171, 172, 173, 174, 3903,
++ 176, 177, 0, 178, 179, 0, 0, 0, 0, 0,
++ 0, 0, 186, 0, 188, 0, 190, 191, 192, 193,
++ 0, 194, 195, 0, 196, 197, 198, 0, 200, 0,
++ 201, 0, 0, 202, 0, 0, 203, 0, 0, 0,
++ 204, 0, 0, 0, 205, 206, 207, 0, 0, 208,
++ 0, 0, 0, 0, 209, 0, 0, 0, 0, 0,
++ 211, 0, 212, 0, 0, 0, 213, 0, 214, 215,
++ 216, 217, 0, 0, 0, 0, 0, 0, 219, 220,
++ 221, 0, 0, 0, 222, 0, -303, 224, 0, 225,
++ 226, 227, 0, 228, 229, 0, 230, 231, 232, 233,
++ 0, 0, 0, 0, 236, 237, 238, 0, 0, 239,
++ 240, 3904, 241, 242, 243, 0, 0, 0, 0, 0,
++ 0, 245, 0, 246, 0, 247, 0, 248, 249, 250,
++ 251, 252, 253, 0, 254, 0, 0, 0, 256, 257,
++ 0, 0, 0, 0, 0, 0, 260, 0, 0, 0,
++ 261, 262, 263, 264, 3905, 0, 265, 266, 267, 0,
++ 268, 0, 269, 0, 0, 0, 0, 270, 0, 0,
++ 0, 0, 272, 0, 273, 274, 0, 275, 276, 3906,
++ 0, 0, 277, 0, 0, 0, 279, 280, 0, 0,
++ 281, 3907, 0, 282, 283, 0, 0, 0, 0, 0,
++ 284, 285, 0, 286, 0, 287, 0, 288, 289, 0,
++ 0, 0, 0, -284, 0, 290, 291, 292, 293, 294,
++ 295, 296, 297, 298, 299, 300, 301, 302, 0, 303,
++ 304, 305, 0, 306, 307, 308, 309, 0, 310, 311,
++ 0, 0, 0, 0, 312, 313, 314, 315, 316, 317,
++ 0, 0, 318, 319, 0, 320, 0, 321, 0, 322,
++ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
++ 0, 332, 333, 0, 0, 334, 335, 336, 337, 0,
++ 0, 0, 0, 339, 0, 0, 0, 0, 340, 341,
++ 342, 0, 343, 344, 345, 3908, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 350, 351,
++ 0, 0, 0, 0, 353, 354, 355, 0, 357, 358,
++ 359, 360, 361, 362, 363, 0, 0, 0, 0, 366,
++ 367, 0, 368, 0, 369, 370, 371, 372, 373, 0,
++ 374, 375, 376, 0, 0, 377, 0, 0, 0, 378,
++ 379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
++ 387, 0, 388, 0, 0, 390, 0, 392, -284, 0,
++ 393, 0, 0, 0, 395, 0, 0, 397, 398, 3909,
++ 0, 0, 0, 400, 401, 402, 403, 404, 405, 0,
++ 407, 408, 0, 409, 0, 0, 0, 0, 411, 412,
++ 413, 0, 0, 0, 0, 415, 0, 0, 0, 416,
++ 0, 0, 418, 0, 420, 0, 421, 0, 423, 0,
++ 425, 426, 0, 0, 0, 0, 0, 0, 427, 428,
++ 0, 429, 0, 0, 430, 0, 0, 431, 0, 433,
++ 0, 0, 0, 435, 0, 436, 437, 438, 439, 440,
++ 441, 0, 0, 442, 443, 444, 445, 0, 446, 447,
++ 0, 448, 0, 449, 450, 451, 452, 0, 0, 453,
++ 454, 0, 455, 456, 457, 458, 0, 0, 0, 0,
++ 0, 459, 460, 461, 0, 0, 0, 0, 463, 464,
++ 465, 0, 466, 467, 0, 468, 469, 0, 0, 0,
++ 0, 0, 472, 0, 0, 473, 0, 0, 0, 475,
++ 476, 477, 0, 0, 0, 0, 0, 0, 478, 0,
++ 0, 479, 0, 0, 0, 480, 481, 482, 483, 484,
++ 485, 0, 0, -284, 0, 0, 0, 486, 0, 0,
++ 488, 0, 490, 0, 139, 491, 140, 141, 142, 143,
++ 144, 0, 0, 145, 0, 0, 0, 146, 0, 0,
++ 0, 0, 148, 149, 150, 151, 152, 153, 0, 0,
++ -329, 0, 0, 0, 156, 0, 0, 0, 157, 0,
++ 0, 158, 159, 160, 0, 161, 0, 0, 0, 0,
++ 0, 164, 3902, 0, 165, 166, 0, 167, 0, 0,
++ 0, 0, 0, 171, 172, 173, 174, 3903, 176, 177,
++ 0, 178, 179, 0, 0, 0, 0, 0, 0, 0,
++ 186, 0, 188, 0, 190, 191, 192, 193, 0, 194,
++ 195, 0, 196, 197, 198, 0, 200, 0, 201, 0,
++ 0, 202, 0, 0, 203, 0, 0, 0, 204, 0,
++ 0, 0, 205, 206, 207, 0, 0, 208, 0, 0,
++ 0, 0, 209, 0, 0, 0, 0, 0, 211, 0,
++ 212, 0, 0, 0, 213, 0, 214, 215, 216, 217,
++ 0, 0, 0, 0, 0, 0, 219, 220, 221, 0,
++ 0, 0, 222, 0, 0, 224, 0, 225, 226, 227,
++ 0, 228, 229, 0, 230, 231, 232, 233, 0, 0,
++ 0, 0, 236, 237, 238, 0, 0, 239, 240, 3904,
++ 241, 242, 243, 0, 0, 0, 0, 0, 0, 245,
++ 0, 246, 0, 247, 0, 248, 249, 250, 251, 252,
++ 253, 0, 254, 0, 0, 0, 256, 257, 0, 0,
++ 0, 0, 0, 0, 260, 0, 0, 0, 261, 262,
++ 263, 264, 3905, 0, 265, 266, 267, 0, 268, 0,
++ 269, 0, 0, 0, 0, 270, 0, 0, 0, 0,
++ 272, 0, 273, 274, 0, 275, 276, 3906, 0, 0,
++ 277, 0, 0, 0, 279, 280, 0, 0, 281, 3907,
++ 0, 282, 283, 0, 0, 0, 0, 0, 284, 285,
++ 0, 286, 0, 287, 0, 288, 289, 0, 0, 0,
++ 0, -284, 0, 290, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 0, 303, 304, 305,
++ 0, 306, 307, 308, 309, 0, 310, 311, 0, 0,
++ 0, 0, 312, 313, 314, 315, 316, 317, 0, 0,
++ 318, 319, 0, 320, 0, 321, 0, 322, 323, 324,
++ 325, 326, 327, 328, 329, 330, 331, 0, 0, 332,
++ 333, 0, 0, 334, 335, 336, 337, 0, 0, 0,
++ 0, 339, 0, 0, 0, 0, 340, 341, 342, 0,
++ 343, 344, 345, 3908, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 350, 351, 0, 0,
++ 0, 0, 353, 354, 355, 0, 357, 358, 359, 360,
++ 361, 362, 363, 0, 0, 0, 0, 366, 367, 0,
++ 368, 0, 369, 370, 371, 372, 373, 0, 374, 375,
++ 376, 0, 0, 377, 0, 0, 0, 378, 379, 380,
++ 381, 382, 0, 0, 383, 384, 385, 386, 387, 0,
++ 388, 0, 0, 390, 0, 392, -284, 0, 393, 0,
++ 0, 0, 395, 0, 0, 397, 398, 3909, 0, 0,
++ 0, 400, 401, 402, 403, 404, 405, 0, 407, 408,
++ 0, 409, 0, 0, 0, 0, 411, 412, 413, 0,
++ 0, 0, 0, 415, 0, 0, 0, 416, 0, 0,
++ 418, 0, 420, 0, 421, 0, 423, 0, 425, 426,
++ 0, 0, 0, 0, 0, 0, 427, 428, 0, 429,
++ 0, 0, 430, 0, 0, 431, 0, 433, 0, 0,
++ 0, 435, 0, 436, 437, 438, 439, 440, 441, 0,
++ 0, 442, 443, 444, 445, 0, 446, 447, 0, 448,
++ 0, 449, 450, 451, 452, 0, 0, 453, 454, 0,
++ 455, 456, 457, 458, 0, 0, 0, 0, 0, 459,
++ 460, 461, 0, 0, 0, 0, 463, 464, 465, 0,
++ 466, 467, 0, 468, 469, 0, 0, 0, 0, 0,
++ 472, 0, 0, 473, 0, 0, 0, 475, 476, 477,
++ 0, 0, 0, 0, 0, 0, 478, 0, 0, 479,
++ 0, 0, 0, 480, 481, 482, 483, 484, 485, 0,
++ 0, -284, 0, 0, 0, 486, 0, 0, 488, 0,
++ 490, 0, 139, 491, 140, 141, 142, 143, 144, 0,
++ 0, 145, 0, 0, 0, 146, 0, 0, 0, 0,
++ 148, 149, 150, 151, 152, 153, 0, 0, -329, 0,
++ 0, 0, 156, 0, 0, 0, 157, 0, 0, 158,
++ 159, 160, 0, 161, 0, 0, 0, 0, 0, 164,
++ 3902, 0, 165, 166, 0, 167, 0, 0, 0, 0,
++ 0, 171, 172, 173, 174, 3903, 176, 177, 0, 178,
++ 179, 0, 0, 0, 0, 0, 0, 0, 186, 0,
++ 188, 0, 190, 191, 192, 193, 0, 194, 195, 0,
++ 196, 197, 198, 0, 200, 0, 201, 0, 0, 202,
++ 0, 0, 203, 0, 0, 0, 204, 0, 0, 0,
++ 205, 206, 207, 0, 0, 208, 0, 0, 0, 0,
++ 209, 0, 0, 0, 0, 0, 211, 0, 212, 0,
++ 0, 0, 213, 0, 214, 215, 216, 217, 0, 0,
++ 0, 0, 0, 0, 219, 220, 221, 0, 0, 0,
++ 222, 0, 0, 224, 0, 225, 226, 227, 0, 228,
++ 229, 0, 230, 231, 232, 233, 0, 0, 0, 0,
++ 236, 237, 238, 0, 0, 239, 240, 3904, 241, 242,
++ 243, 0, 0, 0, 0, 0, 0, 245, 0, 246,
++ 0, 247, 0, 248, 249, 250, 251, 252, 253, 0,
++ 254, 0, 0, 0, 256, 257, 0, 0, 0, 0,
++ 0, 0, 260, 0, 0, 0, 261, 262, 263, 264,
++ 3905, 0, 265, 266, 267, 0, 268, 0, 269, 0,
++ 0, 0, 0, 270, 0, 0, 0, 0, 272, 0,
++ 273, 274, 0, 275, 276, 3906, 0, 0, 277, 0,
++ 0, 0, 279, 280, 0, 0, 281, 3907, 0, 282,
++ 283, 0, 0, 0, 0, 0, 284, 285, 0, 286,
++ 0, 287, 0, 288, 289, 0, 0, 0, 0, -284,
++ 0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
++ 299, 300, 301, 302, 0, 303, 304, 305, 0, 306,
++ 307, 308, 309, 0, 310, 311, 0, 0, 0, 0,
++ 312, 313, 314, 315, 316, 317, 0, 0, 318, 319,
++ 0, 320, 0, 321, 0, 322, 323, 324, 325, 326,
++ 327, 328, 329, 330, 331, 0, 0, 332, 333, 0,
++ 0, 334, 335, 336, 337, 0, 0, 0, 0, 339,
++ 0, 0, 0, 0, 340, 341, 342, 0, 343, 344,
++ 345, 3908, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 350, 351, 0, 0, 0, 0,
++ 353, 354, 355, 0, 357, 358, 359, 360, 361, 362,
++ 363, 0, 0, 0, 0, 366, 367, 0, 368, 0,
++ 369, 370, 371, 372, 373, 0, 374, 375, 376, 0,
++ 0, 377, 0, 0, 0, 378, 379, 380, 381, 382,
++ 0, 0, 383, 384, 385, 386, 387, 0, 388, 0,
++ 0, 390, 0, 392, -284, 0, 393, 0, 0, 0,
++ 395, 0, 0, 397, 398, 3909, 0, 0, 0, 400,
++ 401, 402, 403, 404, 405, 0, 407, 408, 0, 409,
++ 0, 0, 0, 0, 411, 412, 413, 0, 0, 0,
++ 0, 415, 0, 0, 0, 416, 0, 0, 418, 0,
++ 420, 0, 421, 0, 423, 0, 425, 426, 0, 0,
++ 0, 0, 0, 0, 427, 428, 0, 429, 0, 0,
++ 430, 0, 0, 431, 0, 433, 0, 0, 0, 435,
++ 0, 436, 437, 438, 439, 440, 441, 0, 0, 442,
++ 443, 444, 445, 0, 446, 447, 0, 448, 0, 449,
++ 450, 451, 452, 0, 0, 453, 454, 0, 455, 456,
++ 457, 458, 0, 0, 0, 0, 0, 459, 460, 461,
++ 0, 0, 0, 0, 463, 464, 465, 0, 466, 467,
++ 0, 468, 469, 0, 0, 0, 0, 0, 472, 0,
++ 0, 4245, 0, 0, 0, 475, 476, 477, 0, 0,
++ 0, 0, 0, 0, 478, 0, 0, 479, 0, 0,
++ 0, 480, 481, 482, 483, 484, 485, 0, 0, -284,
++ 0, 0, 0, 486, 0, 0, 488, 0, 490, 0,
++ 139, 491, 140, 141, 142, 143, 144, 0, 0, 145,
++ 0, 0, 0, 146, 0, 0, 0, 0, 148, 149,
++ 150, 151, 152, 153, 0, 0, 0, 0, 0, 0,
++ 156, 0, 0, 0, 157, 0, 0, 158, 159, 160,
++ 0, 161, 0, 0, 0, 0, 0, 164, 0, 0,
++ 165, 166, 0, 167, 0, 0, 0, 0, 0, 171,
++ 172, 173, 174, 0, 176, 177, 0, 178, 179, 0,
++ 0, 0, 0, 0, 0, 0, 186, 0, 188, 0,
++ 190, 191, 192, 193, 0, 194, 195, 0, 196, 197,
++ 198, 0, 200, 0, 201, 0, 0, 202, 0, 0,
++ 203, 0, 0, 0, 204, 0, 0, 0, 205, 206,
++ 207, 0, 0, 208, 0, 0, 0, 0, 209, 0,
++ 0, 0, 0, 0, 211, 0, 212, 0, 0, 0,
++ 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
++ 0, 0, 219, 220, 221, 0, 0, 0, 222, 0,
++ 0, 224, 0, 225, 226, 227, 0, 228, 229, 0,
++ 230, 231, 232, 233, 0, 0, 0, 0, 236, 237,
++ 238, 0, 0, 239, 240, 0, 241, 242, 243, 0,
++ 0, 0, 0, 0, 0, 245, 0, 246, 0, 247,
++ 0, 248, 249, 250, 251, 252, 253, 0, 254, 0,
++ 0, 0, 256, 257, 0, 0, 0, 0, 0, 0,
++ 260, 0, 0, 0, 261, 262, 263, 264, 0, 0,
++ 265, 266, 267, 0, 268, 0, 269, 0, 0, 0,
++ 0, 270, 0, 0, 0, 0, 272, 0, 273, 274,
++ 0, 275, 276, 0, 0, 0, 277, 0, 0, 0,
++ 279, 280, 0, 0, 281, 0, 0, 282, 283, 0,
++ 0, 0, 0, 0, 284, 285, 0, 286, 0, 287,
++ 0, 288, 289, 0, 0, 0, 0, 0, 0, 290,
++ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
++ 301, 302, 0, 303, 304, 305, 0, 306, 307, 308,
++ 309, 0, 310, 311, 0, 0, 0, 0, 312, 313,
++ 314, 315, 316, 317, 0, 0, 318, 319, 0, 320,
++ 0, 321, 0, 322, 323, 324, 325, 326, 327, 328,
++ 329, 330, 331, 0, 0, 332, 333, 0, 0, 334,
++ 335, 336, 337, 0, 0, 0, 0, 339, 0, 0,
++ 0, 0, 340, 341, 342, 0, 343, 344, 345, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 350, 351, 0, 0, 0, 0, 353, 354,
++ 355, 0, 357, 358, 359, 360, 361, 362, 363, 0,
++ 0, 0, 0, 366, 367, 0, 368, 0, 369, 370,
++ 371, 372, 373, 0, 374, 375, 376, 0, 0, 377,
++ 0, 0, 0, 378, 379, 380, 381, 382, 0, 0,
++ 383, 384, 385, 386, 387, 0, 388, 0, 0, 390,
++ 0, 392, 0, 0, 393, 0, 0, 0, 395, 0,
++ 0, 397, 398, 0, 0, 0, 0, 400, 401, 402,
++ 403, 404, 405, 0, 407, 408, 0, 409, 0, 0,
++ 0, 0, 411, 412, 413, 0, 0, 0, 0, 415,
++ 0, 0, 0, 416, 0, 0, 418, 0, 420, 0,
++ 421, 0, 423, 0, 425, 426, 0, 0, 0, 0,
++ 0, 0, 427, 428, 0, 429, 0, 0, 430, 0,
++ 0, 431, 0, 433, 0, 0, 0, 435, 0, 436,
++ 437, 438, 439, 440, 441, 0, 0, 442, 443, 444,
++ 445, 0, 446, 447, 0, 448, 0, 449, 450, 451,
++ 452, 0, 0, 453, 454, 0, 455, 456, 457, 458,
++ 0, 0, 0, 0, 0, 459, 460, 461, 0, 0,
++ 0, 0, 463, 464, 465, 0, 466, 467, 0, 468,
++ 469, 0, 0, 0, 0, 0, 472, 0, 0, 473,
++ 0, 0, 0, 475, 476, 477, 0, 0, 0, 0,
++ 0, 0, 478, 0, 0, 479, 0, 0, 0, 480,
++ 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
++ 0, 486, 0, 0, 488, 0, 490, 0, 0, 491
++};
++
++static const yytype_int16 yycheck[] =
++{
++ 6, 648, 577, 989, 988, 577, 1179, 696, 600, 899,
++ 701, 1106, 1697, 19, 4, 124, 22, 554, 1836, 1837,
++ 1078, 1179, 1149, 6, 675, 1125, 32, 1804, 1489, 722,
++ 2024, 926, 813, 39, 1072, 1073, 42, 1390, 1311, 1947,
++ 46, 614, 1390, 1824, 951, 20, 2488, 2529, 54, 522,
++ 2059, 1200, 1487, 3218, 29, 2337, 951, 2128, 1242, 1208,
++ 2298, 36, 2418, 2597, 2773, 993, 757, 2611, 2828, 760,
++ 2141, 642, 1964, 2406, 645, 1116, 1478, 1319, 767, 1964,
++ 1966, 22, 1209, 1210, 993, 1470, 1213, 1214, 1215, 1216,
++ 96, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1824,
++ 2227, 1895, 2142, 3224, 662, 2086, 2086, 2973, 2399, 2628,
++ 2483, 1919, 1920, 119, 2350, 121, 2407, 123, 124, 125,
++ 657, 658, 2360, 2107, 775, 776, 777, 2270, 1936, 1967,
++ 3454, 2021, 17, 1971, 882, 3106, 787, 2045, 121, 786,
++ 123, 19, 2050, 25, 1982, 1953, 1954, 1532, 2056, 2057,
++ 1460, 51, 19, 2061, 1992, 96, 17, 16, 17, 30,
++ 3242, 1969, 1970, 19, 1972, 34, 47, 1975, 1976, 16,
++ 17, 1979, 19, 16, 17, 3501, 1984, 1401, 924, 953,
++ 1988, 1989, 1990, 1991, 73, 3281, 3282, 1995, 1996, 3285,
++ 1998, 82, 2462, 2688, 2086, 1419, 2004, 131, 189, 2007,
++ 2008, 2086, 2010, 1427, 1428, 2221, 952, 28, 3304, 66,
++ 1835, 2111, 2599, 112, 35, 3311, 16, 17, 21, 967,
++ 36, 83, 3498, 2625, 2626, 2465, 114, 46, 36, 2631,
++ 187, 2633, 191, 194, 2451, 68, 174, 265, 282, 2447,
++ 2448, 56, 815, 2963, 71, 43, 3938, 145, 16, 17,
++ 60, 201, 4031, 2884, 224, 358, 59, 60, 207, 339,
++ 71, 192, 2070, 2071, 2072, 2073, 4063, 224, 82, 309,
++ 16, 17, 157, 249, 140, 268, 277, 359, 1956, 157,
++ 440, 3511, 447, 128, 147, 3450, 1470, 21, 25, 1910,
++ 2075, 249, 128, 10, 364, 8, 88, 3393, 513, 650,
++ 34, 23, 537, 261, 877, 387, 995, 2760, 224, 182,
++ 16, 17, 157, 134, 48, 1938, 128, 4025, 16, 17,
++ 12, 157, 272, 129, 12, 59, 60, 2377, 129, 266,
++ 41, 332, 391, 351, 387, 391, 429, 482, 16, 17,
++ 228, 191, 505, 208, 208, 157, 174, 21, 1532, 231,
++ 19, 16, 17, 132, 165, 16, 17, 2565, 2566, 569,
++ 34, 3686, 603, 280, 16, 17, 3642, 283, 228, 151,
++ 537, 16, 17, 536, 48, 4067, 2370, 2371, 2372, 509,
++ 16, 17, 255, 298, 40, 59, 60, 252, 252, 208,
++ 631, 191, 252, 437, 2847, 211, 212, 3722, 507, 228,
++ 530, 636, 151, 211, 212, 550, 220, 2391, 222, 606,
++ 503, 64, 430, 4121, 132, 3691, 266, 16, 17, 2469,
++ 630, 189, 1115, 305, 135, 16, 17, 16, 17, 488,
++ 59, 60, 488, 370, 543, 241, 1129, 251, 355, 151,
++ 241, 402, 3538, 2493, 2494, 660, 168, 1018, 314, 141,
++ 2573, 3547, 383, 141, 1440, 537, 2356, 537, 1239, 810,
++ 1031, 454, 70, 70, 16, 17, 16, 17, 438, 182,
++ 446, 631, 637, 411, 163, 3571, 16, 17, 351, 3803,
++ 3576, 16, 17, 563, 537, 191, 51, 16, 17, 16,
++ 17, 283, 450, 3614, 231, 411, 73, 16, 17, 16,
++ 17, 507, 2835, 509, 2412, 16, 17, 508, 4287, 4288,
++ 3740, 374, 3677, 1050, 1051, 1052, 4313, 235, 2766, 469,
++ 526, 1982, 369, 146, 530, 372, 369, 3247, 631, 372,
++ 16, 17, 1460, 539, 16, 17, 351, 543, 487, 545,
++ 338, 2777, 2778, 2779, 371, 445, 2902, 86, 187, 629,
++ 481, 1460, 558, 1938, 1302, 1202, 546, 1452, 602, 2451,
++ 371, 1212, 2470, 1747, 2472, 2405, 2451, 637, 305, 369,
++ 531, 2479, 372, 601, 472, 16, 17, 2467, 1229, 1964,
++ 586, 2471, 415, 411, 2492, 224, 1334, 16, 17, 629,
++ 2498, 2499, 2573, 2573, 247, 2485, 2486, 587, 1725, 605,
++ 3231, 369, 3723, 1531, 372, 2495, 2514, 2515, 614, 1736,
++ 616, 2013, 1739, 2883, 283, 352, 2886, 2887, 1091, 1092,
++ 2279, 627, 1531, 369, 581, 482, 372, 633, 115, 2613,
++ 2538, 118, 638, 2523, 640, 2905, 642, 3024, 457, 645,
++ 631, 2881, 580, 649, 650, 1118, 16, 17, 654, 1395,
++ 633, 1425, 1398, 1126, 3149, 1128, 2873, 1403, 664, 665,
++ 666, 3421, 144, 369, 670, 1889, 372, 1140, 1141, 1142,
++ 2478, 369, 631, 2689, 372, 1148, 1247, 548, 1719, 570,
++ 501, 2573, 2490, 1429, 1430, 402, 627, 548, 2573, 1470,
++ 2075, 369, 548, 3969, 372, 4387, 595, 638, 3819, 561,
++ 63, 2086, 4028, 812, 369, 2595, 335, 372, 369, 1804,
++ 2610, 372, 1285, 594, 535, 582, 722, 369, 603, 3801,
++ 372, 537, 603, 611, 369, 659, 3221, 372, 3849, 537,
++ 4006, 631, 553, 369, 3705, 4059, 372, 2362, 3020, 617,
++ 629, 16, 17, 1314, 3263, 3264, 415, 16, 17, 631,
++ 635, 1532, 3271, 612, 1938, 3274, 3275, 635, 387, 2069,
++ 629, 617, 1333, 2571, 567, 612, 2909, 588, 1516, 612,
++ 369, 2449, 3291, 372, 780, 512, 782, 2398, 369, 589,
++ 369, 372, 2567, 372, 1357, 502, 3305, 2564, 2996, 603,
++ 635, 634, 3311, 3312, 3313, 3314, 575, 2781, 2782, 635,
++ 806, 807, 808, 631, 810, 811, 812, 2430, 814, 815,
++ 16, 17, 612, 2807, 16, 17, 925, 369, 600, 369,
++ 372, 1379, 372, 635, 807, 188, 1399, 404, 811, 369,
++ 630, 814, 372, 567, 369, 3956, 553, 372, 16, 17,
++ 369, 464, 369, 372, 612, 372, 852, 16, 17, 2843,
++ 369, 600, 369, 372, 4178, 372, 512, 575, 369, 865,
++ 597, 372, 630, 3265, 517, 3384, 612, 3269, 16, 17,
++ 2305, 877, 878, 3155, 2997, 3208, 882, 533, 595, 3212,
++ 445, 871, 3255, 369, 630, 631, 372, 369, 600, 51,
++ 372, 2075, 1464, 567, 2712, 16, 17, 3299, 3300, 3301,
++ 508, 508, 2086, 559, 582, 3307, 612, 16, 17, 598,
++ 3158, 16, 17, 3315, 612, 16, 17, 3208, 592, 925,
++ 459, 3212, 16, 17, 865, 631, 11, 3163, 369, 3167,
++ 2748, 372, 3798, 631, 612, 189, 4032, 878, 4034, 608,
++ 369, 540, 581, 372, 63, 16, 17, 612, 617, 3493,
++ 527, 612, 1645, 631, 215, 629, 16, 17, 3228, 4080,
++ 612, 967, 16, 17, 385, 630, 631, 612, 3047, 630,
++ 631, 157, 34, 370, 283, 552, 612, 2754, 1885, 631,
++ 3382, 2873, 1540, 989, 128, 4106, 631, 355, 2873, 3391,
++ 1885, 16, 17, 2774, 630, 631, 2836, 2837, 819, 369,
++ 191, 349, 372, 2464, 2465, 12, 629, 636, 1915, 90,
++ 633, 266, 1018, 612, 16, 17, 2997, 2997, 138, 3059,
++ 1915, 612, 4187, 612, 177, 1031, 157, 157, 2381, 629,
++ 2383, 2384, 2826, 153, 233, 2383, 2384, 400, 224, 2166,
++ 631, 630, 631, 242, 129, 2430, 3030, 16, 17, 2774,
++ 398, 174, 16, 17, 541, 2113, 159, 544, 879, 167,
++ 612, 2947, 612, 154, 1070, 224, 2451, 420, 1074, 2728,
++ 2729, 2730, 612, 164, 352, 2317, 3203, 612, 630, 631,
++ 630, 631, 1191, 612, 231, 612, 194, 1738, 367, 558,
++ 630, 631, 2241, 612, 369, 612, 631, 372, 16, 17,
++ 369, 612, 631, 372, 631, 2997, 415, 16, 17, 1115,
++ 2948, 630, 2997, 582, 631, 370, 204, 2519, 589, 1228,
++ 631, 592, 2899, 1129, 16, 17, 612, 458, 231, 1070,
++ 612, 1824, 1878, 1074, 141, 266, 266, 2410, 388, 16,
++ 17, 2069, 1888, 2828, 630, 1891, 1892, 2247, 2248, 3693,
++ 482, 527, 3485, 3486, 345, 531, 194, 1938, 3152, 3055,
++ 2069, 249, 125, 369, 2337, 125, 372, 369, 2392, 64,
++ 372, 612, 386, 1179, 3906, 3907, 375, 464, 16, 17,
++ 1753, 797, 2567, 612, 1755, 1191, 2313, 52, 2573, 351,
++ 631, 369, 464, 315, 372, 348, 349, 3191, 63, 2240,
++ 369, 354, 631, 372, 363, 352, 1743, 570, 629, 2250,
++ 354, 564, 531, 1322, 189, 1788, 16, 17, 432, 473,
++ 298, 369, 1228, 0, 372, 125, 25, 1233, 16, 17,
++ 16, 17, 1238, 3217, 631, 2408, 298, 3316, 3947, 1812,
++ 1813, 1247, 612, 16, 17, 1816, 2430, 508, 369, 352,
++ 2408, 372, 438, 4013, 622, 16, 17, 464, 126, 25,
++ 369, 631, 1799, 372, 369, 16, 17, 372, 369, 623,
++ 3804, 372, 157, 1845, 890, 369, 630, 368, 372, 1285,
++ 16, 17, 370, 445, 184, 16, 17, 372, 411, 16,
++ 17, 1297, 19, 1299, 2075, 3777, 1302, 1238, 369, 608,
++ 275, 372, 2737, 3374, 423, 2086, 4471, 397, 1314, 369,
++ 472, 211, 372, 1303, 569, 369, 1322, 280, 372, 597,
++ 280, 16, 17, 338, 2497, 16, 17, 1333, 1334, 410,
++ 3612, 617, 410, 16, 17, 657, 658, 612, 12, 2497,
++ 16, 17, 629, 612, 369, 360, 596, 372, 3238, 16,
++ 17, 1357, 247, 191, 1360, 480, 631, 629, 1467, 617,
++ 159, 630, 1368, 617, 402, 512, 177, 369, 204, 3259,
++ 372, 531, 240, 12, 1380, 1381, 1382, 1383, 1384, 1385,
++ 280, 16, 17, 2567, 1390, 1375, 3282, 16, 17, 2573,
++ 1396, 1397, 355, 1399, 473, 355, 1402, 1380, 1381, 1382,
++ 369, 1384, 555, 372, 482, 369, 612, 272, 372, 512,
++ 612, 16, 17, 535, 1397, 464, 1422, 631, 571, 1402,
++ 2881, 130, 629, 266, 464, 631, 3334, 16, 17, 631,
++ 464, 630, 231, 20, 612, 16, 17, 16, 17, 167,
++ 562, 191, 1383, 612, 1385, 536, 16, 17, 573, 635,
++ 597, 369, 347, 631, 372, 355, 339, 580, 16, 17,
++ 369, 1467, 631, 372, 612, 231, 2819, 141, 629, 2564,
++ 601, 601, 82, 12, 129, 1481, 637, 369, 1484, 1485,
++ 372, 1422, 630, 1473, 3478, 272, 96, 2948, 2873, 239,
++ 615, 612, 369, 531, 597, 372, 3852, 1113, 32, 16,
++ 17, 637, 141, 612, 635, 635, 305, 612, 631, 630,
++ 1516, 612, 16, 17, 16, 17, 4248, 4249, 612, 16,
++ 17, 142, 631, 3805, 16, 17, 631, 370, 631, 630,
++ 1536, 369, 1538, 1539, 372, 1541, 1542, 631, 617, 305,
++ 1481, 612, 111, 354, 1485, 464, 133, 1163, 1554, 417,
++ 1556, 1167, 612, 352, 2612, 1538, 1539, 3628, 612, 2708,
++ 631, 548, 16, 17, 17, 242, 353, 582, 464, 369,
++ 629, 631, 372, 402, 283, 3569, 223, 631, 637, 4192,
++ 629, 369, 4195, 369, 372, 262, 372, 612, 2761, 629,
++ 464, 464, 4074, 2244, 508, 629, 369, 560, 167, 372,
++ 560, 204, 141, 2761, 16, 17, 631, 167, 369, 504,
++ 612, 372, 2997, 3851, 16, 17, 4098, 4099, 369, 339,
++ 370, 372, 517, 16, 17, 194, 507, 524, 525, 631,
++ 511, 528, 529, 369, 194, 532, 372, 534, 369, 1645,
++ 1646, 372, 369, 612, 254, 372, 514, 1756, 612, 2430,
++ 464, 2342, 2343, 2344, 537, 16, 17, 16, 17, 2754,
++ 560, 531, 631, 2136, 16, 17, 630, 586, 587, 228,
++ 2143, 16, 17, 502, 369, 623, 590, 372, 369, 534,
++ 563, 372, 630, 2156, 16, 17, 369, 82, 130, 372,
++ 89, 16, 17, 369, 612, 1017, 372, 1703, 3133, 16,
++ 17, 2516, 369, 612, 4317, 372, 327, 228, 242, 108,
++ 629, 17, 630, 512, 609, 325, 2189, 191, 286, 287,
++ 612, 630, 228, 3500, 553, 3574, 3735, 3736, 3577, 3510,
++ 630, 265, 223, 629, 369, 612, 3421, 372, 630, 1745,
++ 369, 351, 204, 372, 555, 364, 1068, 1753, 339, 1755,
++ 1756, 16, 17, 630, 19, 629, 629, 239, 16, 17,
++ 571, 1767, 47, 1769, 369, 4207, 595, 372, 242, 1775,
++ 1776, 213, 1778, 191, 612, 3556, 472, 2350, 16, 17,
++ 369, 3630, 1788, 372, 2257, 1791, 2567, 31, 369, 1795,
++ 369, 372, 2573, 372, 16, 17, 16, 17, 597, 369,
++ 348, 349, 372, 413, 2899, 587, 1812, 1813, 1814, 1815,
++ 1816, 369, 612, 2997, 372, 629, 283, 537, 1824, 633,
++ 1810, 1827, 1828, 1829, 612, 220, 612, 222, 267, 603,
++ 630, 270, 631, 402, 1775, 1776, 142, 1778, 1844, 612,
++ 84, 283, 630, 563, 630, 580, 581, 1853, 583, 82,
++ 1791, 612, 369, 582, 1795, 372, 251, 630, 1848, 427,
++ 428, 612, 58, 630, 540, 369, 635, 369, 372, 630,
++ 372, 8, 369, 1814, 1815, 372, 612, 369, 637, 630,
++ 372, 612, 576, 2773, 1890, 612, 1827, 1828, 1829, 582,
++ 424, 39, 502, 30, 630, 366, 1902, 155, 46, 630,
++ 142, 502, 631, 1909, 82, 2477, 161, 2814, 637, 629,
++ 629, 155, 59, 60, 188, 369, 2823, 612, 372, 2814,
++ 817, 612, 438, 25, 71, 3833, 3834, 3835, 2823, 612,
++ 220, 3204, 222, 1923, 3034, 630, 612, 630, 631, 630,
++ 195, 201, 1932, 1933, 464, 612, 537, 630, 4015, 1890,
++ 4017, 6, 472, 1943, 1944, 1945, 1946, 369, 1948, 1949,
++ 372, 3955, 531, 630, 3064, 3065, 629, 369, 1909, 191,
++ 372, 191, 563, 412, 11, 2084, 369, 612, 174, 372,
++ 82, 2090, 178, 612, 553, 3085, 3159, 220, 233, 222,
++ 245, 629, 12, 189, 527, 630, 629, 242, 531, 629,
++ 2006, 630, 257, 624, 625, 626, 627, 612, 369, 3362,
++ 369, 372, 272, 372, 3362, 2021, 629, 369, 251, 2128,
++ 372, 327, 42, 612, 369, 630, 595, 372, 537, 1005,
++ 1006, 612, 2141, 612, 629, 3787, 629, 369, 629, 582,
++ 372, 630, 612, 3216, 369, 578, 629, 372, 171, 630,
++ 360, 630, 369, 231, 612, 372, 2046, 2047, 3216, 2049,
++ 630, 2051, 2052, 2053, 2054, 2055, 586, 587, 2058, 1045,
++ 2060, 637, 630, 175, 2889, 629, 3249, 97, 2084, 2825,
++ 125, 2774, 102, 629, 2090, 327, 2092, 342, 631, 2095,
++ 631, 3249, 4086, 629, 637, 612, 2102, 2103, 2104, 2105,
++ 125, 361, 2108, 128, 369, 2920, 629, 372, 612, 629,
++ 612, 369, 2095, 630, 372, 612, 2931, 313, 629, 2934,
++ 612, 11, 2128, 512, 2233, 453, 630, 415, 630, 231,
++ 375, 369, 12, 630, 372, 2141, 25, 1286, 630, 184,
++ 1289, 3949, 629, 1292, 604, 605, 629, 369, 436, 369,
++ 372, 629, 372, 397, 3906, 3907, 2265, 453, 612, 184,
++ 21, 2102, 2103, 2104, 4072, 2980, 3984, 125, 346, 475,
++ 476, 631, 629, 34, 352, 419, 630, 2714, 527, 467,
++ 630, 631, 531, 2756, 3992, 3993, 211, 48, 3996, 3997,
++ 3998, 3999, 629, 82, 629, 3233, 3234, 629, 59, 60,
++ 612, 630, 631, 305, 2777, 2778, 2779, 451, 3985, 469,
++ 612, 582, 17, 3358, 3359, 411, 2997, 401, 630, 612,
++ 3320, 111, 629, 540, 244, 527, 184, 2233, 630, 531,
++ 2703, 2804, 528, 629, 26, 280, 367, 630, 534, 129,
++ 3811, 3812, 32, 421, 346, 629, 595, 630, 631, 629,
++ 352, 612, 2258, 612, 629, 280, 629, 3718, 3719, 2265,
++ 612, 141, 2371, 507, 2373, 2374, 629, 612, 527, 630,
++ 159, 630, 629, 2279, 629, 12, 3449, 167, 630, 71,
++ 612, 629, 578, 58, 631, 630, 175, 612, 4096, 4097,
++ 82, 3449, 224, 595, 314, 612, 629, 4105, 630, 595,
++ 4052, 4053, 3360, 629, 194, 630, 2312, 629, 2417, 2418,
++ 355, 630, 631, 629, 620, 621, 622, 623, 624, 625,
++ 626, 627, 280, 4100, 629, 558, 630, 631, 4013, 629,
++ 355, 2337, 629, 213, 512, 3271, 128, 142, 3274, 3275,
++ 16, 17, 231, 629, 2350, 34, 629, 612, 629, 582,
++ 630, 631, 142, 629, 612, 3291, 629, 2363, 378, 2365,
++ 629, 3506, 617, 618, 619, 2371, 629, 2373, 2374, 630,
++ 631, 60, 629, 2363, 612, 2381, 629, 2383, 2384, 2488,
++ 622, 623, 624, 625, 626, 627, 276, 565, 629, 3960,
++ 612, 360, 612, 3964, 4146, 630, 631, 355, 735, 174,
++ 630, 631, 2408, 178, 141, 3500, 630, 631, 629, 4161,
++ 512, 2417, 2418, 629, 189, 3401, 305, 629, 755, 597,
++ 142, 1776, 4174, 1778, 16, 17, 115, 629, 220, 118,
++ 222, 768, 769, 593, 594, 631, 596, 126, 598, 630,
++ 631, 630, 631, 119, 120, 121, 122, 123, 3384, 82,
++ 104, 2457, 242, 629, 143, 629, 2462, 346, 630, 631,
++ 252, 2467, 629, 352, 629, 2471, 629, 2473, 629, 202,
++ 490, 4465, 1827, 1828, 1829, 265, 213, 2483, 629, 2485,
++ 2486, 488, 2488, 2458, 4236, 2475, 2476, 19, 629, 2495,
++ 629, 2497, 360, 2468, 629, 597, 4248, 4249, 111, 2474,
++ 629, 2507, 59, 60, 524, 630, 631, 629, 125, 6,
++ 2516, 2501, 402, 19, 629, 560, 629, 2523, 2524, 629,
++ 26, 2496, 327, 2529, 630, 631, 159, 2502, 151, 152,
++ 2536, 629, 3183, 2508, 2509, 560, 629, 327, 313, 2529,
++ 216, 217, 218, 219, 4296, 104, 630, 631, 630, 631,
++ 629, 240, 4123, 4124, 4306, 629, 348, 349, 348, 349,
++ 57, 629, 354, 630, 631, 71, 2507, 184, 360, 302,
++ 303, 629, 104, 2563, 307, 308, 82, 629, 232, 4397,
++ 470, 629, 3727, 3728, 49, 3730, 3731, 630, 2594, 2595,
++ 3163, 630, 631, 277, 211, 249, 49, 4349, 231, 4351,
++ 3073, 214, 560, 630, 631, 327, 360, 261, 400, 4361,
++ 3657, 3658, 502, 630, 631, 631, 496, 497, 498, 499,
++ 500, 501, 128, 512, 360, 157, 630, 631, 4380, 458,
++ 4382, 569, 4384, 513, 424, 624, 411, 166, 528, 4391,
++ 3113, 317, 472, 319, 320, 321, 630, 631, 145, 629,
++ 4402, 340, 328, 2594, 4472, 187, 266, 189, 630, 631,
++ 630, 631, 189, 280, 630, 631, 4418, 4419, 630, 631,
++ 475, 476, 204, 232, 508, 80, 468, 209, 630, 631,
++ 630, 631, 4434, 4435, 338, 475, 476, 4439, 630, 631,
++ 249, 197, 224, 369, 630, 631, 372, 630, 631, 489,
++ 232, 527, 261, 630, 631, 595, 567, 239, 597, 630,
++ 631, 630, 631, 346, 220, 3842, 222, 249, 2724, 352,
++ 166, 2727, 2728, 2729, 2730, 630, 631, 588, 589, 261,
++ 2736, 630, 631, 409, 266, 630, 631, 508, 355, 630,
++ 631, 63, 631, 275, 630, 631, 252, 630, 631, 2755,
++ 2756, 630, 631, 475, 476, 2761, 630, 631, 80, 496,
++ 497, 277, 499, 376, 501, 630, 631, 125, 2774, 3755,
++ 92, 2777, 2778, 2779, 387, 3761, 513, 158, 570, 338,
++ 91, 394, 631, 188, 2790, 461, 462, 362, 421, 523,
++ 2796, 480, 2798, 2902, 630, 2736, 450, 157, 2804, 3371,
++ 2790, 125, 630, 631, 128, 3342, 338, 630, 631, 3982,
++ 60, 630, 631, 2819, 128, 620, 621, 622, 623, 624,
++ 625, 626, 627, 228, 3982, 114, 184, 63, 360, 636,
++ 620, 621, 622, 623, 624, 625, 626, 627, 370, 6,
++ 1164, 1165, 348, 349, 80, 629, 123, 252, 354, 3169,
++ 3170, 113, 349, 211, 360, 544, 92, 104, 463, 513,
++ 184, 4, 220, 595, 222, 115, 188, 242, 118, 631,
++ 402, 193, 386, 486, 3126, 3127, 126, 2883, 56, 512,
++ 2886, 2887, 142, 2889, 573, 3430, 3431, 211, 430, 171,
++ 3985, 450, 114, 143, 400, 221, 2902, 637, 71, 2905,
++ 622, 623, 624, 625, 626, 627, 228, 142, 631, 12,
++ 631, 182, 600, 2903, 2920, 630, 630, 414, 450, 416,
++ 141, 2911, 280, 599, 195, 2931, 537, 9, 2934, 631,
++ 252, 637, 565, 4053, 630, 185, 612, 613, 614, 630,
++ 472, 159, 219, 560, 637, 19, 629, 3532, 3533, 265,
++ 2956, 142, 188, 2959, 513, 637, 280, 193, 2964, 631,
++ 3545, 636, 468, 49, 597, 578, 125, 3552, 2974, 277,
++ 277, 277, 2978, 277, 2980, 277, 277, 527, 631, 125,
++ 634, 513, 242, 629, 255, 232, 257, 272, 631, 2995,
++ 240, 2974, 228, 3578, 3579, 400, 385, 355, 631, 631,
++ 548, 82, 249, 631, 3010, 4100, 12, 242, 1084, 1085,
++ 1086, 3017, 3002, 4186, 261, 96, 252, 548, 2959, 631,
++ 617, 624, 631, 3029, 631, 184, 1102, 631, 4186, 242,
++ 104, 355, 243, 525, 179, 189, 631, 569, 184, 574,
++ 317, 3732, 3733, 3734, 321, 631, 85, 4033, 87, 581,
++ 582, 328, 211, 485, 389, 136, 630, 3947, 1134, 137,
++ 360, 1137, 631, 3172, 570, 211, 631, 327, 617, 601,
++ 617, 603, 617, 617, 345, 631, 3017, 3766, 400, 3188,
++ 1156, 1157, 607, 157, 1160, 617, 576, 337, 194, 128,
++ 340, 338, 327, 617, 617, 617, 617, 617, 630, 631,
++ 617, 3107, 634, 635, 1180, 1181, 26, 27, 617, 3115,
++ 149, 581, 617, 360, 617, 189, 4236, 617, 617, 617,
++ 125, 280, 3694, 617, 617, 3115, 360, 360, 399, 360,
++ 204, 191, 409, 3139, 280, 209, 327, 624, 4265, 59,
++ 60, 630, 62, 3680, 183, 631, 630, 630, 630, 630,
++ 386, 71, 630, 3159, 3160, 630, 630, 3163, 232, 191,
++ 631, 623, 82, 629, 400, 239, 3172, 417, 631, 491,
++ 90, 80, 3178, 254, 630, 249, 630, 569, 630, 184,
++ 630, 55, 3188, 630, 627, 462, 631, 261, 630, 142,
++ 3196, 65, 266, 630, 114, 630, 355, 473, 3790, 629,
++ 629, 275, 560, 450, 3893, 629, 211, 81, 128, 355,
++ 3216, 131, 630, 601, 631, 475, 476, 548, 230, 93,
++ 94, 95, 3228, 629, 519, 11, 202, 191, 637, 4349,
++ 191, 4351, 3238, 630, 3240, 109, 560, 169, 4365, 159,
++ 475, 476, 454, 3249, 325, 410, 472, 631, 570, 3255,
++ 189, 3257, 631, 3259, 47, 491, 336, 502, 502, 4432,
++ 4380, 502, 502, 502, 338, 3374, 513, 348, 349, 463,
++ 351, 3846, 80, 386, 4432, 280, 386, 386, 548, 188,
++ 137, 250, 4455, 250, 475, 476, 360, 137, 386, 4462,
++ 4276, 4277, 47, 4279, 544, 4468, 370, 4455, 4418, 4419,
++ 220, 528, 222, 528, 4462, 433, 629, 386, 228, 384,
++ 4468, 629, 576, 386, 386, 386, 236, 276, 637, 228,
++ 629, 582, 599, 573, 155, 630, 3332, 630, 402, 548,
++ 238, 251, 413, 104, 570, 3325, 238, 614, 637, 378,
++ 630, 637, 4328, 252, 4330, 4331, 617, 618, 619, 630,
++ 355, 3357, 3358, 3359, 637, 3464, 3362, 630, 3348, 637,
++ 620, 621, 622, 623, 624, 625, 626, 627, 3374, 637,
++ 637, 630, 630, 630, 327, 631, 450, 548, 548, 631,
++ 537, 272, 88, 422, 304, 620, 621, 622, 623, 624,
++ 625, 626, 627, 608, 47, 548, 367, 629, 472, 6,
++ 629, 560, 322, 617, 191, 629, 13, 4393, 15, 629,
++ 617, 191, 191, 239, 560, 191, 4063, 82, 246, 26,
++ 27, 502, 169, 631, 355, 90, 4001, 637, 637, 620,
++ 621, 622, 623, 624, 625, 626, 627, 249, 3444, 513,
++ 249, 318, 316, 3449, 373, 3554, 4430, 114, 114, 114,
++ 57, 252, 252, 637, 548, 62, 63, 377, 3464, 379,
++ 334, 232, 69, 629, 204, 629, 366, 387, 537, 447,
++ 386, 629, 370, 624, 637, 82, 240, 386, 249, 629,
++ 629, 240, 630, 90, 603, 1561, 630, 624, 630, 494,
++ 261, 400, 630, 100, 159, 569, 630, 637, 630, 4036,
++ 3506, 630, 360, 630, 629, 224, 630, 114, 582, 631,
++ 111, 267, 333, 386, 631, 4087, 630, 3523, 191, 3628,
++ 575, 128, 475, 476, 131, 637, 242, 601, 4065, 603,
++ 263, 138, 139, 71, 249, 455, 249, 360, 145, 631,
++ 629, 3516, 252, 617, 252, 630, 153, 631, 3554, 398,
++ 157, 82, 159, 629, 631, 560, 630, 631, 360, 19,
++ 634, 635, 360, 228, 631, 3555, 167, 338, 630, 360,
++ 631, 1647, 629, 488, 3580, 1651, 360, 47, 464, 630,
++ 187, 3587, 629, 629, 629, 266, 460, 3696, 629, 360,
++ 26, 27, 512, 194, 630, 47, 466, 1673, 36, 3605,
++ 630, 603, 415, 202, 3594, 148, 630, 259, 528, 630,
++ 204, 631, 532, 220, 474, 222, 629, 249, 629, 226,
++ 249, 228, 3628, 59, 60, 629, 62, 228, 631, 236,
++ 128, 551, 128, 629, 396, 71, 637, 86, 482, 304,
++ 144, 515, 630, 488, 251, 459, 82, 630, 630, 569,
++ 631, 630, 19, 630, 90, 630, 630, 322, 630, 533,
++ 34, 12, 13, 34, 355, 60, 4313, 240, 621, 622,
++ 623, 624, 625, 626, 627, 276, 630, 324, 114, 450,
++ 118, 346, 630, 630, 630, 254, 410, 125, 275, 367,
++ 3696, 603, 128, 239, 629, 131, 630, 304, 631, 637,
++ 47, 209, 324, 631, 415, 537, 582, 537, 3714, 630,
++ 582, 631, 629, 301, 592, 322, 629, 592, 629, 326,
++ 14, 3727, 3728, 159, 3730, 3731, 629, 111, 629, 575,
++ 629, 36, 629, 4146, 128, 252, 19, 252, 354, 177,
++ 630, 34, 513, 3852, 631, 629, 184, 4322, 4161, 169,
++ 454, 355, 103, 324, 173, 17, 537, 252, 365, 537,
++ 631, 4174, 537, 370, 531, 629, 586, 630, 630, 360,
++ 377, 3777, 379, 211, 212, 582, 4423, 582, 239, 386,
++ 387, 132, 350, 587, 220, 506, 222, 3777, 4325, 447,
++ 3796, 3797, 228, 603, 145, 355, 397, 169, 34, 138,
++ 236, 402, 3808, 630, 367, 575, 631, 629, 189, 193,
++ 4457, 418, 629, 118, 629, 251, 167, 518, 629, 170,
++ 125, 156, 31, 600, 189, 432, 433, 434, 435, 265,
++ 181, 67, 638, 630, 630, 3841, 630, 381, 3844, 61,
++ 539, 137, 280, 159, 228, 137, 3852, 512, 455, 402,
++ 73, 202, 600, 423, 191, 629, 3797, 31, 63, 63,
++ 367, 630, 4399, 528, 519, 522, 631, 268, 304, 470,
++ 47, 629, 177, 5, 47, 629, 3882, 228, 629, 184,
++ 360, 360, 239, 4296, 235, 630, 322, 155, 136, 635,
++ 367, 367, 276, 4306, 144, 629, 47, 3903, 47, 135,
++ 3841, 339, 3908, 154, 47, 512, 211, 212, 132, 155,
++ 600, 575, 350, 223, 282, 635, 354, 355, 150, 127,
++ 638, 528, 454, 159, 275, 532, 162, 528, 47, 629,
++ 47, 47, 4469, 534, 630, 53, 456, 635, 631, 221,
++ 252, 377, 630, 379, 551, 155, 631, 540, 4361, 556,
++ 206, 387, 553, 635, 631, 47, 630, 53, 3948, 630,
++ 196, 631, 569, 437, 189, 224, 540, 602, 189, 4382,
++ 189, 4384, 128, 355, 190, 280, 3982, 578, 4391, 215,
++ 629, 472, 2062, 631, 3913, 2272, 3335, 3334, 2446, 4402,
++ 658, 3603, 4101, 229, 595, 3940, 4255, 4066, 4256, 3601,
++ 3605, 3795, 1002, 4457, 4410, 46, 578, 1823, 4420, 4015,
++ 2774, 4017, 3787, 4019, 3787, 3787, 3787, 3787, 675, 455,
++ 3787, 4434, 4435, 680, 3787, 3787, 4439, 3787, 635, 3787,
++ 4293, 4139, 4293, 3787, 339, 4249, 3787, 3787, 4165, 4045,
++ 4164, 277, 1476, 1747, 1043, 2020, 1486, 1478, 3945, 354,
++ 355, 2929, 403, 2750, 3443, 2755, 407, 3139, 4091, 3842,
++ 717, 4190, 298, 3446, 1319, 4365, 4273, 4322, 4074, 4001,
++ 1531, 517, 423, 3610, 2013, 3003, 512, 734, 3259, 2526,
++ 431, 2595, 3238, 3247, 4074, 4091, 470, 2021, 439, 4340,
++ 4036, 3753, 528, 3055, 3282, 4101, 532, 3316, 4207, 537,
++ 3565, 4107, 4087, 541, 4094, 4095, 544, 491, 3554, 4023,
++ 11, 3188, 11, 464, 4123, 551, 4124, 555, 775, 776,
++ 777, 778, 560, 1545, 3964, 563, 477, 478, 3951, 3960,
++ 787, 3808, 2100, 569, 3761, 2020, 3240, 2519, 971, 631,
++ 1897, 3520, 1436, 3239, 528, 2332, 1814, 531, 1485, 1527,
++ 534, 2736, 2305, 3134, 2354, 3789, 599, 2223, 911, 3115,
++ 1834, 2135, 4271, 2714, 1129, 401, 2409, 2132, 2222, 3206,
++ 3867, 522, 3721, 4222, 410, 3332, 4223, 1102, 2251, 3249,
++ 4186, 3715, 2819, 1452, 622, 623, 570, 4399, 2515, 425,
++ 3696, 12, 13, 629, 578, 2359, 2105, 13, 1302, 1334,
++ 2299, 4207, 553, 2336, 3449, 3154, 3153, 443, 4198, 4199,
++ 3216, 868, 4186, 589, 1554, 671, 4222, 4223, 577, 1886,
++ 1388, 1416, 1887, 1766, 575, 3257, 577, 3137, 4315, 1340,
++ 4214, 4363, 537, 4283, 4462, 4468, 541, 3159, 3556, 544,
++ 1839, 2806, 1368, 3196, 3475, 3704, 482, 483, 569, 1795,
++ 555, 1358, 893, 3831, 1294, 560, 1536, 3837, 563, 2724,
++ 898, 570, 658, -1, 513, 4271, 513, 658, 658, -1,
++ -1, -1, 508, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 103, -1, -1, -1, -1, 103, -1, -1,
++ -1, 527, 4298, -1, 530, 531, -1, -1, -1, 4305,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 132, -1, -1, -1, -1, 132, 622, 623, -1,
++ -1, -1, -1, -1, 145, -1, -1, -1, -1, 145,
++ 119, 120, 121, 122, 123, -1, -1, -1, -1, -1,
++ -1, -1, 4451, 579, -1, -1, 167, 4337, -1, 170,
++ -1, 167, -1, -1, 170, -1, -1, -1, -1, -1,
++ 181, -1, -1, -1, -1, 181, -1, 1024, -1, -1,
++ -1, -1, -1, -1, -1, 4381, -1, -1, -1, -1,
++ 4386, 202, -1, -1, -1, -1, 202, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 228, -1, -1,
++ -1, -1, 228, -1, 235, -1, -1, 4423, -1, 235,
++ -1, -1, -1, 1080, 1081, -1, 4432, 216, 217, 218,
++ 219, -1, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096,
++ 1097, 1098, 1099, 1100, 1101, 4451, -1, -1, -1, 4455,
++ -1, 4457, 1109, 1110, 275, 1112, 4462, 1114, -1, 275,
++ -1, 1118, 4468, -1, 1121, 1122, 1123, 1124, -1, 1126,
++ 1127, 1128, -1, -1, -1, -1, -1, -1, 1135, 1136,
++ -1, 1138, 1139, 1140, 1141, 1142, -1, -1, 1145, 1146,
++ 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, -1,
++ -1, 1158, 1159, -1, 34, 1162, -1, -1, -1, 1166,
++ -1, 1168, 1169, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 1182, 1183, -1, 317, -1,
++ 319, 320, 321, 1190, -1, -1, -1, 67, -1, 328,
++ 1197, 1198, 1199, 1200, -1, -1, -1, -1, -1, -1,
++ -1, 1208, 1209, 1210, -1, 1212, 1213, 1214, 1215, 1216,
++ -1, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, -1,
++ -1, -1, 1229, 1230, -1, -1, -1, -1, -1, -1,
++ -1, -1, 403, -1, -1, -1, 407, 403, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 423, -1, -1, 135, -1, 423, -1, -1,
++ 431, -1, -1, -1, -1, 431, -1, -1, 439, -1,
++ 409, -1, -1, 439, -1, -1, -1, -1, -1, 159,
++ -1, -1, 162, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 464, -1, -1, -1, -1, 464, 1306,
++ -1, -1, -1, -1, -1, -1, 477, 478, -1, -1,
++ -1, 477, 478, -1, -1, -1, 196, -1, -1, -1,
++ -1, -1, 461, 462, -1, 680, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 215, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 229,
++ -1, 522, -1, -1, -1, -1, 522, -1, -1, -1,
++ -1, 1368, 717, -1, -1, -1, -1, -1, -1, 1376,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 734,
++ -1, 225, 553, -1, -1, -1, -1, 553, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 277, -1, -1,
++ -1, -1, -1, -1, 575, -1, 577, -1, -1, 575,
++ -1, 577, -1, -1, -1, -1, -1, -1, 298, -1,
++ -1, -1, -1, 778, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, 13, -1, 15, -1,
++ 284, 285, 286, 287, 288, 289, -1, 291, 292, 293,
++ 294, 295, 296, 297, 31, 299, 300, -1, 35, -1,
++ 599, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 1478, 49, 50, 613, 614, -1, -1, -1, -1,
++ 57, -1, -1, -1, -1, 62, 63, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 84, -1, -1,
++ -1, -1, -1, 868, -1, -1, -1, -1, -1, -1,
++ -1, 401, -1, -1, -1, -1, 103, -1, -1, -1,
++ 410, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 425, -1, 124, -1, -1,
++ -1, -1, -1, -1, -1, 132, 133, 134, -1, -1,
++ 1567, -1, -1, 443, -1, -1, -1, 144, 145, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 157, -1, -1, 427, 428, -1, -1, -1, -1, -1,
++ -1, -1, -1, 170, -1, -1, -1, -1, -1, -1,
++ -1, -1, 482, 483, -1, -1, -1, -1, -1, 186,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 202, -1, -1, 508, 206,
++ -1, -1, -1, 210, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 530, -1, -1, -1, -1, -1, -1, -1, 235, -1,
++ 237, -1, -1, -1, -1, -1, -1, -1, -1, 1024,
++ -1, -1, 1679, 1680, 1681, -1, 253, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, 1693, -1, -1, -1,
++ -1, -1, -1, -1, 271, -1, -1, -1, 275, 579,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 1719, -1, -1, -1, -1, -1, 1725, -1,
++ -1, 1728, -1, 1730, -1, 1080, 1081, -1, -1, 1736,
++ -1, 1738, 1739, -1, 1089, 1090, -1, -1, 1093, 1094,
++ 1095, 1096, 1097, 1098, 1099, 1100, 1101, -1, -1, -1,
++ -1, -1, -1, -1, 1109, 1110, -1, 1112, -1, 1114,
++ -1, -1, -1, -1, -1, -1, 1121, 1122, 1123, 1124,
++ -1, -1, 1127, -1, -1, -1, -1, -1, -1, -1,
++ 1135, 1136, -1, 1138, 1139, -1, -1, -1, 365, -1,
++ 1145, 1146, 1147, -1, -1, 1150, 1151, 1152, 1153, 1154,
++ 1155, -1, 1809, 1158, 1159, 382, -1, 1162, -1, 386,
++ -1, 1166, -1, 1168, 1169, -1, -1, -1, -1, -1,
++ 397, -1, -1, -1, -1, -1, -1, 1182, 1183, -1,
++ -1, 408, -1, -1, -1, 1190, -1, -1, -1, -1,
++ -1, -1, 1197, 1198, 1199, -1, -1, -1, -1, -1,
++ -1, -1, -1, 430, 26, 27, 433, -1, 435, -1,
++ -1, 438, -1, -1, 441, 442, -1, -1, -1, -1,
++ -1, -1, 449, -1, 451, 1230, -1, -1, -1, -1,
++ -1, 458, -1, -1, -1, -1, -1, 464, -1, -1,
++ 62, -1, -1, 24, -1, 472, -1, -1, -1, -1,
++ 477, -1, 479, 34, 35, 482, -1, -1, -1, -1,
++ 82, -1, -1, -1, -1, -1, -1, -1, 90, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
++ 507, -1, -1, -1, 511, -1, 67, -1, -1, -1,
++ -1, 72, 114, -1, -1, -1, -1, -1, -1, -1,
++ -1, 1306, -1, -1, -1, -1, 128, -1, -1, 131,
++ -1, -1, -1, -1, -1, -1, -1, -1, 99, -1,
++ 101, -1, 103, -1, -1, -1, -1, -1, -1, 556,
++ -1, 112, -1, -1, -1, -1, -1, 159, -1, -1,
++ -1, 568, -1, -1, -1, 572, -1, -1, 575, -1,
++ -1, -1, -1, -1, 581, -1, 2013, -1, -1, -1,
++ -1, -1, -1, 1368, -1, -1, -1, -1, -1, -1,
++ -1, 1376, -1, -1, -1, -1, -1, 158, 159, -1,
++ -1, -1, 163, 610, -1, 166, 2043, -1, -1, 616,
++ -1, -1, -1, -1, -1, -1, -1, -1, 220, -1,
++ 222, -1, 629, -1, -1, -1, 228, -1, -1, -1,
++ -1, 192, -1, 194, 236, -1, -1, -1, -1, -1,
++ 201, -1, 203, -1, -1, -1, -1, -1, -1, 251,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 2098, -1, -1, -1, -1, 227, 228, 229, -1,
++ -1, -1, -1, -1, -1, -1, -1, 2114, -1, -1,
++ -1, 2118, -1, -1, -1, -1, 2123, 2124, -1, 250,
++ -1, -1, -1, -1, -1, 2132, 2133, -1, 2135, 2136,
++ 2137, 2138, 304, 2140, -1, -1, 2143, -1, -1, -1,
++ -1, 272, -1, -1, -1, -1, 2153, -1, 2155, 2156,
++ 322, 2158, 2159, 2160, 2161, -1, 2163, -1, -1, 2166,
++ -1, -1, -1, -1, -1, -1, -1, 298, 2175, -1,
++ -1, -1, -1, -1, -1, 2182, -1, 2184, -1, 2186,
++ 2187, 2188, 2189, -1, -1, -1, 2193, 2194, 2195, -1,
++ -1, -1, 2199, 2200, 2201, -1, 2203, -1, 2205, -1,
++ 2207, -1, 2209, -1, 2211, 377, -1, 379, -1, 2216,
++ -1, -1, 1567, -1, -1, 387, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 2234, -1, -1,
++ -1, -1, -1, 364, 2241, -1, -1, 2244, -1, -1,
++ -1, -1, -1, 2250, -1, -1, 2253, -1, -1, -1,
++ 2257, -1, -1, -1, -1, -1, -1, -1, -1, 390,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 401, 402, -1, -1, 405, 406, -1, -1, -1, -1,
++ -1, -1, -1, 455, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 426, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, 2313, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 1679, 1680, 1681, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 469, -1,
++ 512, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 482, -1, -1, -1, -1, 528, -1, -1, -1,
++ 532, -1, -1, -1, 1719, -1, -1, -1, -1, -1,
++ -1, -1, -1, 1728, -1, 1730, -1, 508, -1, 551,
++ -1, 512, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 569, -1, 530,
++ 531, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 2429, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 2447, 2448, 13, -1, 15, -1, -1, -1, 579, -1,
++ -1, -1, -1, -1, 1809, -1, -1, -1, -1, 590,
++ -1, -1, -1, -1, 35, -1, -1, 598, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 49, 50,
++ -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
++ -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 2519, 84, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 103, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 124, -1, -1, -1, -1, 2565, 2566,
++ -1, 132, 133, 134, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 144, 145, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 2599, -1, -1, -1, -1, -1, -1, 170,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2616,
++ -1, -1, -1, 2620, -1, 186, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 202, -1, -1, -1, 206, -1, -1, -1, 210,
++ -1, -1, -1, 2650, 2651, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 2670, 235, -1, 237, -1, -1, -1,
++ -1, -1, 2679, -1, 2681, -1, 2683, -1, -1, -1,
++ -1, -1, 253, -1, -1, -1, -1, -1, 2043, -1,
++ -1, -1, -1, -1, -1, -1, 2703, -1, -1, -1,
++ 271, 2708, -1, -1, 275, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 2732, -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, 2114,
++ -1, -1, -1, 2118, -1, -1, -1, -1, 2123, 2124,
++ -1, -1, -1, -1, -1, -1, -1, 2132, 2133, -1,
++ 2135, -1, 2137, 2138, -1, 2140, -1, -1, -1, -1,
++ -1, -1, 2799, -1, 365, -1, 2803, -1, 2153, -1,
++ 2155, -1, -1, 2158, 2159, 2160, 2161, -1, 2163, -1,
++ -1, 382, -1, -1, -1, 386, -1, -1, -1, -1,
++ 2175, -1, -1, -1, -1, -1, 397, 2182, -1, 2184,
++ -1, 2186, 2187, 2188, -1, -1, -1, 408, 2193, 2194,
++ 2195, -1, -1, 2850, 2199, 2200, 2201, -1, 2203, -1,
++ 2205, -1, 2207, -1, 2209, -1, 2211, -1, -1, 430,
++ -1, 2216, 433, -1, 435, -1, -1, 438, -1, -1,
++ 441, 442, -1, -1, -1, -1, -1, -1, 449, 2234,
++ 451, -1, -1, -1, -1, -1, -1, 458, -1, -1,
++ -1, -1, -1, 464, -1, 2250, -1, -1, 2253, -1,
++ -1, 472, -1, -1, -1, -1, 477, -1, 479, -1,
++ -1, 482, 6, -1, -1, -1, -1, -1, -1, 13,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 26, 27, -1, -1, 507, -1, -1, -1,
++ 511, -1, -1, -1, -1, -1, -1, 33, 34, -1,
++ -1, -1, -1, 39, -1, 41, -1, 43, 44, -1,
++ -1, -1, -1, 57, 2971, 2972, -1, -1, 62, -1,
++ -1, -1, -1, -1, 60, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 556, -1, -1, 82, 2996,
++ -1, -1, -1, -1, -1, -1, 90, 568, -1, -1,
++ -1, 572, -1, -1, 575, -1, 100, -1, -1, -1,
++ 581, -1, -1, -1, -1, -1, -1, 3024, -1, -1,
++ 114, -1, -1, -1, -1, -1, -1, -1, -1, 115,
++ 3037, -1, 118, -1, 128, -1, -1, 131, -1, 610,
++ 126, -1, -1, -1, 138, 616, -1, -1, -1, -1,
++ -1, 145, -1, -1, -1, -1, -1, 143, 629, 153,
++ -1, -1, -1, 3070, 3071, 159, 3073, -1, -1, -1,
++ -1, -1, -1, -1, 160, 3082, -1, -1, -1, -1,
++ 3087, -1, -1, 3090, -1, 3092, 3093, -1, -1, -1,
++ -1, -1, -1, 187, -1, -1, -1, 183, -1, 185,
++ -1, -1, -1, -1, -1, -1, 3113, -1, -1, -1,
++ -1, -1, 198, 199, -1, -1, -1, -1, -1, -1,
++ -1, 3128, -1, -1, -1, -1, 220, -1, 222, -1,
++ -1, -1, -1, -1, 228, -1, -1, -1, -1, -1,
++ -1, -1, 236, -1, -1, -1, 3153, -1, -1, -1,
++ -1, -1, -1, -1, 240, -1, -1, 251, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, 3183, -1, -1, -1,
++ -1, -1, -1, 269, -1, 26, 27, -1, -1, -1,
++ 3197, -1, 278, 279, -1, 281, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 304, 3218, -1, -1, -1, -1, -1, -1, 59, 60,
++ 3227, 62, -1, -1, 310, 311, 312, -1, 322, -1,
++ 71, -1, 326, -1, -1, -1, -1, -1, -1, -1,
++ -1, 82, -1, 329, 330, 331, -1, -1, -1, 90,
++ -1, 337, -1, -1, 340, -1, -1, -1, -1, -1,
++ -1, 2616, -1, -1, -1, 2620, -1, -1, -1, -1,
++ 356, 357, -1, 114, -1, -1, 370, -1, -1, -1,
++ -1, -1, -1, 377, -1, 379, -1, 128, -1, -1,
++ 131, -1, -1, 387, -1, 2650, 2651, -1, -1, -1,
++ -1, -1, 3309, -1, -1, -1, 392, 393, -1, -1,
++ -1, -1, -1, -1, -1, 2670, -1, -1, 159, -1,
++ -1, -1, -1, -1, 2679, -1, 2681, -1, 2683, -1,
++ -1, 417, -1, -1, -1, -1, -1, -1, -1, 433,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 455, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 2732, -1, 220,
++ -1, 222, 468, -1, -1, -1, 472, 228, -1, -1,
++ -1, -1, -1, -1, -1, 236, -1, -1, 484, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 251, -1, -1, -1, -1, -1, -1, -1, 512, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 528, -1, -1, -1, 532, -1,
++ -1, -1, -1, 3450, 2799, -1, -1, -1, 2803, -1,
++ -1, -1, 538, -1, -1, 541, -1, 551, 544, 545,
++ 546, 547, -1, 304, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 569, -1, -1, -1, -1,
++ -1, 322, 3489, 3490, -1, -1, -1, -1, -1, -1,
++ -1, 3498, -1, -1, -1, 2850, -1, -1, -1, -1,
++ -1, -1, 588, 589, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 614, -1,
++ -1, -1, -1, -1, -1, -1, 377, -1, 379, -1,
++ -1, -1, -1, -1, -1, -1, 387, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 3565, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 3610, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 455, -1, 2971, 2972, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 3642, -1, -1, -1, 3646,
++ -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,
++ 3677, 512, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 3037, -1, 3691, -1, -1, 528, -1, -1,
++ -1, 532, -1, -1, -1, -1, -1, 3704, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 551, -1, -1, -1, -1, 3070, 3071, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 3082, 569, -1,
++ -1, -1, 3087, -1, -1, 3090, -1, 3092, 3093, -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, 3128, -1, -1, -1, -1, -1, -1,
++ 3787, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 3153, -1,
++ 3807, -1, -1, -1, 3811, 3812, -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, 3842, -1, -1, -1, -1,
++ -1, -1, 3197, 3850, -1, -1, -1, -1, -1, -1,
++ -1, -1, 3859, -1, 3861, -1, -1, -1, -1, -1,
++ -1, -1, -1, 3218, -1, -1, -1, -1, -1, -1,
++ -1, -1, 3227, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 3900, -1, -1, -1, -1, -1, 3906,
++ 3907, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 3951, -1, -1, -1, -1, -1,
++ -1, -1, -1, 3960, -1, -1, -1, 3964, -1, -1,
++ -1, -1, 3969, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4006,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 4025, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 4038, -1, 4040, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 4050, -1, 4052, 4053, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 4077, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 3450, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 4121, -1, 4123, 4124, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 3489, 3490, -1, 4144, -1, 4146,
++ -1, -1, -1, 3498, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 4161, 4162, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 4174, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 4187, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 4235, 4236,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 4248, 4249, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 4265, -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, 3642, -1, 4296,
++ -1, 3646, -1, -1, -1, -1, 4303, -1, -1, 4306,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 3677, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 4342, 3691, -1, -1, -1,
++ -1, -1, 4349, -1, 4351, -1, -1, -1, -1, 3704,
++ -1, -1, -1, -1, 4361, -1, -1, -1, 4365, -1,
++ -1, 4368, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, 4380, -1, 4382, -1, 4384, -1, -1,
++ -1, -1, -1, -1, 4391, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 4402, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 4418, 4419, -1, -1, -1, -1, 4424, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 4434, 4435, -1,
++ -1, -1, 4439, -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, 4471, -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, 3850, -1, -1, -1, -1,
++ -1, -1, -1, -1, 3859, -1, 3861, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 3900, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -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, 3969, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 4006, -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, 4038, -1, 4040, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 4050, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4144,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 4162, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 4187, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 4235, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -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, 4303, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 4342, -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, 4368, -1, -1, -1, 5, -1, 7,
++ 8, 9, 10, 11, -1, -1, 14, -1, -1, -1,
++ 18, -1, -1, 21, -1, 23, 24, 25, 26, 27,
++ 28, 29, -1, 31, -1, -1, 34, 35, 36, 37,
++ 38, 39, 40, -1, 42, 43, 44, 45, 46, -1,
++ 48, 49, -1, -1, 52, 53, 54, 55, 56, 4424,
++ 58, 59, 60, 61, 62, -1, 64, 65, 66, 67,
++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
++ 78, 79, -1, 81, 82, 83, 84, 85, 86, 87,
++ 88, -1, 90, 91, -1, 93, 94, 95, 96, 97,
++ -1, 99, 100, 101, 102, -1, 4471, 105, 106, 107,
++ -1, 109, 110, 111, -1, 113, 114, 115, 116, 117,
++ 118, -1, -1, -1, -1, 123, 124, 125, -1, -1,
++ 128, 129, -1, 131, -1, -1, -1, 135, -1, 137,
++ 138, 139, 140, -1, -1, -1, 144, -1, -1, 147,
++ 148, 149, -1, -1, -1, 153, -1, 155, 156, -1,
++ 158, 159, 160, -1, 162, 163, -1, 165, 166, 167,
++ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
++ 178, 179, -1, 181, 182, 183, 184, -1, 186, -1,
++ -1, -1, 190, -1, 192, -1, 194, -1, 196, 197,
++ 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
++ 208, -1, 210, 211, 212, -1, 214, 215, -1, -1,
++ -1, 219, 220, 221, 222, 223, -1, 225, 226, 227,
++ -1, 229, -1, 231, -1, -1, -1, 235, 236, 237,
++ 238, -1, -1, 241, -1, 243, 244, -1, 246, 247,
++ -1, -1, -1, 251, -1, -1, 254, 255, 256, -1,
++ 258, 259, -1, 261, 262, 263, -1, -1, -1, -1,
++ -1, 269, 270, -1, 272, -1, 274, -1, 276, 277,
++ -1, -1, 280, -1, -1, -1, 284, 285, 286, 287,
++ 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
++ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
++ 308, -1, -1, -1, -1, 313, 314, 315, 316, 317,
++ 318, -1, -1, 321, 322, 323, 324, -1, 326, 327,
++ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
++ -1, 339, 340, 341, -1, -1, 344, 345, 346, 347,
++ 348, 349, 350, 351, 352, -1, 354, 355, -1, 357,
++ 358, 359, -1, 361, 362, 363, 364, -1, 366, 367,
++ -1, -1, -1, -1, -1, -1, -1, -1, 376, 377,
++ 378, -1, 380, 381, -1, 383, 384, 385, 386, 387,
++ 388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
++ 398, 399, -1, 401, -1, 403, 404, 405, 406, 407,
++ -1, 409, 410, 411, -1, -1, 414, -1, -1, -1,
++ 418, 419, 420, 421, 422, -1, -1, 425, 426, 427,
++ 428, 429, -1, 431, 432, -1, 434, 435, 436, 437,
++ 438, 439, -1, 441, -1, 443, 444, -1, 446, 447,
++ -1, -1, 450, 451, 452, 453, 454, 455, 456, 457,
++ 458, 459, 460, -1, 462, 463, -1, -1, -1, 467,
++ 468, 469, 470, -1, -1, -1, 474, -1, -1, -1,
++ 478, -1, 480, 481, 482, 483, -1, 485, 486, 487,
++ 488, 489, 490, -1, -1, -1, -1, -1, -1, 497,
++ 498, -1, 500, -1, -1, 503, -1, -1, 506, 507,
++ 508, 509, 510, 511, 512, -1, 514, 515, 516, 517,
++ 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
++ 528, -1, 530, -1, 532, 533, 534, 535, -1, 537,
++ 538, 539, -1, 541, 542, 543, 544, -1, -1, -1,
++ -1, 549, 550, 551, 552, -1, 554, 555, 556, 557,
++ 558, 559, 560, 561, 562, 563, 564, 565, -1, 567,
++ 568, -1, -1, 571, -1, -1, 574, -1, 576, -1,
++ 578, 579, 580, -1, -1, 583, 584, 585, 586, 587,
++ -1, -1, 590, 591, -1, 593, 594, 595, 596, 597,
++ 598, 599, -1, -1, -1, -1, -1, -1, 606, 607,
++ -1, 609, 610, 611, -1, -1, 614, -1, -1, -1,
++ -1, -1, -1, -1, 622, 623, -1, -1, -1, -1,
++ 628, 629, -1, -1, 632, 633, -1, -1, 636, 637,
++ 5, -1, 7, 8, 9, 10, 11, 12, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, 34,
++ 35, 36, 37, 38, 39, 40, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, 53, 54,
++ 55, 56, -1, 58, 59, 60, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
++ 105, 106, 107, -1, 109, 110, 111, -1, 113, 114,
++ 115, 116, 117, 118, -1, -1, -1, -1, 123, 124,
++ 125, -1, -1, 128, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
++ 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ 205, 206, 207, 208, -1, 210, 211, 212, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, 223, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ 235, 236, 237, 238, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, 261, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, 280, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
++ 305, 306, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, 323, 324,
++ -1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, 339, 340, 341, -1, -1, 344,
++ 345, 346, 347, 348, 349, 350, 351, 352, -1, 354,
++ 355, -1, 357, 358, 359, 360, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, 380, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ 395, -1, 397, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, 450, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, 509, 510, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
++ 525, 526, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, 537, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, 554,
++ 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, 583, 584,
++ 585, 586, 587, -1, -1, 590, 591, -1, 593, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, -1, 614,
++ -1, -1, -1, -1, -1, -1, -1, 622, 623, -1,
++ -1, -1, -1, 628, 629, -1, -1, 632, 633, -1,
++ -1, 636, 637, 5, -1, 7, 8, 9, 10, 11,
++ -1, -1, 14, -1, -1, -1, 18, -1, -1, 21,
++ -1, 23, 24, 25, 26, 27, 28, 29, -1, 31,
++ -1, -1, 34, 35, 36, 37, 38, 39, 40, -1,
++ 42, 43, 44, -1, 46, -1, 48, 49, -1, -1,
++ 52, 53, 54, 55, 56, -1, 58, 59, 60, 61,
++ 62, -1, 64, 65, 66, 67, 68, 69, 70, -1,
++ 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
++ 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
++ -1, 93, 94, 95, 96, 97, -1, 99, 100, 101,
++ 102, -1, -1, 105, 106, 107, -1, 109, 110, 111,
++ -1, 113, 114, 115, 116, 117, 118, -1, -1, -1,
++ -1, 123, 124, 125, -1, -1, 128, 129, -1, 131,
++ -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
++ -1, -1, 144, -1, -1, 147, 148, 149, -1, -1,
++ -1, 153, -1, 155, 156, -1, 158, 159, 160, -1,
++ 162, 163, -1, 165, 166, 167, 168, 169, 170, 171,
++ -1, 173, 174, 175, 176, 177, 178, 179, -1, 181,
++ 182, 183, 184, -1, 186, -1, -1, -1, 190, 191,
++ 192, -1, 194, -1, 196, 197, 198, 199, 200, 201,
++ -1, 203, -1, 205, 206, 207, 208, -1, 210, 211,
++ 212, -1, 214, 215, -1, -1, -1, 219, 220, 221,
++ 222, 223, -1, 225, 226, 227, -1, 229, -1, 231,
++ -1, -1, -1, 235, 236, 237, 238, -1, -1, 241,
++ -1, 243, 244, -1, 246, 247, -1, -1, -1, 251,
++ -1, -1, 254, 255, 256, -1, -1, 259, -1, 261,
++ 262, 263, -1, -1, -1, -1, -1, 269, 270, -1,
++ 272, -1, 274, -1, 276, 277, -1, -1, 280, -1,
++ -1, -1, 284, 285, 286, 287, 288, 289, 290, 291,
++ 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
++ 302, 303, 304, 305, 306, 307, 308, -1, -1, -1,
++ -1, 313, 314, 315, 316, 317, 318, -1, -1, 321,
++ 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
++ 332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
++ -1, -1, 344, 345, 346, 347, 348, 349, 350, 351,
++ 352, -1, 354, 355, -1, 357, 358, 359, -1, 361,
++ 362, 363, 364, -1, 366, 367, -1, -1, -1, -1,
++ -1, -1, -1, -1, 376, 377, 378, -1, 380, 381,
++ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
++ 392, 393, 394, 395, -1, 397, 398, 399, -1, 401,
++ -1, 403, 404, 405, 406, 407, -1, 409, 410, 411,
++ -1, -1, 414, -1, -1, -1, 418, 419, 420, 421,
++ 422, -1, -1, 425, 426, 427, 428, 429, -1, 431,
++ 432, -1, 434, 435, 436, 437, 438, 439, -1, 441,
++ -1, 443, 444, -1, 446, 447, -1, -1, 450, 451,
++ 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
++ 462, 463, -1, -1, -1, 467, 468, 469, 470, -1,
++ -1, -1, 474, -1, -1, -1, 478, -1, 480, 481,
++ 482, 483, -1, 485, 486, 487, 488, 489, 490, -1,
++ -1, -1, -1, -1, -1, 497, 498, -1, 500, -1,
++ -1, 503, -1, -1, 506, 507, 508, 509, 510, 511,
++ 512, -1, 514, 515, 516, 517, 518, 519, 520, 521,
++ 522, 523, 524, 525, 526, 527, 528, -1, 530, -1,
++ 532, 533, 534, 535, -1, 537, 538, 539, -1, 541,
++ 542, 543, 544, -1, -1, -1, -1, -1, 550, 551,
++ 552, -1, 554, 555, 556, 557, 558, 559, 560, 561,
++ 562, 563, 564, 565, -1, 567, 568, -1, -1, 571,
++ -1, -1, 574, -1, 576, -1, 578, 579, 580, -1,
++ -1, 583, 584, 585, 586, 587, -1, -1, 590, 591,
++ -1, 593, 594, 595, 596, 597, 598, 599, -1, -1,
++ -1, -1, -1, -1, 606, 607, -1, 609, 610, 611,
++ -1, -1, 614, -1, -1, -1, -1, -1, -1, -1,
++ 622, 623, -1, -1, -1, -1, 628, 629, -1, -1,
++ 632, 633, -1, -1, 636, 637, 5, -1, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, 34, 35, 36, 37, 38,
++ 39, 40, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, 53, 54, 55, 56, -1, 58,
++ 59, 60, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, 100, 101, 102, -1, -1, 105, 106, 107, -1,
++ 109, 110, 111, -1, 113, 114, 115, 116, 117, 118,
++ -1, -1, -1, -1, 123, 124, 125, -1, -1, 128,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
++ 179, -1, 181, 182, 183, 184, -1, 186, -1, -1,
++ -1, 190, 191, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, 205, 206, 207, 208,
++ -1, 210, 211, 212, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, 223, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, 235, 236, 237, 238,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, 261, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, 280, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, 323, 324, -1, 326, 327, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ 339, 340, 341, -1, -1, 344, 345, 346, 347, 348,
++ 349, 350, 351, 352, -1, 354, 355, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, 380, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, 437, 438,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, 450, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ 509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, 537, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, 554, 555, 556, 557, 558,
++ 559, 560, 561, 562, 563, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, 583, 584, 585, 586, 587, -1,
++ -1, 590, 591, -1, 593, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, -1, 614, -1, -1, -1, -1,
++ -1, -1, -1, 622, 623, -1, -1, -1, -1, 628,
++ 629, -1, -1, 632, 633, -1, -1, 636, 637, 5,
++ -1, 7, 8, 9, 10, 11, -1, -1, 14, -1,
++ -1, -1, 18, -1, -1, 21, -1, 23, 24, 25,
++ 26, 27, 28, 29, -1, 31, -1, -1, 34, 35,
++ 36, 37, 38, 39, 40, -1, 42, 43, 44, -1,
++ 46, -1, 48, 49, -1, -1, 52, 53, 54, 55,
++ 56, -1, 58, 59, 60, 61, 62, -1, 64, 65,
++ 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
++ 76, 77, 78, 79, -1, 81, 82, 83, 84, 85,
++ 86, 87, 88, -1, 90, 91, -1, 93, 94, 95,
++ 96, 97, -1, 99, 100, 101, 102, -1, -1, 105,
++ 106, 107, -1, 109, 110, 111, -1, 113, 114, 115,
++ 116, 117, 118, -1, -1, -1, -1, 123, 124, 125,
++ -1, -1, 128, 129, -1, 131, -1, -1, -1, 135,
++ -1, 137, 138, 139, 140, -1, -1, -1, 144, -1,
++ -1, 147, 148, 149, -1, -1, -1, 153, -1, 155,
++ 156, -1, 158, 159, 160, -1, 162, 163, -1, 165,
++ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
++ 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
++ 186, -1, -1, -1, 190, 191, 192, -1, 194, -1,
++ 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
++ 206, 207, 208, -1, 210, 211, 212, -1, 214, 215,
++ -1, -1, -1, 219, 220, 221, 222, 223, -1, 225,
++ 226, 227, -1, 229, -1, 231, -1, -1, -1, 235,
++ 236, 237, 238, -1, -1, 241, -1, 243, 244, -1,
++ 246, 247, -1, -1, -1, 251, -1, -1, 254, 255,
++ 256, -1, -1, 259, -1, 261, 262, 263, -1, -1,
++ -1, -1, -1, 269, 270, -1, 272, -1, 274, -1,
++ 276, 277, -1, -1, 280, -1, -1, -1, 284, 285,
++ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
++ 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
++ 306, 307, 308, -1, -1, -1, -1, 313, 314, 315,
++ 316, 317, 318, -1, -1, 321, 322, 323, 324, -1,
++ 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
++ 336, 337, -1, 339, 340, 341, -1, -1, 344, 345,
++ 346, 347, 348, 349, 350, 351, 352, -1, 354, 355,
++ -1, 357, 358, 359, -1, 361, 362, 363, 364, -1,
++ 366, 367, -1, -1, -1, -1, -1, -1, -1, -1,
++ 376, 377, 378, -1, 380, 381, -1, 383, 384, 385,
++ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
++ -1, 397, 398, 399, -1, 401, -1, 403, 404, 405,
++ 406, 407, -1, 409, 410, 411, -1, -1, 414, -1,
++ -1, -1, 418, 419, 420, 421, 422, -1, -1, 425,
++ 426, 427, 428, 429, -1, 431, 432, -1, 434, 435,
++ 436, 437, 438, 439, -1, 441, -1, 443, 444, -1,
++ 446, 447, -1, -1, 450, 451, 452, 453, 454, 455,
++ 456, 457, 458, 459, 460, -1, 462, 463, -1, -1,
++ -1, 467, 468, 469, 470, -1, -1, -1, 474, -1,
++ -1, -1, 478, -1, 480, 481, 482, 483, -1, 485,
++ 486, 487, 488, 489, 490, -1, -1, -1, -1, -1,
++ -1, 497, 498, -1, 500, -1, -1, 503, -1, -1,
++ 506, 507, 508, 509, 510, 511, 512, -1, 514, 515,
++ 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
++ 526, 527, 528, -1, 530, -1, 532, 533, 534, 535,
++ -1, 537, 538, 539, -1, 541, 542, 543, 544, -1,
++ -1, -1, -1, -1, 550, 551, 552, -1, 554, 555,
++ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
++ -1, 567, 568, -1, -1, 571, -1, -1, 574, -1,
++ 576, -1, 578, 579, 580, -1, -1, 583, 584, 585,
++ 586, 587, -1, -1, 590, 591, -1, 593, 594, 595,
++ 596, 597, 598, 599, -1, -1, -1, -1, -1, -1,
++ 606, 607, -1, 609, 610, 611, -1, -1, 614, -1,
++ -1, -1, -1, -1, -1, -1, 622, 623, -1, -1,
++ -1, -1, 628, 629, -1, -1, 632, 633, -1, -1,
++ 636, 637, 5, -1, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, 34, 35, 36, 37, 38, 39, 40, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
++ -1, -1, 105, 106, 107, -1, 109, 110, 111, -1,
++ 113, 114, 115, 116, 117, 118, -1, -1, -1, -1,
++ 123, 124, 125, -1, -1, 128, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, 171, -1,
++ 173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
++ 183, 184, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, 205, 206, 207, 208, -1, 210, 211, 212,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ 223, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, 235, 236, 237, 238, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, 261, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, 280, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
++ 303, 304, 305, 306, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, 339, 340, 341, -1,
++ -1, 344, 345, 346, 347, 348, 349, 350, 351, 352,
++ -1, 354, 355, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, 380, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, 395, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, 437, 438, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, 450, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, 509, 510, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, 520, 521, 522,
++ 523, 524, 525, 526, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, 537, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, 554, 555, 556, 557, 558, 559, 560, 561, 562,
++ 563, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ 583, 584, 585, 586, 587, -1, -1, 590, 591, -1,
++ 593, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ -1, 614, -1, -1, -1, -1, -1, -1, -1, 622,
++ 623, -1, -1, -1, -1, 628, 629, -1, -1, 632,
++ 633, -1, -1, 636, 637, 5, -1, 7, 8, 9,
++ 10, 11, -1, -1, 14, -1, -1, -1, 18, -1,
++ -1, 21, -1, 23, 24, 25, 26, 27, 28, 29,
++ -1, 31, -1, -1, 34, 35, 36, 37, 38, 39,
++ 40, -1, 42, 43, 44, -1, 46, -1, 48, 49,
++ -1, -1, 52, 53, 54, 55, 56, -1, 58, 59,
++ 60, 61, 62, -1, 64, 65, 66, 67, 68, 69,
++ 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
++ -1, 81, 82, 83, 84, 85, 86, 87, 88, -1,
++ 90, 91, -1, 93, 94, 95, 96, 97, -1, 99,
++ 100, 101, 102, -1, -1, 105, 106, 107, -1, 109,
++ 110, 111, -1, 113, 114, 115, 116, 117, 118, -1,
++ -1, -1, -1, 123, 124, 125, -1, -1, 128, 129,
++ -1, 131, -1, -1, -1, 135, -1, 137, 138, 139,
++ 140, -1, -1, -1, 144, -1, -1, 147, 148, 149,
++ -1, -1, -1, 153, -1, 155, 156, -1, 158, 159,
++ 160, -1, 162, 163, -1, 165, 166, 167, 168, 169,
++ 170, 171, -1, 173, 174, 175, 176, 177, 178, 179,
++ -1, 181, 182, 183, 184, -1, 186, -1, -1, -1,
++ 190, -1, 192, -1, 194, -1, 196, 197, 198, 199,
++ 200, 201, -1, 203, -1, 205, 206, 207, 208, -1,
++ 210, 211, 212, -1, 214, 215, -1, -1, -1, 219,
++ 220, 221, 222, 223, -1, 225, 226, 227, -1, 229,
++ -1, 231, -1, -1, -1, 235, 236, 237, 238, -1,
++ -1, 241, -1, 243, 244, -1, 246, 247, -1, -1,
++ -1, 251, -1, -1, 254, 255, 256, -1, -1, 259,
++ -1, 261, 262, 263, -1, -1, -1, -1, -1, 269,
++ 270, -1, 272, -1, 274, -1, 276, 277, -1, -1,
++ 280, -1, -1, -1, 284, 285, 286, 287, 288, 289,
++ 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
++ 300, 301, 302, 303, 304, 305, 306, 307, 308, -1,
++ -1, -1, -1, 313, 314, 315, 316, 317, 318, -1,
++ -1, 321, 322, 323, 324, -1, 326, 327, 328, 329,
++ 330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
++ 340, 341, -1, -1, 344, 345, 346, 347, 348, 349,
++ 350, 351, 352, -1, 354, 355, -1, 357, 358, 359,
++ -1, 361, 362, 363, 364, -1, 366, 367, -1, -1,
++ -1, -1, -1, -1, -1, -1, 376, 377, 378, -1,
++ 380, 381, -1, 383, 384, 385, 386, 387, 388, 389,
++ 390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
++ -1, 401, -1, 403, 404, 405, 406, 407, -1, 409,
++ 410, 411, -1, -1, 414, -1, -1, -1, 418, 419,
++ 420, 421, 422, -1, -1, 425, 426, 427, 428, 429,
++ -1, 431, 432, -1, 434, 435, 436, 437, 438, 439,
++ -1, 441, -1, 443, 444, -1, 446, 447, -1, -1,
++ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
++ 460, -1, 462, 463, -1, -1, -1, 467, 468, 469,
++ 470, -1, -1, -1, 474, -1, -1, -1, 478, -1,
++ 480, 481, 482, 483, -1, 485, 486, 487, 488, 489,
++ 490, -1, -1, -1, -1, -1, -1, 497, 498, -1,
++ 500, -1, -1, 503, -1, -1, 506, 507, 508, 509,
++ 510, 511, 512, -1, 514, 515, 516, 517, 518, 519,
++ 520, 521, 522, 523, 524, 525, 526, 527, 528, -1,
++ 530, -1, 532, 533, 534, 535, -1, 537, 538, 539,
++ -1, 541, 542, 543, 544, -1, -1, -1, -1, -1,
++ 550, 551, 552, -1, 554, 555, 556, 557, 558, 559,
++ 560, 561, 562, 563, 564, 565, -1, 567, 568, -1,
++ -1, 571, -1, -1, 574, -1, 576, -1, 578, 579,
++ 580, -1, -1, 583, 584, 585, 586, 587, -1, -1,
++ 590, 591, -1, 593, 594, 595, 596, 597, 598, 599,
++ -1, -1, -1, -1, -1, -1, 606, 607, -1, 609,
++ 610, 611, -1, -1, 614, -1, -1, -1, -1, -1,
++ -1, -1, 622, 623, -1, -1, -1, -1, 628, 629,
++ -1, -1, 632, 633, -1, -1, 636, 637, 5, -1,
++ 7, 8, 9, 10, 11, 12, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, 34, 35, 36,
++ 37, 38, 39, 40, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, 53, 54, 55, 56,
++ -1, 58, 59, 60, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, 100, 101, 102, -1, -1, 105, 106,
++ 107, -1, 109, 110, 111, -1, 113, 114, 115, 116,
++ 117, 118, -1, -1, -1, -1, 123, 124, 125, -1,
++ -1, 128, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, 171, -1, 173, 174, 175, 176,
++ 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
++ 207, 208, -1, 210, 211, 212, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, 223, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, 235, 236,
++ 237, 238, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, 261, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, 280, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, 323, 324, -1, 326,
++ 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, 339, 340, 341, -1, -1, 344, 345, 346,
++ 347, 348, -1, 350, 351, 352, -1, 354, 355, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, 380, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, 395, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ 437, 438, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, 450, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, 509, 510, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ 537, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, 554, 555, 556,
++ 557, 558, 559, 560, 561, 562, 563, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, 583, 584, 585, 586,
++ 587, -1, -1, 590, 591, -1, 593, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, -1, 614, -1, -1,
++ -1, -1, -1, -1, -1, 622, 623, -1, -1, -1,
++ -1, 628, 629, -1, -1, 632, 633, -1, -1, 636,
++ 637, 5, -1, 7, 8, 9, 10, 11, -1, -1,
++ 14, -1, -1, -1, 18, -1, -1, 21, -1, 23,
++ 24, 25, 26, 27, 28, 29, -1, 31, -1, -1,
++ 34, 35, 36, 37, 38, 39, 40, -1, 42, 43,
++ 44, -1, 46, -1, 48, 49, -1, -1, 52, 53,
++ 54, 55, 56, -1, 58, 59, 60, 61, 62, -1,
++ 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
++ 74, 75, 76, 77, 78, 79, -1, 81, 82, 83,
++ 84, 85, 86, 87, 88, -1, 90, 91, -1, 93,
++ 94, 95, 96, 97, -1, 99, 100, 101, 102, -1,
++ -1, 105, 106, 107, -1, 109, 110, 111, -1, 113,
++ 114, 115, 116, 117, 118, -1, -1, -1, -1, 123,
++ 124, 125, -1, -1, 128, 129, -1, 131, -1, -1,
++ -1, 135, -1, 137, 138, 139, 140, -1, -1, -1,
++ 144, -1, -1, 147, 148, 149, -1, -1, -1, 153,
++ -1, 155, 156, -1, 158, 159, 160, -1, 162, 163,
++ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
++ 174, 175, 176, 177, 178, 179, -1, 181, 182, 183,
++ 184, -1, 186, -1, -1, -1, 190, -1, 192, -1,
++ 194, -1, 196, 197, 198, 199, 200, 201, -1, 203,
++ -1, 205, 206, 207, 208, -1, 210, 211, 212, -1,
++ 214, 215, -1, -1, -1, 219, 220, 221, 222, 223,
++ -1, 225, 226, 227, -1, 229, -1, 231, -1, -1,
++ -1, 235, 236, 237, 238, -1, -1, 241, -1, 243,
++ 244, -1, 246, 247, -1, -1, -1, 251, -1, -1,
++ 254, 255, 256, -1, -1, 259, -1, 261, 262, 263,
++ -1, -1, -1, -1, -1, 269, 270, -1, 272, -1,
++ 274, -1, 276, 277, -1, -1, 280, -1, -1, -1,
++ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
++ 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
++ 304, 305, 306, 307, 308, -1, -1, -1, -1, 313,
++ 314, 315, 316, 317, 318, -1, -1, 321, 322, 323,
++ 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
++ 334, 335, 336, 337, -1, 339, 340, 341, -1, -1,
++ 344, 345, 346, 347, 348, 349, 350, 351, 352, -1,
++ 354, 355, -1, 357, 358, 359, -1, 361, 362, 363,
++ 364, -1, 366, 367, -1, -1, -1, -1, -1, -1,
++ -1, -1, 376, 377, 378, -1, 380, 381, -1, 383,
++ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
++ 394, 395, -1, 397, 398, 399, -1, 401, -1, 403,
++ 404, 405, 406, 407, -1, 409, 410, 411, -1, -1,
++ 414, -1, -1, -1, 418, 419, 420, 421, 422, -1,
++ -1, 425, 426, 427, 428, 429, -1, 431, 432, -1,
++ 434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
++ 444, -1, 446, 447, -1, -1, 450, 451, 452, 453,
++ 454, 455, 456, 457, 458, 459, 460, -1, 462, 463,
++ -1, -1, -1, 467, 468, 469, 470, -1, -1, -1,
++ 474, -1, -1, -1, 478, -1, 480, 481, 482, 483,
++ -1, 485, 486, 487, 488, 489, 490, -1, -1, -1,
++ -1, -1, -1, 497, 498, -1, 500, -1, -1, 503,
++ -1, -1, 506, 507, 508, 509, 510, 511, 512, -1,
++ 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
++ 524, 525, 526, 527, 528, -1, 530, -1, 532, 533,
++ 534, 535, -1, 537, 538, 539, -1, 541, 542, 543,
++ 544, -1, -1, -1, -1, -1, 550, 551, 552, -1,
++ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
++ 564, 565, -1, 567, 568, -1, -1, 571, -1, -1,
++ 574, -1, 576, -1, 578, 579, 580, -1, -1, 583,
++ 584, 585, 586, 587, -1, -1, 590, 591, -1, 593,
++ 594, 595, 596, 597, 598, 599, -1, -1, -1, -1,
++ -1, -1, 606, 607, -1, 609, 610, 611, -1, -1,
++ 614, -1, -1, -1, -1, -1, -1, -1, 622, 623,
++ -1, -1, -1, -1, 628, 629, -1, -1, 632, 633,
++ -1, -1, 636, 637, 5, -1, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, 34, 35, 36, 37, 38, 39, 40,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, 53, 54, 55, 56, -1, 58, 59, 60,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, 100,
++ 101, 102, -1, -1, 105, 106, 107, -1, 109, 110,
++ 111, -1, 113, 114, 115, 116, 117, 118, -1, -1,
++ -1, -1, 123, 124, 125, -1, -1, 128, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ 171, -1, 173, 174, 175, 176, 177, 178, 179, -1,
++ 181, 182, 183, 184, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, 205, 206, 207, 208, -1, 210,
++ 211, 212, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, 223, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, 235, 236, 237, 238, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ 261, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, 280,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ 301, 302, 303, 304, 305, 306, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
++ 341, -1, -1, 344, 345, 346, 347, 348, 349, 350,
++ 351, 352, -1, 354, 355, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, 380,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, 395, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, 437, 438, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, 450,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, 509, 510,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, 520,
++ 521, 522, 523, 524, 525, 526, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, 537, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, 554, 555, 556, 557, 558, 559, 560,
++ 561, 562, 563, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, 583, 584, 585, 586, 587, -1, -1, 590,
++ 591, -1, 593, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, -1, 614, -1, -1, -1, -1, -1, -1,
++ -1, 622, 623, -1, -1, -1, -1, 628, 629, -1,
++ -1, 632, 633, -1, -1, 636, 637, 5, -1, 7,
++ 8, 9, 10, 11, -1, -1, 14, -1, -1, -1,
++ 18, -1, -1, 21, -1, 23, 24, 25, 26, 27,
++ 28, 29, -1, 31, -1, -1, 34, 35, 36, 37,
++ 38, 39, 40, -1, 42, 43, 44, -1, 46, -1,
++ 48, 49, -1, -1, 52, 53, 54, 55, 56, -1,
++ 58, 59, 60, 61, 62, -1, 64, 65, 66, 67,
++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
++ 78, 79, -1, 81, 82, 83, 84, 85, 86, 87,
++ 88, -1, 90, 91, -1, 93, 94, 95, 96, 97,
++ -1, 99, 100, 101, 102, -1, -1, 105, 106, 107,
++ -1, 109, 110, 111, -1, 113, 114, 115, 116, 117,
++ 118, -1, -1, -1, -1, 123, 124, 125, -1, -1,
++ 128, 129, -1, 131, -1, -1, -1, 135, -1, 137,
++ 138, 139, 140, -1, -1, -1, 144, -1, -1, 147,
++ 148, 149, -1, -1, -1, 153, -1, 155, 156, -1,
++ 158, 159, 160, -1, 162, 163, -1, 165, 166, 167,
++ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
++ 178, 179, -1, 181, 182, 183, 184, -1, 186, -1,
++ -1, -1, 190, -1, 192, -1, 194, -1, 196, 197,
++ 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
++ 208, -1, 210, 211, 212, -1, 214, 215, -1, -1,
++ -1, 219, 220, 221, 222, 223, -1, 225, 226, 227,
++ -1, 229, -1, 231, -1, -1, -1, 235, 236, 237,
++ 238, -1, -1, 241, -1, 243, 244, -1, 246, 247,
++ -1, -1, -1, 251, -1, -1, 254, 255, 256, -1,
++ -1, 259, -1, 261, 262, 263, -1, -1, -1, -1,
++ -1, 269, 270, -1, 272, -1, 274, -1, 276, 277,
++ -1, -1, 280, -1, -1, -1, 284, 285, 286, 287,
++ 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
++ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
++ 308, -1, -1, -1, -1, 313, 314, 315, 316, 317,
++ 318, -1, -1, 321, 322, 323, 324, -1, 326, 327,
++ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
++ -1, 339, 340, 341, -1, -1, 344, 345, 346, 347,
++ 348, 349, 350, 351, 352, -1, 354, 355, -1, 357,
++ 358, 359, -1, 361, 362, 363, 364, -1, 366, 367,
++ -1, -1, -1, -1, -1, -1, -1, -1, 376, 377,
++ 378, -1, 380, 381, -1, 383, 384, 385, 386, 387,
++ 388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
++ 398, 399, -1, 401, -1, 403, 404, 405, 406, 407,
++ -1, 409, 410, 411, -1, -1, 414, -1, -1, -1,
++ 418, 419, 420, 421, 422, -1, -1, 425, 426, 427,
++ 428, 429, -1, 431, 432, -1, 434, 435, 436, 437,
++ 438, 439, -1, 441, -1, 443, 444, -1, 446, 447,
++ -1, -1, 450, 451, 452, 453, 454, 455, 456, 457,
++ 458, 459, 460, -1, 462, 463, -1, -1, -1, 467,
++ 468, 469, 470, -1, -1, -1, 474, -1, -1, -1,
++ 478, -1, 480, 481, 482, 483, -1, 485, 486, 487,
++ 488, 489, 490, -1, -1, -1, -1, -1, -1, 497,
++ 498, -1, 500, -1, -1, 503, -1, -1, 506, 507,
++ 508, 509, 510, 511, 512, -1, 514, 515, 516, 517,
++ 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
++ 528, -1, 530, -1, 532, 533, 534, 535, -1, 537,
++ 538, 539, -1, 541, 542, 543, 544, -1, -1, -1,
++ -1, -1, 550, 551, 552, -1, 554, 555, 556, 557,
++ 558, 559, 560, 561, 562, 563, 564, 565, -1, 567,
++ 568, -1, -1, 571, -1, -1, 574, -1, 576, -1,
++ 578, 579, 580, -1, -1, 583, 584, 585, 586, 587,
++ -1, -1, 590, 591, -1, 593, 594, 595, 596, 597,
++ 598, 599, -1, -1, -1, -1, -1, -1, 606, 607,
++ -1, 609, 610, 611, -1, -1, 614, -1, -1, -1,
++ -1, -1, -1, -1, 622, 623, -1, -1, -1, -1,
++ 628, 629, -1, -1, 632, 633, -1, -1, 636, 637,
++ 5, -1, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, 34,
++ 35, 36, 37, 38, 39, 40, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, 53, 54,
++ 55, 56, -1, 58, 59, 60, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
++ 105, 106, 107, -1, 109, 110, 111, -1, 113, 114,
++ 115, 116, 117, 118, -1, -1, -1, -1, 123, 124,
++ 125, -1, -1, 128, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
++ 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ 205, 206, 207, 208, -1, 210, 211, 212, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, 223, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ 235, 236, 237, 238, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, 261, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, 280, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
++ 305, 306, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, 323, 324,
++ -1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, 339, 340, 341, -1, -1, 344,
++ 345, 346, 347, 348, 349, 350, 351, 352, -1, 354,
++ 355, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, 380, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ 395, -1, 397, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, 450, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, 509, 510, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
++ 525, 526, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, 537, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, 554,
++ 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, 583, 584,
++ 585, 586, 587, -1, -1, 590, 591, -1, 593, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, -1, 614,
++ -1, -1, -1, -1, -1, -1, -1, 622, 623, -1,
++ -1, -1, -1, 628, 629, -1, -1, 632, 633, -1,
++ -1, 636, 637, 5, -1, 7, 8, 9, 10, 11,
++ -1, -1, 14, -1, -1, -1, 18, -1, -1, 21,
++ -1, 23, 24, 25, 26, 27, 28, 29, -1, 31,
++ -1, -1, 34, 35, 36, 37, 38, 39, 40, -1,
++ 42, 43, 44, -1, 46, -1, 48, 49, -1, -1,
++ 52, 53, 54, 55, 56, -1, 58, 59, 60, 61,
++ 62, -1, 64, 65, 66, 67, 68, 69, 70, -1,
++ 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
++ 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
++ -1, 93, 94, 95, 96, 97, -1, 99, 100, 101,
++ 102, -1, -1, 105, 106, 107, -1, 109, 110, 111,
++ -1, 113, 114, 115, 116, 117, 118, -1, -1, -1,
++ -1, 123, 124, 125, -1, -1, 128, 129, -1, 131,
++ -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
++ -1, -1, 144, -1, -1, 147, 148, 149, -1, -1,
++ -1, 153, -1, 155, 156, -1, 158, 159, 160, -1,
++ 162, 163, -1, 165, 166, 167, 168, 169, 170, 171,
++ -1, 173, 174, 175, 176, 177, 178, 179, -1, 181,
++ 182, 183, 184, -1, 186, -1, -1, -1, 190, -1,
++ 192, -1, 194, -1, 196, 197, 198, 199, 200, 201,
++ -1, 203, -1, 205, 206, 207, 208, -1, 210, 211,
++ 212, -1, 214, 215, -1, -1, -1, 219, 220, 221,
++ 222, 223, -1, 225, 226, 227, -1, 229, -1, 231,
++ -1, -1, -1, 235, 236, 237, 238, -1, -1, 241,
++ -1, 243, 244, -1, 246, 247, -1, -1, -1, 251,
++ -1, -1, 254, 255, 256, -1, -1, 259, -1, 261,
++ 262, 263, -1, -1, -1, -1, -1, 269, 270, -1,
++ 272, -1, 274, -1, 276, 277, -1, -1, 280, -1,
++ -1, -1, 284, 285, 286, 287, 288, 289, 290, 291,
++ 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
++ 302, 303, 304, 305, 306, 307, 308, 309, -1, -1,
++ -1, 313, 314, 315, 316, 317, 318, -1, -1, 321,
++ 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
++ 332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
++ -1, -1, 344, 345, 346, 347, 348, -1, 350, 351,
++ 352, -1, 354, 355, -1, 357, 358, 359, -1, 361,
++ 362, 363, 364, -1, 366, 367, -1, -1, -1, -1,
++ -1, -1, -1, -1, 376, 377, 378, -1, 380, 381,
++ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
++ 392, 393, 394, 395, -1, 397, 398, 399, -1, 401,
++ -1, 403, 404, 405, 406, 407, -1, 409, 410, 411,
++ -1, -1, 414, -1, -1, -1, 418, 419, 420, 421,
++ 422, -1, -1, 425, 426, 427, 428, 429, -1, 431,
++ 432, -1, 434, 435, 436, 437, 438, 439, -1, 441,
++ -1, 443, 444, -1, 446, 447, -1, -1, 450, 451,
++ 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
++ 462, 463, -1, -1, -1, 467, 468, 469, 470, -1,
++ -1, -1, 474, -1, -1, -1, 478, -1, 480, 481,
++ 482, 483, -1, 485, 486, 487, 488, 489, 490, -1,
++ -1, -1, -1, -1, -1, 497, 498, -1, 500, -1,
++ -1, 503, -1, -1, 506, 507, 508, 509, 510, 511,
++ 512, -1, 514, 515, 516, 517, 518, 519, 520, 521,
++ 522, 523, 524, 525, 526, 527, 528, -1, 530, -1,
++ 532, 533, 534, 535, -1, 537, 538, 539, -1, 541,
++ 542, 543, 544, -1, -1, -1, -1, -1, 550, 551,
++ 552, -1, 554, 555, 556, 557, 558, 559, 560, 561,
++ 562, 563, 564, 565, -1, 567, 568, -1, -1, 571,
++ -1, -1, 574, -1, 576, -1, 578, 579, 580, -1,
++ -1, 583, 584, 585, 586, 587, -1, -1, 590, 591,
++ -1, 593, 594, 595, 596, 597, 598, 599, -1, -1,
++ -1, -1, -1, -1, 606, 607, -1, 609, 610, 611,
++ -1, -1, 614, -1, -1, -1, -1, -1, -1, -1,
++ 622, 623, -1, -1, -1, -1, 628, 629, -1, -1,
++ 632, 633, -1, -1, 636, 637, 5, -1, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, 34, 35, 36, 37, 38,
++ 39, 40, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, 53, 54, 55, 56, -1, 58,
++ 59, 60, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, 100, 101, 102, -1, -1, 105, 106, 107, -1,
++ 109, 110, 111, -1, 113, 114, 115, 116, 117, 118,
++ -1, -1, -1, -1, 123, 124, 125, -1, -1, 128,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
++ 179, -1, 181, 182, 183, 184, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, 205, 206, 207, 208,
++ -1, 210, 211, 212, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, 223, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, 235, 236, 237, 238,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, 261, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, 280, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, 323, 324, -1, 326, 327, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ 339, 340, 341, -1, -1, 344, 345, 346, 347, 348,
++ -1, 350, 351, 352, -1, 354, 355, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, 380, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, 437, 438,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, 450, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ 509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, 537, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, 554, 555, 556, 557, 558,
++ 559, 560, 561, 562, 563, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, 583, 584, 585, 586, 587, -1,
++ -1, 590, 591, -1, 593, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, -1, 614, -1, -1, -1, -1,
++ -1, -1, -1, 622, 623, -1, -1, -1, -1, 628,
++ 629, -1, -1, 632, 633, -1, -1, 636, 637, 5,
++ -1, 7, 8, 9, 10, 11, -1, -1, 14, -1,
++ -1, -1, 18, -1, -1, 21, -1, 23, 24, 25,
++ 26, 27, 28, 29, -1, 31, -1, -1, 34, 35,
++ 36, 37, 38, 39, 40, -1, 42, 43, 44, -1,
++ 46, -1, 48, 49, -1, -1, 52, 53, 54, 55,
++ 56, -1, 58, 59, 60, 61, 62, -1, 64, 65,
++ 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
++ 76, 77, 78, 79, -1, 81, 82, 83, 84, 85,
++ 86, 87, 88, -1, 90, 91, -1, 93, 94, 95,
++ 96, 97, -1, 99, 100, 101, 102, -1, -1, 105,
++ 106, 107, -1, 109, 110, 111, -1, 113, 114, 115,
++ 116, 117, 118, -1, -1, -1, -1, 123, 124, 125,
++ -1, -1, 128, 129, -1, 131, -1, -1, -1, 135,
++ -1, 137, 138, 139, 140, -1, -1, -1, 144, -1,
++ -1, 147, 148, 149, -1, -1, -1, 153, -1, 155,
++ 156, -1, 158, 159, 160, -1, 162, 163, -1, 165,
++ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
++ 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
++ 186, -1, -1, -1, 190, -1, 192, -1, 194, -1,
++ 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
++ 206, 207, 208, -1, 210, 211, 212, -1, 214, 215,
++ -1, -1, -1, 219, 220, 221, 222, 223, -1, 225,
++ 226, 227, -1, 229, -1, 231, -1, -1, -1, 235,
++ 236, 237, 238, -1, -1, 241, -1, 243, 244, -1,
++ 246, 247, -1, -1, -1, 251, -1, -1, 254, 255,
++ 256, -1, -1, 259, -1, 261, 262, 263, -1, -1,
++ -1, -1, -1, 269, 270, -1, 272, -1, 274, -1,
++ 276, 277, -1, -1, 280, -1, -1, -1, 284, 285,
++ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
++ 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
++ 306, 307, 308, -1, -1, -1, -1, 313, 314, 315,
++ 316, 317, 318, -1, -1, 321, 322, 323, 324, -1,
++ 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
++ 336, 337, -1, 339, 340, 341, -1, -1, 344, 345,
++ 346, 347, 348, -1, 350, 351, 352, -1, 354, 355,
++ -1, 357, 358, 359, -1, 361, 362, 363, 364, -1,
++ 366, 367, -1, -1, -1, -1, -1, -1, -1, -1,
++ 376, 377, 378, -1, 380, 381, -1, 383, 384, 385,
++ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
++ -1, 397, 398, 399, -1, 401, -1, 403, 404, 405,
++ 406, 407, -1, 409, 410, 411, -1, -1, 414, -1,
++ -1, -1, 418, 419, 420, 421, 422, -1, -1, 425,
++ 426, 427, 428, 429, -1, 431, 432, -1, 434, 435,
++ 436, 437, 438, 439, -1, 441, -1, 443, 444, -1,
++ 446, 447, -1, -1, 450, 451, 452, 453, 454, 455,
++ 456, 457, 458, 459, 460, -1, 462, 463, -1, -1,
++ -1, 467, 468, 469, 470, -1, -1, -1, 474, -1,
++ -1, -1, 478, -1, 480, 481, 482, 483, -1, 485,
++ 486, 487, 488, 489, 490, -1, -1, -1, -1, -1,
++ -1, 497, 498, -1, 500, -1, -1, 503, -1, -1,
++ 506, 507, 508, 509, 510, 511, 512, -1, 514, 515,
++ 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
++ 526, 527, 528, -1, 530, -1, 532, 533, 534, 535,
++ -1, 537, 538, 539, -1, 541, 542, 543, 544, -1,
++ -1, -1, -1, -1, 550, 551, 552, -1, 554, 555,
++ 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
++ -1, 567, 568, -1, -1, 571, -1, -1, 574, -1,
++ 576, -1, 578, 579, 580, -1, -1, 583, 584, 585,
++ 586, 587, -1, -1, 590, 591, -1, 593, 594, 595,
++ 596, 597, 598, 599, -1, -1, -1, -1, -1, -1,
++ 606, 607, -1, 609, 610, 611, -1, -1, 614, -1,
++ -1, -1, -1, -1, -1, -1, 622, 623, -1, -1,
++ -1, -1, 628, 629, -1, -1, 632, 633, -1, -1,
++ 636, 637, 5, -1, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, 34, 35, 36, 37, 38, 39, 40, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
++ -1, -1, 105, 106, 107, -1, 109, 110, 111, -1,
++ 113, 114, 115, 116, 117, 118, -1, -1, -1, -1,
++ 123, 124, 125, -1, -1, 128, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, 171, -1,
++ 173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
++ 183, 184, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, 205, 206, 207, 208, -1, 210, 211, 212,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ 223, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, 235, 236, 237, 238, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, 261, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, 280, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
++ 303, 304, 305, 306, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, 339, 340, 341, -1,
++ -1, 344, 345, 346, 347, 348, -1, 350, 351, 352,
++ -1, 354, 355, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, 380, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, 395, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, 437, 438, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, 450, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, 509, 510, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, 520, 521, 522,
++ 523, 524, 525, 526, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, 537, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, 554, 555, 556, 557, 558, 559, 560, 561, 562,
++ 563, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ 583, 584, 585, 586, 587, -1, -1, 590, 591, -1,
++ 593, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ -1, 614, -1, -1, -1, -1, -1, -1, -1, 622,
++ 623, -1, -1, -1, -1, 628, 629, -1, -1, 632,
++ 633, -1, -1, 636, 637, 5, -1, 7, 8, 9,
++ 10, 11, -1, -1, 14, -1, -1, -1, 18, -1,
++ -1, 21, -1, 23, 24, 25, 26, 27, 28, 29,
++ -1, 31, -1, -1, -1, 35, 36, -1, -1, 39,
++ -1, -1, 42, 43, 44, -1, 46, -1, 48, 49,
++ -1, -1, 52, -1, -1, 55, 56, -1, 58, 59,
++ -1, 61, 62, -1, 64, 65, 66, 67, 68, 69,
++ 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
++ -1, 81, 82, 83, 84, 85, 86, 87, 88, -1,
++ 90, 91, -1, 93, 94, 95, 96, 97, -1, 99,
++ -1, -1, 102, -1, -1, 105, -1, -1, -1, 109,
++ -1, -1, -1, 113, 114, 115, -1, -1, 118, -1,
++ -1, -1, -1, 123, 124, 125, -1, -1, -1, 129,
++ -1, 131, -1, -1, -1, 135, -1, 137, 138, 139,
++ 140, -1, -1, -1, 144, -1, -1, 147, 148, 149,
++ -1, -1, -1, 153, -1, 155, 156, -1, 158, 159,
++ 160, -1, 162, 163, -1, 165, 166, 167, 168, 169,
++ 170, -1, -1, 173, 174, 175, -1, 177, 178, 179,
++ -1, 181, 182, 183, 184, -1, 186, -1, -1, -1,
++ 190, -1, 192, -1, 194, -1, 196, 197, 198, 199,
++ 200, 201, -1, 203, -1, -1, 206, 207, 208, -1,
++ 210, 211, 212, -1, 214, 215, -1, -1, -1, 219,
++ 220, 221, 222, -1, -1, 225, 226, 227, -1, 229,
++ -1, 231, -1, -1, -1, -1, 236, 237, -1, -1,
++ -1, 241, -1, 243, 244, -1, 246, 247, -1, -1,
++ -1, 251, -1, -1, 254, 255, 256, -1, -1, 259,
++ -1, -1, 262, 263, -1, -1, -1, -1, -1, 269,
++ 270, -1, 272, -1, 274, -1, 276, 277, -1, -1,
++ 280, -1, -1, -1, 284, 285, 286, 287, 288, 289,
++ 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
++ 300, -1, 302, 303, 304, 305, -1, 307, 308, -1,
++ -1, -1, -1, 313, 314, 315, 316, 317, 318, -1,
++ -1, 321, 322, -1, 324, -1, 326, -1, 328, 329,
++ 330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
++ 340, 341, -1, -1, 344, 345, 346, 347, -1, -1,
++ -1, 351, 352, -1, 354, 355, -1, 357, 358, 359,
++ -1, 361, 362, 363, 364, -1, 366, 367, -1, -1,
++ -1, -1, -1, -1, -1, -1, 376, 377, 378, -1,
++ -1, 381, -1, 383, 384, 385, 386, 387, 388, 389,
++ 390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
++ -1, 401, -1, 403, 404, 405, 406, 407, -1, 409,
++ 410, 411, -1, -1, 414, -1, -1, -1, 418, 419,
++ 420, 421, 422, -1, -1, 425, 426, 427, 428, 429,
++ -1, 431, 432, -1, 434, 435, 436, -1, -1, 439,
++ -1, 441, -1, 443, 444, -1, 446, 447, -1, -1,
++ -1, 451, 452, 453, 454, 455, 456, 457, 458, 459,
++ 460, -1, 462, 463, -1, -1, -1, 467, 468, 469,
++ 470, -1, -1, -1, 474, -1, -1, -1, 478, -1,
++ 480, 481, 482, 483, -1, 485, 486, 487, 488, 489,
++ 490, -1, -1, -1, -1, -1, -1, 497, 498, -1,
++ 500, -1, -1, 503, -1, -1, 506, 507, 508, -1,
++ -1, 511, 512, -1, 514, 515, 516, 517, 518, 519,
++ -1, -1, 522, 523, 524, 525, -1, 527, 528, -1,
++ 530, -1, 532, 533, 534, 535, -1, 537, 538, 539,
++ -1, 541, 542, 543, 544, -1, -1, -1, -1, -1,
++ 550, 551, 552, -1, -1, 555, 556, 557, 558, 559,
++ 560, 561, 562, 563, 564, 565, -1, 567, 568, -1,
++ -1, 571, -1, -1, 574, -1, 576, -1, 578, 579,
++ 580, -1, -1, -1, -1, -1, -1, 587, -1, -1,
++ 590, -1, -1, -1, 594, 595, 596, 597, 598, 599,
++ -1, -1, -1, -1, -1, -1, 606, 607, -1, 609,
++ 610, 611, -1, -1, 614, -1, -1, -1, -1, -1,
++ -1, -1, 5, -1, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, 636, 637, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ 193, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, 228, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, 252,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, -1, 265, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, 464, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, 491, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ -1, 614, -1, -1, -1, -1, -1, 5, -1, 7,
++ 8, 9, 10, 11, -1, -1, 14, -1, -1, -1,
++ 18, -1, -1, 21, 637, 23, 24, 25, 26, 27,
++ 28, 29, -1, 31, -1, -1, -1, 35, -1, -1,
++ -1, 39, -1, -1, 42, 43, 44, -1, 46, -1,
++ 48, 49, -1, -1, 52, -1, -1, 55, 56, -1,
++ 58, 59, -1, 61, 62, -1, 64, 65, 66, 67,
++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
++ 78, 79, -1, 81, 82, 83, 84, 85, 86, 87,
++ 88, -1, 90, 91, 92, 93, 94, 95, 96, 97,
++ -1, 99, -1, -1, 102, -1, -1, 105, -1, -1,
++ -1, 109, -1, -1, -1, 113, 114, 115, -1, -1,
++ 118, -1, -1, -1, -1, 123, 124, -1, -1, -1,
++ -1, 129, -1, 131, -1, -1, -1, 135, -1, 137,
++ 138, 139, 140, -1, -1, -1, 144, -1, -1, 147,
++ 148, 149, -1, -1, -1, 153, -1, 155, 156, -1,
++ 158, 159, 160, -1, 162, 163, -1, 165, 166, 167,
++ 168, 169, 170, -1, -1, 173, 174, 175, -1, -1,
++ 178, 179, -1, 181, 182, 183, -1, -1, 186, -1,
++ -1, -1, 190, -1, 192, 193, 194, -1, 196, 197,
++ 198, 199, 200, 201, -1, 203, -1, -1, 206, 207,
++ 208, -1, 210, -1, -1, -1, 214, 215, -1, -1,
++ -1, 219, 220, 221, 222, -1, -1, 225, 226, 227,
++ 228, 229, -1, 231, -1, -1, -1, -1, 236, 237,
++ -1, -1, -1, 241, -1, 243, 244, -1, 246, 247,
++ -1, -1, -1, 251, 252, -1, 254, 255, 256, -1,
++ -1, 259, -1, -1, 262, 263, -1, -1, -1, -1,
++ -1, 269, 270, -1, 272, -1, 274, -1, 276, 277,
++ -1, -1, -1, -1, -1, -1, 284, 285, 286, 287,
++ 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
++ 298, 299, 300, -1, 302, 303, 304, 305, -1, 307,
++ 308, -1, -1, -1, -1, 313, 314, 315, 316, 317,
++ 318, -1, -1, 321, 322, -1, 324, -1, 326, -1,
++ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
++ -1, -1, 340, 341, -1, -1, 344, 345, 346, 347,
++ -1, -1, -1, 351, 352, -1, -1, -1, -1, 357,
++ 358, 359, -1, 361, 362, 363, 364, -1, 366, 367,
++ -1, -1, -1, -1, -1, -1, -1, -1, 376, 377,
++ 378, -1, -1, 381, -1, 383, 384, 385, 386, 387,
++ 388, 389, 390, 391, 392, 393, 394, -1, -1, 397,
++ 398, 399, -1, 401, -1, 403, 404, 405, 406, 407,
++ -1, 409, 410, 411, -1, -1, 414, -1, -1, -1,
++ 418, 419, 420, 421, 422, -1, -1, 425, 426, 427,
++ 428, 429, -1, 431, 432, -1, 434, 435, 436, -1,
++ -1, 439, -1, 441, -1, 443, 444, -1, 446, 447,
++ -1, -1, -1, 451, 452, 453, 454, 455, 456, 457,
++ 458, 459, 460, -1, 462, 463, -1, -1, -1, 467,
++ 468, 469, 470, -1, -1, -1, 474, -1, -1, -1,
++ 478, -1, 480, 481, 482, 483, -1, 485, 486, 487,
++ 488, 489, 490, 491, -1, -1, -1, -1, -1, 497,
++ 498, -1, 500, -1, -1, 503, -1, -1, 506, 507,
++ 508, -1, -1, 511, 512, -1, 514, 515, 516, 517,
++ 518, 519, -1, -1, 522, 523, 524, 525, -1, 527,
++ 528, -1, 530, -1, 532, 533, 534, 535, -1, -1,
++ 538, 539, -1, 541, 542, 543, 544, -1, -1, -1,
++ -1, -1, 550, 551, 552, -1, -1, -1, 556, 557,
++ 558, 559, -1, 561, 562, -1, 564, 565, -1, 567,
++ 568, -1, -1, 571, -1, -1, 574, -1, 576, -1,
++ 578, 579, 580, -1, -1, -1, -1, -1, -1, 587,
++ -1, -1, 590, -1, -1, -1, 594, 595, 596, 597,
++ 598, 599, -1, -1, -1, -1, -1, -1, 606, 607,
++ -1, 609, 610, 611, -1, -1, 614, -1, -1, -1,
++ -1, -1, 5, -1, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, 637,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, 464, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ -1, 614, -1, -1, -1, -1, -1, 5, -1, 7,
++ 8, 9, 10, 11, -1, -1, 14, 630, -1, -1,
++ 18, -1, -1, 21, 637, 23, 24, 25, 26, 27,
++ 28, 29, -1, 31, -1, -1, -1, 35, -1, -1,
++ -1, 39, -1, -1, 42, 43, 44, -1, 46, -1,
++ 48, 49, -1, -1, 52, -1, -1, 55, 56, -1,
++ 58, 59, -1, 61, 62, -1, 64, 65, 66, 67,
++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
++ 78, 79, -1, 81, 82, 83, 84, 85, 86, 87,
++ 88, -1, 90, 91, -1, 93, 94, 95, 96, 97,
++ -1, 99, -1, -1, 102, -1, -1, 105, -1, -1,
++ -1, 109, -1, -1, -1, 113, 114, 115, -1, -1,
++ 118, -1, -1, -1, -1, 123, 124, -1, -1, -1,
++ -1, 129, -1, 131, -1, -1, -1, 135, -1, 137,
++ 138, 139, 140, -1, -1, -1, 144, -1, -1, 147,
++ 148, 149, -1, -1, -1, 153, -1, 155, 156, -1,
++ 158, 159, 160, -1, 162, 163, -1, 165, 166, 167,
++ 168, 169, 170, -1, -1, 173, 174, 175, -1, -1,
++ 178, 179, -1, 181, 182, 183, -1, -1, 186, -1,
++ -1, -1, 190, -1, 192, -1, 194, -1, 196, 197,
++ 198, 199, 200, 201, -1, 203, -1, -1, 206, 207,
++ 208, -1, 210, -1, -1, -1, 214, 215, -1, -1,
++ -1, 219, 220, 221, 222, -1, -1, 225, 226, 227,
++ -1, 229, -1, 231, -1, -1, -1, -1, 236, 237,
++ -1, -1, -1, 241, -1, 243, 244, -1, 246, 247,
++ -1, -1, -1, 251, -1, -1, 254, 255, 256, -1,
++ -1, 259, -1, -1, 262, 263, -1, -1, -1, -1,
++ -1, 269, 270, -1, 272, -1, 274, -1, 276, 277,
++ -1, -1, -1, -1, -1, -1, 284, 285, 286, 287,
++ 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
++ 298, 299, 300, -1, 302, 303, 304, 305, -1, 307,
++ 308, -1, -1, -1, -1, 313, 314, 315, 316, 317,
++ 318, -1, -1, 321, 322, -1, 324, -1, 326, -1,
++ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
++ -1, -1, 340, 341, -1, -1, 344, 345, 346, 347,
++ -1, -1, -1, 351, 352, -1, -1, -1, -1, 357,
++ 358, 359, -1, 361, 362, 363, 364, -1, 366, 367,
++ -1, -1, -1, -1, -1, -1, -1, -1, 376, 377,
++ 378, -1, -1, 381, -1, 383, 384, 385, 386, 387,
++ 388, 389, 390, 391, 392, 393, 394, -1, -1, 397,
++ 398, 399, -1, 401, -1, 403, 404, 405, 406, 407,
++ -1, 409, 410, 411, -1, -1, 414, -1, -1, -1,
++ 418, 419, 420, 421, 422, -1, -1, 425, 426, 427,
++ 428, 429, -1, 431, 432, -1, 434, 435, 436, -1,
++ -1, 439, -1, 441, -1, 443, 444, -1, 446, 447,
++ -1, -1, -1, 451, 452, 453, 454, 455, 456, 457,
++ 458, 459, 460, -1, 462, 463, -1, -1, -1, 467,
++ 468, 469, 470, -1, -1, -1, 474, -1, -1, -1,
++ 478, -1, 480, 481, 482, 483, -1, 485, 486, 487,
++ 488, 489, 490, -1, -1, -1, -1, -1, -1, 497,
++ 498, -1, 500, -1, -1, 503, -1, -1, 506, 507,
++ 508, -1, -1, 511, 512, -1, 514, 515, 516, 517,
++ 518, 519, -1, -1, 522, 523, 524, 525, -1, 527,
++ 528, -1, 530, -1, 532, 533, 534, 535, -1, -1,
++ 538, 539, -1, 541, 542, 543, 544, -1, -1, -1,
++ -1, -1, 550, 551, 552, -1, -1, -1, 556, 557,
++ 558, 559, -1, 561, 562, -1, 564, 565, -1, 567,
++ 568, -1, -1, 571, -1, -1, 574, -1, 576, -1,
++ 578, 579, 580, -1, -1, -1, -1, -1, -1, 587,
++ -1, -1, 590, -1, -1, -1, 594, 595, 596, 597,
++ 598, 599, -1, -1, -1, -1, -1, -1, 606, 607,
++ -1, 609, 610, 611, -1, -1, 614, -1, -1, -1,
++ -1, -1, -1, -1, 5, -1, 7, 8, 9, 10,
++ 11, -1, 630, 14, -1, -1, -1, 18, 636, 637,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, -1, 614, -1, -1, -1, -1, -1, -1,
++ -1, 5, -1, 7, 8, 9, 10, 11, 629, -1,
++ 14, -1, -1, -1, 18, -1, 637, 21, -1, 23,
++ 24, 25, 26, 27, 28, 29, -1, 31, -1, -1,
++ -1, 35, -1, -1, -1, 39, -1, -1, 42, 43,
++ 44, -1, 46, -1, 48, 49, -1, -1, 52, -1,
++ -1, 55, 56, -1, 58, 59, -1, 61, 62, -1,
++ 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
++ 74, 75, 76, 77, 78, 79, -1, 81, 82, 83,
++ 84, 85, 86, 87, 88, -1, 90, 91, -1, 93,
++ 94, 95, 96, 97, -1, 99, -1, -1, 102, -1,
++ -1, 105, -1, -1, -1, 109, -1, -1, -1, 113,
++ 114, 115, -1, -1, 118, -1, -1, -1, -1, 123,
++ 124, -1, -1, -1, -1, 129, -1, 131, -1, -1,
++ -1, 135, -1, 137, 138, 139, 140, -1, -1, -1,
++ 144, -1, -1, 147, 148, 149, -1, -1, -1, 153,
++ -1, 155, 156, -1, 158, 159, 160, -1, 162, 163,
++ -1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
++ 174, 175, -1, -1, 178, 179, -1, 181, 182, 183,
++ -1, -1, 186, -1, -1, -1, 190, -1, 192, -1,
++ 194, -1, 196, 197, 198, 199, 200, 201, -1, 203,
++ -1, -1, 206, 207, 208, -1, 210, -1, -1, -1,
++ 214, 215, -1, -1, -1, 219, 220, 221, 222, -1,
++ -1, 225, 226, 227, -1, 229, -1, 231, -1, -1,
++ -1, -1, 236, 237, -1, 239, -1, 241, -1, 243,
++ 244, -1, 246, 247, -1, -1, -1, 251, -1, -1,
++ 254, 255, 256, -1, -1, 259, -1, -1, 262, 263,
++ -1, -1, -1, -1, -1, 269, 270, -1, 272, -1,
++ 274, -1, 276, 277, -1, -1, -1, -1, -1, -1,
++ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
++ 294, 295, 296, -1, 298, 299, 300, -1, 302, 303,
++ 304, 305, -1, 307, 308, -1, -1, -1, -1, 313,
++ 314, 315, 316, 317, 318, -1, -1, 321, 322, -1,
++ 324, -1, 326, -1, 328, 329, 330, 331, 332, 333,
++ 334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
++ 344, 345, 346, 347, -1, -1, -1, 351, 352, -1,
++ -1, -1, -1, 357, 358, 359, -1, 361, 362, 363,
++ 364, -1, 366, 367, -1, -1, -1, -1, -1, -1,
++ -1, -1, 376, 377, 378, -1, -1, 381, -1, 383,
++ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
++ 394, -1, -1, 397, 398, 399, -1, 401, -1, 403,
++ 404, 405, 406, 407, -1, 409, 410, 411, -1, -1,
++ 414, -1, -1, -1, 418, 419, 420, 421, 422, -1,
++ -1, 425, 426, 427, 428, 429, -1, 431, 432, -1,
++ 434, 435, 436, -1, -1, 439, -1, 441, -1, 443,
++ 444, -1, 446, 447, -1, -1, -1, 451, 452, 453,
++ 454, 455, 456, 457, 458, 459, 460, -1, 462, 463,
++ -1, -1, -1, 467, 468, 469, 470, -1, -1, -1,
++ 474, -1, -1, -1, 478, -1, 480, 481, 482, 483,
++ -1, 485, 486, 487, 488, 489, 490, -1, -1, -1,
++ -1, -1, -1, 497, 498, -1, 500, -1, -1, 503,
++ -1, -1, 506, 507, 508, -1, -1, 511, 512, -1,
++ 514, 515, 516, 517, 518, 519, -1, -1, 522, 523,
++ 524, 525, -1, 527, 528, -1, 530, -1, 532, 533,
++ 534, 535, -1, -1, 538, 539, -1, 541, 542, 543,
++ 544, -1, -1, -1, -1, -1, 550, 551, 552, -1,
++ -1, -1, 556, 557, 558, 559, -1, 561, 562, -1,
++ 564, 565, -1, 567, 568, -1, -1, 571, -1, -1,
++ 574, -1, 576, -1, 578, 579, 580, -1, -1, -1,
++ -1, -1, -1, 587, -1, -1, 590, -1, -1, -1,
++ 594, 595, 596, 597, 598, 599, -1, -1, -1, -1,
++ -1, -1, 606, 607, -1, 609, 610, 611, -1, -1,
++ 614, -1, -1, -1, -1, -1, 5, -1, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, 637, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, -1, -1, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, -1, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, -1, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, -1, 614, -1, -1, -1, -1,
++ -1, -1, -1, -1, 5, 624, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, 637, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, -1, 614, -1, -1, -1, -1, -1, -1,
++ -1, 5, -1, 7, 8, 9, 10, 11, 629, -1,
++ 14, -1, -1, -1, 18, -1, 637, 21, -1, 23,
++ 24, 25, 26, 27, 28, 29, -1, 31, -1, -1,
++ -1, 35, -1, -1, -1, 39, -1, -1, 42, 43,
++ 44, -1, 46, -1, 48, 49, -1, -1, 52, -1,
++ -1, 55, 56, -1, 58, 59, -1, 61, 62, -1,
++ 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
++ 74, 75, 76, 77, 78, 79, -1, 81, 82, 83,
++ 84, 85, 86, 87, 88, -1, 90, 91, -1, 93,
++ 94, 95, 96, 97, -1, 99, -1, -1, 102, -1,
++ -1, 105, -1, -1, -1, 109, -1, -1, -1, 113,
++ 114, 115, -1, -1, 118, -1, -1, -1, -1, 123,
++ 124, -1, -1, -1, -1, 129, -1, 131, -1, -1,
++ -1, 135, -1, 137, 138, 139, 140, -1, -1, -1,
++ 144, -1, -1, 147, 148, 149, -1, -1, -1, 153,
++ -1, 155, 156, -1, 158, 159, 160, -1, 162, 163,
++ -1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
++ 174, 175, -1, -1, 178, 179, -1, 181, 182, 183,
++ -1, -1, 186, -1, -1, -1, 190, -1, 192, -1,
++ 194, -1, 196, 197, 198, 199, 200, 201, -1, 203,
++ -1, -1, 206, 207, 208, -1, 210, -1, -1, -1,
++ 214, 215, -1, -1, -1, 219, 220, 221, 222, -1,
++ -1, 225, 226, 227, -1, 229, -1, 231, -1, -1,
++ -1, -1, 236, 237, -1, -1, -1, 241, -1, 243,
++ 244, -1, 246, 247, -1, -1, -1, 251, -1, -1,
++ 254, 255, 256, -1, -1, 259, -1, -1, 262, 263,
++ -1, -1, -1, -1, -1, 269, 270, -1, 272, -1,
++ 274, -1, 276, 277, -1, -1, -1, -1, -1, -1,
++ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
++ 294, 295, 296, -1, 298, 299, 300, -1, 302, 303,
++ 304, 305, -1, 307, 308, -1, -1, -1, -1, 313,
++ 314, 315, 316, 317, 318, -1, -1, 321, 322, -1,
++ 324, -1, 326, -1, 328, 329, 330, 331, 332, 333,
++ 334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
++ 344, 345, 346, 347, -1, -1, -1, 351, 352, -1,
++ -1, -1, -1, 357, 358, 359, -1, 361, 362, 363,
++ 364, -1, 366, 367, -1, -1, -1, -1, -1, -1,
++ -1, -1, 376, 377, 378, -1, -1, 381, -1, 383,
++ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
++ 394, -1, -1, 397, 398, 399, -1, 401, -1, 403,
++ 404, 405, 406, 407, -1, 409, 410, 411, -1, -1,
++ 414, -1, -1, -1, 418, 419, 420, 421, 422, -1,
++ -1, 425, 426, 427, 428, 429, -1, 431, 432, -1,
++ 434, 435, 436, -1, -1, 439, -1, 441, -1, 443,
++ 444, -1, 446, 447, -1, -1, -1, 451, 452, 453,
++ 454, 455, 456, 457, 458, 459, 460, -1, 462, 463,
++ -1, -1, -1, 467, 468, 469, 470, -1, -1, -1,
++ 474, -1, -1, -1, 478, -1, 480, 481, 482, 483,
++ -1, 485, 486, 487, 488, 489, 490, -1, -1, -1,
++ -1, -1, -1, 497, 498, -1, 500, -1, -1, 503,
++ -1, -1, 506, 507, 508, -1, -1, 511, 512, -1,
++ 514, 515, 516, 517, 518, 519, -1, -1, 522, 523,
++ 524, 525, -1, 527, 528, -1, 530, -1, 532, 533,
++ 534, 535, -1, -1, 538, 539, -1, 541, 542, 543,
++ 544, -1, -1, -1, -1, -1, 550, 551, 552, -1,
++ -1, -1, 556, 557, 558, 559, -1, 561, 562, -1,
++ 564, 565, -1, 567, 568, -1, -1, 571, -1, -1,
++ 574, -1, 576, -1, 578, 579, 580, -1, -1, -1,
++ -1, -1, -1, 587, -1, -1, 590, -1, -1, -1,
++ 594, 595, 596, 597, 598, 599, -1, -1, -1, -1,
++ -1, -1, 606, 607, -1, 609, 610, 611, -1, -1,
++ 614, -1, -1, -1, -1, -1, -1, -1, 5, -1,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, 636, 637, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ -1, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, -1, 614, -1, -1,
++ -1, -1, -1, 5, -1, 7, 8, 9, 10, 11,
++ -1, -1, 14, -1, -1, -1, 18, -1, -1, 21,
++ 637, 23, 24, 25, 26, 27, 28, 29, -1, 31,
++ -1, -1, -1, 35, -1, -1, -1, 39, -1, -1,
++ 42, 43, 44, -1, 46, -1, 48, 49, -1, -1,
++ 52, -1, -1, 55, 56, -1, 58, 59, -1, 61,
++ 62, -1, 64, 65, 66, 67, 68, 69, 70, -1,
++ 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
++ 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
++ -1, 93, 94, 95, 96, 97, -1, 99, -1, -1,
++ 102, -1, -1, 105, -1, -1, -1, 109, -1, -1,
++ -1, 113, 114, 115, -1, -1, 118, -1, -1, -1,
++ -1, 123, 124, -1, -1, -1, -1, 129, -1, 131,
++ -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
++ -1, -1, 144, -1, -1, 147, 148, 149, -1, -1,
++ -1, 153, -1, 155, 156, -1, 158, 159, 160, -1,
++ 162, 163, -1, 165, 166, 167, 168, 169, 170, -1,
++ -1, 173, 174, 175, -1, -1, 178, 179, -1, 181,
++ 182, 183, -1, -1, 186, -1, -1, -1, 190, -1,
++ 192, -1, 194, -1, 196, 197, 198, 199, 200, 201,
++ -1, 203, -1, -1, 206, 207, 208, -1, 210, -1,
++ -1, -1, 214, 215, -1, -1, -1, 219, 220, 221,
++ 222, -1, -1, 225, 226, 227, -1, 229, -1, 231,
++ -1, -1, -1, -1, 236, 237, -1, -1, -1, 241,
++ -1, 243, 244, -1, 246, 247, -1, -1, -1, 251,
++ -1, -1, 254, 255, 256, -1, -1, 259, -1, -1,
++ 262, 263, -1, -1, -1, -1, -1, 269, 270, -1,
++ 272, -1, 274, -1, 276, 277, -1, -1, -1, -1,
++ -1, -1, 284, 285, 286, 287, 288, 289, 290, 291,
++ 292, 293, 294, 295, 296, -1, 298, 299, 300, -1,
++ 302, 303, 304, 305, -1, 307, 308, -1, -1, -1,
++ -1, 313, 314, 315, 316, 317, 318, -1, -1, 321,
++ 322, -1, 324, -1, 326, -1, 328, 329, 330, 331,
++ 332, 333, 334, 335, 336, 337, -1, -1, 340, 341,
++ -1, -1, 344, 345, 346, 347, -1, -1, -1, 351,
++ 352, -1, -1, -1, -1, 357, 358, 359, -1, 361,
++ 362, 363, 364, -1, 366, 367, -1, -1, -1, -1,
++ -1, -1, -1, -1, 376, 377, 378, -1, -1, 381,
++ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
++ 392, 393, 394, -1, -1, 397, 398, 399, -1, 401,
++ -1, 403, 404, 405, 406, 407, -1, 409, 410, 411,
++ -1, -1, 414, -1, -1, -1, 418, 419, 420, 421,
++ 422, -1, -1, 425, 426, 427, 428, 429, -1, 431,
++ 432, -1, 434, 435, 436, -1, -1, 439, -1, 441,
++ -1, 443, 444, -1, 446, 447, -1, -1, -1, 451,
++ 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
++ 462, 463, -1, -1, -1, 467, 468, 469, 470, -1,
++ -1, -1, 474, -1, -1, -1, 478, -1, 480, 481,
++ 482, 483, -1, 485, 486, 487, 488, 489, 490, -1,
++ -1, -1, -1, -1, -1, 497, 498, -1, 500, -1,
++ -1, 503, -1, -1, 506, 507, 508, -1, -1, 511,
++ 512, -1, 514, 515, 516, 517, 518, 519, -1, -1,
++ 522, 523, 524, 525, -1, 527, 528, -1, 530, -1,
++ 532, 533, 534, 535, -1, -1, 538, 539, -1, 541,
++ 542, 543, 544, -1, -1, -1, -1, -1, 550, 551,
++ 552, -1, -1, -1, 556, 557, 558, 559, -1, 561,
++ 562, -1, 564, 565, -1, 567, 568, -1, -1, 571,
++ -1, -1, 574, -1, 576, -1, 578, 579, 580, -1,
++ -1, -1, -1, -1, -1, 587, -1, -1, 590, -1,
++ -1, -1, 594, 595, 596, 597, 598, 599, -1, -1,
++ -1, -1, -1, -1, 606, 607, -1, 609, 610, 611,
++ -1, -1, 614, -1, -1, -1, -1, -1, 5, -1,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, 637, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ -1, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, -1, 614, -1, -1,
++ -1, -1, -1, 5, -1, 7, 8, 9, 10, 11,
++ -1, -1, 14, -1, -1, -1, 18, -1, -1, 21,
++ 637, 23, 24, 25, 26, 27, 28, 29, -1, 31,
++ -1, -1, -1, 35, -1, -1, -1, 39, -1, -1,
++ 42, 43, 44, -1, 46, -1, 48, 49, -1, -1,
++ 52, -1, -1, 55, 56, -1, 58, 59, -1, 61,
++ 62, -1, 64, 65, 66, 67, 68, 69, 70, -1,
++ 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
++ 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
++ -1, 93, 94, 95, 96, 97, -1, 99, -1, -1,
++ 102, -1, -1, 105, -1, -1, -1, 109, -1, -1,
++ -1, 113, 114, 115, -1, -1, 118, -1, -1, -1,
++ -1, 123, 124, -1, -1, -1, -1, 129, -1, 131,
++ -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
++ -1, -1, 144, -1, -1, 147, 148, 149, -1, -1,
++ -1, 153, -1, 155, 156, -1, 158, 159, 160, -1,
++ 162, 163, -1, 165, 166, 167, 168, 169, 170, -1,
++ -1, 173, 174, 175, -1, -1, 178, 179, -1, 181,
++ 182, 183, -1, -1, 186, -1, -1, -1, 190, -1,
++ 192, -1, 194, -1, 196, 197, 198, 199, 200, 201,
++ -1, 203, -1, -1, 206, 207, 208, -1, 210, -1,
++ -1, -1, 214, 215, -1, -1, -1, 219, 220, 221,
++ 222, -1, -1, 225, 226, 227, -1, 229, -1, 231,
++ -1, -1, -1, -1, 236, 237, -1, -1, -1, 241,
++ -1, 243, 244, -1, 246, 247, -1, -1, -1, 251,
++ -1, -1, 254, 255, 256, -1, -1, 259, -1, -1,
++ 262, 263, -1, -1, -1, -1, -1, 269, 270, -1,
++ 272, -1, 274, -1, 276, 277, -1, -1, -1, -1,
++ -1, -1, 284, 285, 286, 287, 288, 289, 290, 291,
++ 292, 293, 294, 295, 296, -1, 298, 299, 300, -1,
++ 302, 303, 304, 305, -1, 307, 308, -1, -1, -1,
++ -1, 313, 314, 315, 316, 317, 318, -1, -1, 321,
++ 322, -1, 324, -1, 326, -1, 328, 329, 330, 331,
++ 332, 333, 334, 335, 336, 337, -1, -1, 340, 341,
++ -1, -1, 344, 345, 346, 347, -1, -1, -1, 351,
++ 352, -1, -1, -1, -1, 357, 358, 359, -1, 361,
++ 362, 363, 364, -1, 366, 367, -1, -1, -1, -1,
++ -1, -1, -1, -1, 376, 377, 378, -1, -1, 381,
++ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
++ 392, 393, 394, -1, -1, 397, 398, 399, -1, 401,
++ -1, 403, 404, 405, 406, 407, -1, 409, 410, 411,
++ -1, -1, 414, -1, -1, -1, 418, 419, 420, 421,
++ 422, -1, -1, 425, 426, 427, 428, 429, -1, 431,
++ 432, -1, 434, 435, 436, -1, -1, 439, -1, 441,
++ -1, 443, 444, -1, 446, 447, -1, -1, -1, 451,
++ 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
++ 462, 463, -1, -1, -1, 467, 468, 469, 470, -1,
++ -1, -1, 474, -1, -1, -1, 478, -1, 480, 481,
++ 482, 483, -1, 485, 486, 487, 488, 489, 490, -1,
++ -1, -1, -1, -1, -1, 497, 498, -1, 500, -1,
++ -1, 503, -1, -1, 506, 507, 508, -1, -1, 511,
++ 512, -1, 514, 515, 516, 517, 518, 519, -1, -1,
++ 522, 523, 524, 525, -1, 527, 528, -1, 530, -1,
++ 532, 533, 534, 535, -1, -1, 538, 539, -1, 541,
++ 542, 543, 544, -1, -1, -1, -1, -1, 550, 551,
++ 552, -1, -1, -1, 556, 557, 558, 559, -1, 561,
++ 562, -1, 564, 565, -1, 567, 568, -1, -1, 571,
++ -1, -1, 574, -1, 576, -1, 578, 579, 580, -1,
++ -1, -1, -1, -1, -1, 587, -1, -1, 590, -1,
++ -1, -1, 594, 595, 596, 597, 598, 599, -1, -1,
++ -1, -1, -1, -1, 606, 607, -1, 609, 610, 611,
++ -1, -1, 614, -1, -1, -1, -1, -1, 5, -1,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, 637, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, 264, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ 537, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, -1, 614, -1, -1,
++ -1, -1, 5, -1, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, 636,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, 264, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, 537, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ -1, 614, -1, -1, -1, -1, 5, -1, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, 636, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, -1, -1, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, 264, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, -1, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, 537, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, -1, 614, -1, -1, -1, -1,
++ 5, -1, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, -1, 636, 23, 24,
++ 25, 26, 27, 28, -1, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, -1, -1, -1, -1, 52, 53, -1,
++ 55, 56, -1, 58, -1, -1, -1, -1, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
++ -1, -1, -1, -1, -1, -1, 81, -1, 83, -1,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, -1, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, -1,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, -1,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ -1, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, -1, -1, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, 180, 181, 182, 183, -1,
++ -1, -1, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, -1, 207, 208, -1, -1, -1, -1, -1, -1,
++ 215, -1, -1, -1, 219, 220, 221, 222, 223, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, -1, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, 248, -1, -1, 251, -1, -1, -1,
++ 255, 256, -1, -1, 259, 260, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, 282, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, -1, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 377, 378, -1, -1, -1, -1, 383, 384,
++ 385, -1, 387, 388, 389, 390, 391, 392, 393, -1,
++ -1, -1, -1, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, -1, -1, 434,
++ -1, 436, 437, -1, 439, -1, -1, -1, 443, -1,
++ -1, 446, 447, 448, -1, -1, -1, 452, 453, 454,
++ 455, 456, 457, -1, 459, 460, -1, 462, -1, -1,
++ -1, -1, 467, 468, 469, -1, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, -1, 481, -1, 483, -1,
++ 485, -1, 487, -1, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, -1, 508, -1, -1, -1, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, -1, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, -1, -1, -1, -1, 571, -1, -1, 574,
++ -1, -1, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, 602, -1, -1,
++ -1, 606, -1, -1, 609, -1, 611, -1, -1, 614,
++ -1, 5, -1, 7, 8, 9, 10, 11, -1, -1,
++ 14, -1, -1, -1, 18, -1, 631, 21, -1, 23,
++ 24, 25, 26, 27, 28, 29, -1, 31, -1, -1,
++ -1, 35, -1, -1, -1, 39, -1, -1, 42, 43,
++ 44, -1, 46, -1, 48, 49, -1, -1, 52, -1,
++ -1, 55, 56, -1, 58, 59, -1, 61, 62, -1,
++ 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
++ 74, 75, 76, 77, 78, 79, -1, 81, 82, 83,
++ 84, 85, 86, 87, 88, -1, 90, 91, -1, 93,
++ 94, 95, 96, 97, -1, 99, -1, -1, 102, -1,
++ -1, 105, -1, 107, -1, 109, -1, -1, -1, 113,
++ 114, 115, -1, -1, 118, -1, -1, -1, -1, 123,
++ 124, -1, -1, -1, -1, 129, -1, 131, -1, -1,
++ -1, 135, -1, 137, 138, 139, 140, -1, -1, -1,
++ 144, -1, -1, 147, 148, 149, -1, -1, -1, 153,
++ -1, 155, 156, -1, 158, 159, 160, -1, 162, 163,
++ -1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
++ 174, 175, -1, -1, 178, 179, -1, 181, 182, 183,
++ -1, -1, 186, -1, -1, -1, 190, -1, 192, -1,
++ 194, -1, 196, 197, 198, 199, 200, 201, -1, 203,
++ -1, -1, 206, 207, 208, -1, 210, -1, -1, -1,
++ 214, 215, -1, -1, -1, 219, 220, 221, 222, -1,
++ -1, 225, 226, 227, -1, 229, -1, 231, -1, -1,
++ -1, -1, 236, 237, -1, -1, -1, 241, -1, 243,
++ 244, -1, 246, 247, -1, -1, -1, 251, -1, -1,
++ 254, 255, 256, -1, -1, 259, -1, -1, 262, 263,
++ 264, -1, -1, -1, -1, 269, 270, -1, 272, -1,
++ 274, -1, 276, 277, -1, -1, -1, -1, -1, -1,
++ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
++ 294, 295, 296, -1, 298, 299, 300, -1, 302, 303,
++ 304, 305, -1, 307, 308, -1, -1, -1, -1, 313,
++ 314, 315, 316, 317, 318, -1, -1, 321, 322, -1,
++ 324, -1, 326, -1, 328, 329, 330, 331, 332, 333,
++ 334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
++ 344, 345, 346, 347, -1, -1, -1, 351, 352, -1,
++ -1, -1, -1, 357, 358, 359, -1, 361, 362, 363,
++ 364, -1, 366, 367, -1, -1, -1, -1, -1, -1,
++ -1, -1, 376, 377, 378, -1, -1, 381, -1, 383,
++ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
++ 394, -1, -1, 397, 398, 399, -1, 401, -1, 403,
++ 404, 405, 406, 407, -1, 409, 410, 411, -1, -1,
++ 414, -1, -1, -1, 418, 419, 420, 421, 422, -1,
++ -1, 425, 426, 427, 428, 429, -1, 431, 432, -1,
++ 434, 435, 436, -1, -1, 439, -1, 441, -1, 443,
++ 444, -1, 446, 447, -1, -1, -1, 451, 452, 453,
++ 454, 455, 456, 457, 458, 459, 460, -1, 462, 463,
++ -1, -1, -1, 467, 468, 469, 470, -1, -1, -1,
++ 474, -1, -1, -1, 478, -1, 480, 481, 482, 483,
++ -1, 485, 486, 487, 488, 489, 490, -1, -1, -1,
++ -1, -1, -1, 497, 498, -1, 500, -1, -1, 503,
++ -1, -1, 506, 507, 508, -1, -1, 511, 512, -1,
++ 514, 515, 516, 517, 518, 519, -1, -1, 522, 523,
++ 524, 525, -1, 527, 528, -1, 530, -1, 532, 533,
++ 534, 535, -1, 537, 538, 539, -1, 541, 542, 543,
++ 544, -1, -1, -1, -1, -1, 550, 551, 552, -1,
++ -1, -1, 556, 557, 558, 559, -1, 561, 562, -1,
++ 564, 565, -1, 567, 568, -1, -1, 571, -1, -1,
++ 574, -1, 576, -1, 578, 579, 580, -1, -1, -1,
++ -1, -1, -1, 587, -1, -1, 590, -1, -1, -1,
++ 594, 595, 596, 597, 598, 599, -1, -1, -1, -1,
++ -1, -1, 606, 607, -1, 609, 610, 611, -1, -1,
++ 614, 5, -1, 7, 8, 9, 10, 11, -1, -1,
++ 14, -1, -1, -1, 18, 629, -1, 21, -1, 23,
++ 24, 25, 26, 27, 28, 29, -1, 31, -1, -1,
++ -1, 35, -1, -1, -1, 39, -1, -1, 42, 43,
++ 44, -1, 46, -1, 48, 49, -1, -1, 52, -1,
++ -1, 55, 56, -1, 58, 59, -1, 61, 62, -1,
++ 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
++ 74, 75, 76, 77, 78, 79, -1, 81, 82, 83,
++ 84, 85, 86, 87, 88, -1, 90, 91, -1, 93,
++ 94, 95, 96, 97, -1, 99, -1, -1, 102, -1,
++ -1, 105, -1, -1, -1, 109, -1, -1, -1, 113,
++ 114, 115, -1, -1, 118, -1, -1, -1, -1, 123,
++ 124, -1, -1, -1, -1, 129, -1, 131, -1, -1,
++ -1, 135, -1, 137, 138, 139, 140, -1, -1, -1,
++ 144, -1, -1, 147, 148, 149, -1, -1, -1, 153,
++ -1, 155, 156, -1, 158, 159, 160, -1, 162, 163,
++ -1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
++ 174, 175, -1, -1, 178, 179, -1, 181, 182, 183,
++ -1, -1, 186, -1, -1, -1, 190, -1, 192, -1,
++ 194, -1, 196, 197, 198, 199, 200, 201, -1, 203,
++ -1, -1, 206, 207, 208, -1, 210, -1, -1, -1,
++ 214, 215, -1, -1, -1, 219, 220, 221, 222, -1,
++ -1, 225, 226, 227, -1, 229, -1, 231, -1, -1,
++ -1, -1, 236, 237, -1, -1, -1, 241, -1, 243,
++ 244, -1, 246, 247, -1, -1, -1, 251, -1, -1,
++ 254, 255, 256, -1, -1, 259, -1, -1, 262, 263,
++ -1, -1, -1, -1, -1, 269, 270, -1, 272, -1,
++ 274, -1, 276, 277, -1, -1, -1, -1, -1, -1,
++ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
++ 294, 295, 296, -1, 298, 299, 300, -1, 302, 303,
++ 304, 305, -1, 307, 308, -1, -1, -1, -1, 313,
++ 314, 315, 316, 317, 318, -1, -1, 321, 322, -1,
++ 324, -1, 326, -1, 328, 329, 330, 331, 332, 333,
++ 334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
++ 344, 345, 346, 347, -1, -1, -1, 351, 352, -1,
++ -1, -1, -1, 357, 358, 359, -1, 361, 362, 363,
++ 364, -1, 366, 367, -1, -1, -1, -1, -1, -1,
++ -1, -1, 376, 377, 378, -1, -1, 381, -1, 383,
++ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
++ 394, -1, -1, 397, 398, 399, -1, 401, -1, 403,
++ 404, 405, 406, 407, -1, 409, 410, 411, -1, -1,
++ 414, -1, -1, -1, 418, 419, 420, 421, 422, -1,
++ -1, 425, 426, 427, 428, 429, -1, 431, 432, -1,
++ 434, 435, 436, -1, -1, 439, -1, 441, -1, 443,
++ 444, -1, 446, 447, -1, -1, -1, 451, 452, 453,
++ 454, 455, 456, 457, 458, 459, 460, -1, 462, 463,
++ -1, -1, -1, 467, 468, 469, 470, -1, -1, -1,
++ 474, -1, -1, -1, 478, -1, 480, 481, 482, 483,
++ -1, 485, 486, 487, 488, 489, 490, -1, -1, -1,
++ -1, -1, -1, 497, 498, -1, 500, -1, -1, 503,
++ -1, -1, 506, 507, 508, -1, -1, 511, 512, -1,
++ 514, 515, 516, 517, 518, 519, -1, -1, 522, 523,
++ 524, 525, -1, 527, 528, -1, 530, -1, 532, 533,
++ 534, 535, -1, -1, 538, 539, -1, 541, 542, 543,
++ 544, -1, -1, -1, -1, -1, 550, 551, 552, -1,
++ -1, -1, 556, 557, 558, 559, -1, 561, 562, -1,
++ 564, 565, -1, 567, 568, -1, -1, 571, -1, -1,
++ 574, -1, 576, -1, 578, 579, 580, -1, -1, -1,
++ -1, -1, -1, 587, -1, -1, 590, -1, -1, -1,
++ 594, 595, 596, 597, 598, 599, -1, -1, -1, -1,
++ -1, -1, 606, 607, -1, 609, 610, 611, -1, 5,
++ 614, 7, 8, 9, 10, 11, -1, -1, 14, -1,
++ 624, -1, 18, -1, -1, 21, -1, 23, 24, 25,
++ 26, 27, 28, 29, -1, 31, -1, -1, -1, 35,
++ -1, -1, -1, 39, -1, -1, 42, 43, 44, -1,
++ 46, -1, 48, 49, -1, -1, 52, -1, -1, 55,
++ 56, -1, 58, 59, -1, 61, 62, -1, 64, 65,
++ 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
++ 76, 77, 78, 79, -1, 81, 82, 83, 84, 85,
++ 86, 87, 88, -1, 90, 91, -1, 93, 94, 95,
++ 96, 97, -1, 99, -1, -1, 102, -1, -1, 105,
++ -1, -1, -1, 109, -1, -1, -1, 113, 114, 115,
++ -1, -1, 118, -1, -1, -1, -1, 123, 124, -1,
++ -1, -1, -1, 129, -1, 131, -1, -1, -1, 135,
++ -1, 137, 138, 139, 140, -1, -1, -1, 144, -1,
++ -1, 147, 148, 149, -1, -1, -1, 153, -1, 155,
++ 156, -1, 158, 159, 160, -1, 162, 163, -1, 165,
++ 166, 167, 168, 169, 170, -1, -1, 173, 174, 175,
++ -1, -1, 178, 179, -1, 181, 182, 183, -1, -1,
++ 186, -1, -1, -1, 190, -1, 192, -1, 194, -1,
++ 196, 197, 198, 199, 200, 201, -1, 203, -1, -1,
++ 206, 207, 208, -1, 210, -1, -1, -1, 214, 215,
++ -1, -1, -1, 219, 220, 221, 222, -1, -1, 225,
++ 226, 227, -1, 229, -1, 231, -1, -1, -1, -1,
++ 236, 237, -1, -1, -1, 241, -1, 243, 244, -1,
++ 246, 247, -1, -1, -1, 251, -1, -1, 254, 255,
++ 256, -1, -1, 259, -1, -1, 262, 263, -1, -1,
++ -1, -1, -1, 269, 270, -1, 272, -1, 274, -1,
++ 276, 277, -1, -1, -1, -1, -1, -1, 284, 285,
++ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
++ 296, -1, 298, 299, 300, -1, 302, 303, 304, 305,
++ -1, 307, 308, -1, -1, -1, -1, 313, 314, 315,
++ 316, 317, 318, -1, -1, 321, 322, -1, 324, -1,
++ 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
++ 336, 337, -1, -1, 340, 341, -1, -1, 344, 345,
++ 346, 347, -1, -1, -1, 351, 352, -1, -1, -1,
++ -1, 357, 358, 359, -1, 361, 362, 363, 364, -1,
++ 366, 367, -1, -1, -1, -1, -1, -1, -1, -1,
++ 376, 377, 378, -1, -1, 381, -1, 383, 384, 385,
++ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
++ -1, 397, 398, 399, -1, 401, -1, 403, 404, 405,
++ 406, 407, -1, 409, 410, 411, -1, -1, 414, -1,
++ -1, -1, 418, 419, 420, 421, 422, -1, -1, 425,
++ 426, 427, 428, 429, -1, 431, 432, -1, 434, 435,
++ 436, -1, -1, 439, -1, 441, -1, 443, 444, -1,
++ 446, 447, -1, -1, -1, 451, 452, 453, 454, 455,
++ 456, 457, 458, 459, 460, -1, 462, 463, -1, -1,
++ -1, 467, 468, 469, 470, -1, -1, -1, 474, -1,
++ -1, -1, 478, -1, 480, 481, 482, 483, -1, 485,
++ 486, 487, 488, 489, 490, -1, -1, -1, -1, -1,
++ -1, 497, 498, -1, 500, -1, -1, 503, -1, -1,
++ 506, 507, 508, -1, -1, 511, 512, -1, 514, 515,
++ 516, 517, 518, 519, -1, -1, 522, 523, 524, 525,
++ -1, 527, 528, -1, 530, -1, 532, 533, 534, 535,
++ -1, -1, 538, 539, -1, 541, 542, 543, 544, -1,
++ -1, -1, -1, -1, 550, 551, 552, -1, -1, -1,
++ 556, 557, 558, 559, -1, 561, 562, -1, 564, 565,
++ -1, 567, 568, -1, -1, 571, -1, -1, 574, -1,
++ 576, -1, 578, 579, 580, -1, -1, -1, -1, -1,
++ -1, 587, -1, -1, 590, -1, -1, -1, 594, 595,
++ 596, 597, 598, 599, -1, -1, -1, -1, -1, -1,
++ 606, 607, -1, 609, 610, 611, -1, 5, 614, 7,
++ 8, 9, 10, 11, -1, -1, 14, -1, 624, -1,
++ 18, -1, -1, 21, -1, 23, 24, 25, 26, 27,
++ 28, 29, -1, 31, -1, -1, -1, 35, -1, -1,
++ -1, 39, -1, -1, 42, 43, 44, -1, 46, -1,
++ 48, 49, -1, -1, 52, -1, -1, 55, 56, -1,
++ 58, 59, -1, 61, 62, -1, 64, 65, 66, 67,
++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
++ 78, 79, -1, 81, 82, 83, 84, 85, 86, 87,
++ 88, -1, 90, 91, -1, 93, 94, 95, 96, 97,
++ -1, 99, -1, -1, 102, -1, -1, 105, -1, -1,
++ -1, 109, -1, -1, -1, 113, 114, 115, -1, -1,
++ 118, -1, -1, -1, -1, 123, 124, -1, -1, -1,
++ -1, 129, -1, 131, -1, -1, -1, 135, -1, 137,
++ 138, 139, 140, -1, -1, -1, 144, -1, -1, 147,
++ 148, 149, -1, -1, -1, 153, -1, 155, 156, -1,
++ 158, 159, 160, -1, 162, 163, -1, 165, 166, 167,
++ 168, 169, 170, -1, -1, 173, 174, 175, -1, -1,
++ 178, 179, -1, 181, 182, 183, -1, -1, 186, -1,
++ -1, -1, 190, -1, 192, -1, 194, -1, 196, 197,
++ 198, 199, 200, 201, -1, 203, -1, -1, 206, 207,
++ 208, -1, 210, -1, -1, -1, 214, 215, -1, -1,
++ -1, 219, 220, 221, 222, -1, -1, 225, 226, 227,
++ -1, 229, -1, 231, -1, -1, -1, -1, 236, 237,
++ -1, -1, -1, 241, -1, 243, 244, -1, 246, 247,
++ -1, -1, -1, 251, -1, -1, 254, 255, 256, -1,
++ -1, 259, -1, -1, 262, 263, -1, -1, -1, -1,
++ -1, 269, 270, -1, 272, -1, 274, -1, 276, 277,
++ -1, -1, -1, -1, -1, -1, 284, 285, 286, 287,
++ 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
++ 298, 299, 300, -1, 302, 303, 304, 305, -1, 307,
++ 308, -1, -1, -1, -1, 313, 314, 315, 316, 317,
++ 318, -1, -1, 321, 322, -1, 324, -1, 326, -1,
++ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
++ -1, -1, 340, 341, -1, -1, 344, 345, 346, 347,
++ -1, -1, -1, 351, 352, -1, -1, -1, -1, 357,
++ 358, 359, -1, 361, 362, 363, 364, -1, 366, 367,
++ -1, -1, -1, -1, -1, -1, -1, -1, 376, 377,
++ 378, -1, -1, 381, -1, 383, 384, 385, 386, 387,
++ 388, 389, 390, 391, 392, 393, 394, -1, -1, 397,
++ 398, 399, -1, 401, -1, 403, 404, 405, 406, 407,
++ -1, 409, 410, 411, -1, -1, 414, -1, -1, -1,
++ 418, 419, 420, 421, 422, -1, -1, 425, 426, 427,
++ 428, 429, -1, 431, 432, -1, 434, 435, 436, -1,
++ -1, 439, -1, 441, -1, 443, 444, -1, 446, 447,
++ -1, -1, -1, 451, 452, 453, 454, 455, 456, 457,
++ 458, 459, 460, -1, 462, 463, -1, -1, -1, 467,
++ 468, 469, 470, -1, -1, -1, 474, -1, -1, -1,
++ 478, -1, 480, 481, 482, 483, -1, 485, 486, 487,
++ 488, 489, 490, -1, -1, -1, -1, -1, -1, 497,
++ 498, -1, 500, -1, -1, 503, -1, -1, 506, 507,
++ 508, -1, -1, 511, 512, -1, 514, 515, 516, 517,
++ 518, 519, -1, -1, 522, 523, 524, 525, -1, 527,
++ 528, -1, 530, -1, 532, 533, 534, 535, -1, -1,
++ 538, 539, -1, 541, 542, 543, 544, -1, -1, -1,
++ -1, -1, 550, 551, 552, -1, -1, -1, 556, 557,
++ 558, 559, -1, 561, 562, -1, 564, 565, -1, 567,
++ 568, -1, -1, 571, -1, -1, 574, -1, 576, -1,
++ 578, 579, 580, -1, -1, -1, -1, -1, -1, 587,
++ -1, -1, 590, -1, -1, -1, 594, 595, 596, 597,
++ 598, 599, -1, -1, -1, -1, -1, -1, 606, 607,
++ -1, 609, 610, 611, -1, 5, 614, 7, 8, 9,
++ 10, 11, -1, -1, 14, -1, 624, -1, 18, -1,
++ -1, 21, -1, 23, 24, 25, 26, 27, 28, 29,
++ -1, 31, -1, -1, -1, 35, -1, -1, -1, 39,
++ -1, -1, 42, 43, 44, -1, 46, -1, 48, 49,
++ -1, -1, 52, -1, -1, 55, 56, -1, 58, 59,
++ -1, 61, 62, -1, 64, 65, 66, 67, 68, 69,
++ 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
++ -1, 81, 82, 83, 84, 85, 86, 87, 88, -1,
++ 90, 91, -1, 93, 94, 95, 96, 97, -1, 99,
++ -1, -1, 102, -1, -1, 105, -1, -1, -1, 109,
++ -1, -1, -1, 113, 114, 115, -1, -1, 118, -1,
++ -1, -1, -1, 123, 124, -1, -1, -1, -1, 129,
++ -1, 131, -1, -1, -1, 135, -1, 137, 138, 139,
++ 140, -1, -1, -1, 144, -1, -1, 147, 148, 149,
++ -1, -1, -1, 153, -1, 155, 156, -1, 158, 159,
++ 160, -1, 162, 163, -1, 165, 166, 167, 168, 169,
++ 170, -1, -1, 173, 174, 175, -1, -1, 178, 179,
++ -1, 181, 182, 183, -1, -1, 186, -1, -1, -1,
++ 190, -1, 192, -1, 194, -1, 196, 197, 198, 199,
++ 200, 201, -1, 203, -1, -1, 206, 207, 208, -1,
++ 210, -1, -1, -1, 214, 215, -1, -1, -1, 219,
++ 220, 221, 222, -1, -1, 225, 226, 227, -1, 229,
++ -1, 231, -1, -1, -1, -1, 236, 237, -1, -1,
++ -1, 241, -1, 243, 244, -1, 246, 247, -1, -1,
++ -1, 251, -1, -1, 254, 255, 256, -1, -1, 259,
++ -1, -1, 262, 263, -1, -1, -1, -1, -1, 269,
++ 270, -1, 272, -1, 274, -1, 276, 277, -1, -1,
++ -1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
++ 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
++ 300, -1, 302, 303, 304, 305, -1, 307, 308, -1,
++ -1, -1, -1, 313, 314, 315, 316, 317, 318, -1,
++ -1, 321, 322, -1, 324, -1, 326, -1, 328, 329,
++ 330, 331, 332, 333, 334, 335, 336, 337, -1, -1,
++ 340, 341, -1, -1, 344, 345, 346, 347, -1, -1,
++ -1, 351, 352, -1, -1, -1, -1, 357, 358, 359,
++ -1, 361, 362, 363, 364, -1, 366, 367, -1, -1,
++ -1, -1, -1, -1, -1, -1, 376, 377, 378, -1,
++ -1, 381, -1, 383, 384, 385, 386, 387, 388, 389,
++ 390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
++ -1, 401, -1, 403, 404, 405, 406, 407, -1, 409,
++ 410, 411, -1, -1, 414, -1, -1, -1, 418, 419,
++ 420, 421, 422, -1, -1, 425, 426, 427, 428, 429,
++ -1, 431, 432, -1, 434, 435, 436, -1, -1, 439,
++ -1, 441, -1, 443, 444, -1, 446, 447, -1, -1,
++ -1, 451, 452, 453, 454, 455, 456, 457, 458, 459,
++ 460, -1, 462, 463, -1, -1, -1, 467, 468, 469,
++ 470, -1, -1, -1, 474, -1, -1, -1, 478, -1,
++ 480, 481, 482, 483, -1, 485, 486, 487, 488, 489,
++ 490, -1, -1, -1, -1, -1, -1, 497, 498, -1,
++ 500, -1, -1, 503, -1, -1, 506, 507, 508, -1,
++ -1, 511, 512, -1, 514, 515, 516, 517, 518, 519,
++ -1, -1, 522, 523, 524, 525, -1, 527, 528, -1,
++ 530, -1, 532, 533, 534, 535, -1, -1, 538, 539,
++ -1, 541, 542, 543, 544, -1, -1, -1, -1, -1,
++ 550, 551, 552, -1, -1, -1, 556, 557, 558, 559,
++ -1, 561, 562, -1, 564, 565, -1, 567, 568, -1,
++ -1, 571, -1, -1, 574, -1, 576, -1, 578, 579,
++ 580, -1, -1, -1, -1, -1, -1, 587, -1, -1,
++ 590, -1, -1, -1, 594, 595, 596, 597, 598, 599,
++ -1, -1, -1, -1, -1, -1, 606, 607, -1, 609,
++ 610, 611, -1, 5, 614, 7, 8, 9, 10, 11,
++ -1, -1, 14, -1, 624, -1, 18, -1, -1, 21,
++ -1, 23, 24, 25, 26, 27, 28, 29, -1, 31,
++ -1, -1, 34, 35, -1, -1, -1, 39, -1, -1,
++ 42, 43, 44, -1, 46, -1, 48, 49, -1, -1,
++ 52, -1, -1, 55, 56, -1, 58, 59, -1, 61,
++ 62, -1, 64, 65, 66, 67, 68, 69, 70, -1,
++ 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
++ 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
++ -1, 93, 94, 95, 96, 97, -1, 99, -1, -1,
++ 102, -1, -1, 105, -1, -1, -1, 109, -1, -1,
++ -1, 113, 114, 115, -1, -1, 118, -1, -1, -1,
++ -1, 123, 124, -1, -1, -1, 128, 129, -1, 131,
++ -1, -1, -1, 135, -1, 137, 138, 139, 140, -1,
++ -1, -1, 144, -1, -1, 147, 148, 149, -1, -1,
++ -1, 153, -1, 155, 156, -1, 158, 159, 160, -1,
++ 162, 163, -1, 165, 166, 167, 168, 169, 170, -1,
++ -1, 173, 174, 175, -1, -1, 178, 179, -1, 181,
++ 182, 183, -1, -1, 186, -1, -1, -1, 190, -1,
++ 192, -1, 194, -1, 196, 197, 198, 199, 200, 201,
++ -1, 203, -1, -1, 206, 207, 208, -1, 210, -1,
++ -1, -1, 214, 215, -1, -1, -1, 219, 220, 221,
++ 222, -1, -1, 225, 226, 227, -1, 229, -1, 231,
++ -1, -1, -1, -1, 236, 237, -1, -1, -1, 241,
++ -1, 243, 244, -1, 246, 247, -1, -1, -1, 251,
++ -1, -1, 254, 255, 256, -1, -1, 259, -1, -1,
++ 262, 263, 264, -1, -1, -1, -1, 269, 270, -1,
++ 272, -1, 274, -1, 276, 277, -1, -1, -1, -1,
++ -1, -1, 284, 285, 286, 287, 288, 289, 290, 291,
++ 292, 293, 294, 295, 296, -1, 298, 299, 300, -1,
++ 302, 303, 304, 305, -1, 307, 308, -1, -1, -1,
++ -1, 313, 314, 315, 316, 317, 318, -1, -1, 321,
++ 322, -1, 324, -1, 326, -1, 328, 329, 330, 331,
++ 332, 333, 334, 335, 336, 337, -1, -1, 340, 341,
++ -1, -1, 344, 345, 346, 347, -1, -1, -1, 351,
++ 352, -1, -1, -1, -1, 357, 358, 359, -1, 361,
++ 362, 363, 364, -1, 366, 367, -1, -1, -1, -1,
++ -1, -1, -1, -1, 376, 377, 378, -1, -1, 381,
++ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
++ 392, 393, 394, -1, -1, 397, 398, 399, -1, 401,
++ -1, 403, 404, 405, 406, 407, -1, 409, 410, 411,
++ -1, -1, 414, -1, -1, -1, 418, 419, 420, 421,
++ 422, -1, -1, 425, 426, 427, 428, 429, -1, 431,
++ 432, -1, 434, 435, 436, -1, -1, 439, -1, 441,
++ -1, 443, 444, -1, 446, 447, -1, -1, -1, 451,
++ 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
++ 462, 463, -1, -1, -1, 467, 468, 469, 470, -1,
++ -1, 473, 474, -1, -1, -1, 478, -1, 480, 481,
++ 482, 483, -1, 485, 486, 487, 488, 489, 490, -1,
++ -1, -1, -1, -1, -1, 497, 498, -1, 500, -1,
++ -1, 503, -1, -1, 506, 507, 508, -1, -1, 511,
++ 512, -1, 514, 515, 516, 517, 518, 519, -1, -1,
++ 522, 523, 524, 525, -1, 527, 528, -1, 530, -1,
++ 532, 533, 534, 535, -1, 537, 538, 539, -1, 541,
++ 542, 543, 544, -1, -1, -1, -1, -1, 550, 551,
++ 552, -1, -1, -1, 556, 557, 558, 559, -1, 561,
++ 562, -1, 564, 565, -1, 567, 568, -1, -1, 571,
++ -1, -1, 574, -1, 576, -1, 578, 579, 580, -1,
++ -1, -1, -1, -1, -1, 587, -1, -1, 590, -1,
++ -1, -1, 594, 595, 596, 597, 598, 599, -1, -1,
++ -1, -1, -1, -1, 606, 607, -1, 609, 610, 611,
++ -1, -1, 614, -1, 5, 617, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, 125, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, 184, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ 211, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, 280,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, 348, 349, -1,
++ 351, 352, -1, -1, 355, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, 493, 494, 495, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, 560,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, 125, -1, -1, 128, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, 184, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, 211, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, 280, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, 355, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, 537, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, 560, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, -1, -1,
++ 55, 56, -1, 58, 59, -1, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, 124,
++ 125, -1, -1, 128, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, -1, 181, 182, 183, 184,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, 206, 207, 208, -1, 210, 211, -1, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, -1, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, 237, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, 280, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, 351, 352, -1, -1,
++ 355, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, -1, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ -1, -1, 397, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, -1, -1, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, -1, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, -1, -1, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, 537, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, 556, 557, 558, 559, 560, 561, 562, -1, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, 125, -1,
++ -1, 128, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, 184, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, 211, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, 280, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, 355, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ 537, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, 560, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, 36, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, 211, 212, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, -1, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, 537, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, 280,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, 355, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, 380,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, 560,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, 34, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, 128, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, 264, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, 537, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, -1, -1,
++ 55, 56, -1, 58, 59, -1, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, 124,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, -1, 181, 182, 183, -1,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, 206, 207, 208, -1, 210, -1, -1, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, -1, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, 237, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, 280, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, 351, 352, -1, -1,
++ 355, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, 380, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ -1, -1, 397, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, -1, -1, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, -1, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, -1, -1, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, 556, 557, 558, 559, 560, 561, 562, -1, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, 34, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, 128, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, 264, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ 537, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, -1, -1, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, 280, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, 355, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, 380, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, -1, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, 560, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, 107, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, 264, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, 537, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, 12,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, 264, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, 537, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, 34,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, -1, -1,
++ 55, 56, -1, 58, 59, -1, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, 124,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, -1, 181, 182, 183, -1,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, 206, 207, 208, -1, 210, -1, -1, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, -1, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, 237, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, -1, 262, 263, 264,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, 351, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, -1, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ -1, -1, 397, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, -1, -1, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, -1, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, -1, -1, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, 537, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, 556, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, 128, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, 264, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ 537, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, -1, -1, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, 264, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, -1, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, 537, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, 19, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, 537, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, 98, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, 172,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, -1, -1,
++ 55, 56, -1, 58, 59, -1, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, 124,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, -1, 181, 182, 183, -1,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, 206, 207, 208, -1, 210, -1, -1, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, -1, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, 237, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, 351, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, -1, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ -1, -1, 397, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, -1, -1, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, -1, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, 494,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, -1, -1, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, 556, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, 191, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ -1, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, 128,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, -1, -1, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, -1, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, -1, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, 128, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, 12,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, 21, -1, 23, 24,
++ 25, 26, 27, 28, 29, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, 48, 49, -1, -1, 52, -1, -1,
++ 55, 56, -1, 58, 59, -1, 61, 62, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
++ 75, 76, 77, 78, 79, -1, 81, 82, 83, 84,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, 96, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, 124,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, 144,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, -1, 181, 182, 183, -1,
++ -1, 186, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, 206, 207, 208, -1, 210, -1, -1, -1, 214,
++ 215, -1, -1, -1, 219, 220, 221, 222, -1, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, 237, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, 254,
++ 255, 256, -1, -1, 259, -1, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, 351, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, 366, 367, -1, -1, -1, -1, -1, -1, -1,
++ -1, 376, 377, 378, -1, -1, 381, -1, 383, 384,
++ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
++ -1, -1, 397, 398, 399, 400, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, 432, -1, 434,
++ 435, 436, -1, -1, 439, -1, 441, -1, 443, 444,
++ -1, 446, 447, -1, -1, -1, 451, 452, 453, 454,
++ 455, 456, 457, 458, 459, 460, -1, 462, 463, -1,
++ -1, -1, 467, 468, 469, 470, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, 480, 481, 482, 483, -1,
++ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, 507, 508, -1, -1, 511, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, 556, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, 567, 568, -1, -1, 571, -1, -1, 574,
++ -1, 576, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, 607, -1, 609, 610, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, 21, -1, 23, 24, 25, 26,
++ 27, 28, 29, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, 48, 49, -1, -1, 52, -1, -1, 55, 56,
++ -1, 58, 59, -1, 61, 62, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, -1, 81, 82, 83, 84, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, 96,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, 124, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, 144, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, 169, 170, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, -1, 181, 182, 183, -1, -1, 186,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, 206,
++ 207, 208, -1, 210, -1, -1, -1, 214, 215, -1,
++ -1, -1, 219, 220, 221, 222, -1, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ 237, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, -1, -1, -1, 251, -1, -1, 254, 255, 256,
++ -1, -1, 259, -1, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, -1, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, 351, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, 366,
++ 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
++ 377, 378, -1, -1, 381, -1, 383, 384, 385, 386,
++ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
++ 397, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, 432, -1, 434, 435, 436,
++ -1, -1, 439, -1, 441, -1, 443, 444, -1, 446,
++ 447, -1, -1, -1, 451, 452, 453, 454, 455, 456,
++ 457, 458, 459, 460, -1, 462, 463, -1, -1, -1,
++ 467, 468, 469, 470, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, 480, 481, 482, 483, -1, 485, 486,
++ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ 507, 508, -1, -1, 511, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ 537, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, 556,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ 567, 568, -1, -1, 571, -1, -1, 574, -1, 576,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, -1, -1, -1, -1, 606,
++ 607, -1, 609, 610, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, 21, -1, 23, 24, 25, 26, 27, 28,
++ 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, 48,
++ 49, -1, -1, 52, -1, -1, 55, 56, -1, 58,
++ 59, -1, 61, 62, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
++ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, 96, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, 124, -1, -1, -1, 128,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, 144, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ 169, 170, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, -1, 181, 182, 183, -1, -1, 186, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, 206, 207, 208,
++ -1, 210, -1, -1, -1, 214, 215, -1, -1, -1,
++ 219, 220, 221, 222, -1, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, 237, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, -1,
++ -1, -1, 251, -1, -1, 254, 255, 256, -1, -1,
++ 259, -1, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, 351, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, 366, 367, -1,
++ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
++ -1, -1, 381, -1, 383, 384, 385, 386, 387, 388,
++ 389, 390, 391, 392, 393, 394, -1, -1, 397, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, 432, -1, 434, 435, 436, -1, -1,
++ 439, -1, 441, -1, 443, 444, -1, 446, 447, -1,
++ -1, -1, 451, 452, 453, 454, 455, 456, 457, 458,
++ 459, 460, -1, 462, 463, -1, -1, -1, 467, 468,
++ 469, 470, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, 480, 481, 482, 483, -1, 485, 486, 487, 488,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, 507, 508,
++ -1, -1, 511, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, -1, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, 556, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, 567, 568,
++ -1, -1, 571, -1, -1, 574, -1, 576, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, -1, -1, -1, -1, 606, 607, -1,
++ 609, 610, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, 48, 49, -1,
++ -1, 52, -1, -1, 55, 56, -1, 58, 59, -1,
++ 61, 62, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, 74, 75, 76, 77, 78, 79, -1,
++ 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, 96, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, 124, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, 144, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, -1,
++ 181, 182, 183, -1, -1, 186, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, 206, 207, 208, -1, 210,
++ -1, -1, -1, 214, 215, -1, -1, -1, 219, 220,
++ 221, 222, -1, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, 237, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, -1, -1, -1,
++ 251, -1, -1, 254, 255, 256, -1, -1, 259, -1,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ 351, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, 366, 367, -1, -1, -1,
++ -1, -1, -1, -1, -1, 376, 377, 378, -1, -1,
++ 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
++ 391, 392, 393, 394, -1, -1, 397, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, 432, -1, 434, 435, 436, -1, -1, 439, -1,
++ 441, -1, 443, 444, -1, 446, 447, -1, -1, -1,
++ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
++ -1, 462, 463, -1, -1, -1, 467, 468, 469, 470,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, 480,
++ 481, 482, 483, -1, 485, 486, 487, 488, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, 507, 508, -1, -1,
++ 511, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, 556, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, 567, 568, -1, -1,
++ 571, -1, -1, 574, -1, 576, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, -1, -1, -1, -1, 606, 607, -1, 609, 610,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, 21, -1,
++ 23, 24, 25, 26, 27, 28, 29, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, 48, 49, -1, -1, 52,
++ -1, -1, 55, 56, -1, 58, 59, -1, 61, 62,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, 74, 75, 76, 77, 78, 79, -1, 81, 82,
++ 83, 84, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, 96, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, 124, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, 144, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, -1, 181, 182,
++ 183, -1, -1, 186, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, 206, 207, 208, -1, 210, -1, -1,
++ -1, 214, 215, -1, -1, -1, 219, 220, 221, 222,
++ -1, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, 237, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, -1, -1, -1, 251, -1,
++ -1, 254, 255, 256, -1, -1, 259, -1, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, -1,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, 351, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, 366, 367, -1, -1, -1, -1, -1,
++ -1, -1, -1, 376, 377, 378, -1, -1, 381, -1,
++ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
++ 393, 394, -1, -1, 397, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, 432,
++ -1, 434, 435, 436, -1, -1, 439, -1, 441, -1,
++ 443, 444, -1, 446, 447, -1, -1, -1, 451, 452,
++ 453, 454, 455, 456, 457, 458, 459, 460, -1, 462,
++ 463, -1, -1, -1, 467, 468, 469, 470, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, 480, 481, 482,
++ 483, -1, 485, 486, 487, 488, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, 507, 508, -1, -1, 511, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, 556, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, 567, 568, -1, -1, 571, -1,
++ -1, 574, -1, 576, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, -1,
++ -1, -1, -1, 606, 607, -1, 609, 610, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, -1, -1, 23, 24,
++ 25, 26, 27, 28, -1, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, -1, -1, -1, -1, 52, 53, -1,
++ 55, 56, -1, 58, -1, -1, -1, -1, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
++ -1, -1, -1, -1, -1, -1, 81, -1, 83, -1,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, -1, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, -1,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, -1,
++ -1, -1, 147, 148, 149, -1, 151, 152, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, -1, -1, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, 180, 181, 182, 183, -1,
++ -1, -1, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, -1, 207, 208, -1, -1, -1, -1, -1, -1,
++ 215, -1, -1, -1, 219, 220, 221, 222, 223, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, -1, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, 248, -1, -1, 251, -1, -1, -1,
++ 255, 256, -1, -1, 259, 260, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, 282, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, -1, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 377, 378, -1, -1, -1, -1, 383, 384,
++ 385, -1, 387, 388, 389, 390, 391, 392, 393, -1,
++ -1, -1, -1, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, -1, -1, 434,
++ -1, 436, 437, -1, 439, -1, -1, -1, 443, -1,
++ -1, 446, 447, 448, -1, -1, -1, 452, 453, 454,
++ 455, 456, 457, -1, 459, 460, -1, 462, -1, -1,
++ -1, -1, 467, 468, 469, -1, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, -1, 481, -1, 483, -1,
++ 485, -1, 487, -1, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, -1, 508, -1, -1, -1, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, -1, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, -1, -1, -1, -1, 571, -1, -1, 574,
++ -1, -1, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, 602, -1, -1,
++ -1, 606, -1, -1, 609, -1, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, -1, -1, 23, 24, 25, 26,
++ 27, 28, -1, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, -1, -1, -1, -1, 52, 53, -1, 55, 56,
++ -1, 58, -1, -1, -1, -1, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, -1, -1, -1,
++ -1, -1, -1, -1, 81, -1, 83, -1, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, -1,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, -1, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, -1, -1, -1,
++ 147, 148, 149, -1, 151, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, -1, -1, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, 180, 181, 182, 183, -1, -1, -1,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, -1,
++ 207, 208, -1, -1, -1, -1, -1, -1, 215, -1,
++ -1, -1, 219, 220, 221, 222, 223, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ -1, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, 248, -1, -1, 251, -1, -1, -1, 255, 256,
++ -1, -1, 259, 260, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, 282, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, -1, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 377, 378, -1, -1, -1, -1, 383, 384, 385, -1,
++ 387, 388, 389, 390, 391, 392, 393, -1, -1, -1,
++ -1, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, -1, -1, 434, -1, 436,
++ 437, -1, 439, -1, -1, -1, 443, -1, -1, 446,
++ 447, 448, -1, -1, -1, 452, 453, 454, 455, 456,
++ 457, -1, 459, 460, -1, 462, -1, -1, -1, -1,
++ 467, 468, 469, -1, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, -1, 481, -1, 483, -1, 485, -1,
++ 487, -1, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ -1, 508, -1, -1, -1, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ -1, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, -1,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ -1, -1, -1, -1, 571, -1, -1, 574, -1, -1,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, 600, -1, 602, -1, -1, -1, 606,
++ -1, -1, 609, -1, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, -1, -1, 23, 24, 25, 26, 27, 28,
++ -1, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, -1,
++ -1, -1, -1, 52, 53, -1, 55, 56, -1, 58,
++ -1, -1, -1, -1, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, -1, -1, -1, -1, -1,
++ -1, -1, 81, -1, 83, -1, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, -1, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, -1, -1, -1, 147, 148,
++ 149, -1, 151, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ -1, -1, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, 180, 181, 182, 183, -1, -1, -1, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, -1, 207, 208,
++ -1, -1, -1, -1, -1, -1, 215, -1, -1, -1,
++ 219, 220, 221, 222, 223, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, -1, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, 248,
++ -1, -1, 251, -1, -1, -1, 255, 256, -1, -1,
++ 259, 260, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, 282, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, -1, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 377, 378,
++ -1, -1, -1, -1, 383, 384, 385, -1, 387, 388,
++ 389, 390, 391, 392, 393, -1, -1, -1, -1, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, -1, -1, 434, -1, 436, 437, -1,
++ 439, -1, -1, -1, 443, -1, -1, 446, 447, 448,
++ -1, -1, -1, 452, 453, 454, 455, 456, 457, -1,
++ 459, 460, -1, 462, -1, -1, -1, -1, 467, 468,
++ 469, -1, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, -1, 481, -1, 483, -1, 485, -1, 487, -1,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, -1, 508,
++ -1, -1, -1, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, -1, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, -1, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, -1, -1,
++ -1, -1, 571, -1, -1, 574, -1, -1, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, 600, -1, 602, -1, -1, -1, 606, -1, -1,
++ 609, -1, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ -1, -1, 23, 24, 25, 26, 27, 28, -1, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, -1, -1, -1,
++ -1, 52, 53, -1, 55, 56, -1, 58, -1, -1,
++ -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, -1, -1, -1, -1, -1, -1, -1,
++ 81, -1, 83, -1, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, -1, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, -1, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, -1, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, 155, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, -1, -1,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, 180,
++ 181, 182, 183, -1, -1, -1, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, -1, 207, 208, -1, -1,
++ -1, -1, -1, -1, 215, -1, -1, -1, 219, 220,
++ 221, 222, 223, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, -1, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, 248, -1, -1,
++ 251, -1, -1, -1, 255, 256, -1, -1, 259, 260,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, 282, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ -1, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, 377, 378, -1, -1,
++ -1, -1, 383, 384, 385, -1, 387, 388, 389, 390,
++ 391, 392, 393, -1, -1, -1, -1, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, -1, -1, 434, -1, 436, 437, -1, 439, -1,
++ -1, -1, 443, -1, -1, 446, 447, 448, -1, -1,
++ -1, 452, 453, 454, 455, 456, 457, -1, 459, 460,
++ -1, 462, -1, -1, -1, -1, 467, 468, 469, -1,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, -1,
++ 481, -1, 483, -1, 485, -1, 487, -1, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, -1, 508, -1, -1,
++ -1, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, -1, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, -1, -1, -1, -1,
++ 571, -1, -1, 574, -1, -1, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, 602, -1, -1, -1, 606, -1, -1, 609, -1,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, -1, -1,
++ 23, 24, 25, 26, 27, 28, -1, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, -1, -1, -1, -1, 52,
++ 53, -1, 55, 56, -1, 58, -1, -1, -1, -1,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, -1, -1, -1, -1, -1, -1, -1, 81, -1,
++ 83, -1, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, -1, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, -1, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, -1, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, 155, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, -1, -1, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, 180, 181, 182,
++ 183, -1, -1, -1, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, -1, 207, 208, -1, -1, -1, -1,
++ -1, -1, 215, -1, -1, -1, 219, 220, 221, 222,
++ 223, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, -1, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, 248, -1, -1, 251, -1,
++ -1, -1, 255, 256, -1, -1, 259, 260, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, 282,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, -1, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 377, 378, -1, -1, -1, -1,
++ 383, 384, 385, -1, 387, 388, 389, 390, 391, 392,
++ 393, -1, -1, -1, -1, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, -1,
++ -1, 434, -1, 436, 437, -1, 439, -1, -1, -1,
++ 443, -1, -1, 446, 447, 448, -1, -1, -1, 452,
++ 453, 454, 455, 456, 457, -1, 459, 460, -1, 462,
++ -1, -1, -1, -1, 467, 468, 469, -1, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, -1, 481, -1,
++ 483, -1, 485, -1, 487, -1, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, -1, 508, -1, -1, -1, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, -1, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, -1, -1, -1, -1, 571, -1,
++ -1, 574, -1, -1, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, 602,
++ -1, -1, -1, 606, -1, -1, 609, -1, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, -1, -1, 23, 24,
++ 25, 26, 27, 28, -1, -1, 31, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, -1, -1, -1, -1, 52, 53, -1,
++ 55, 56, -1, 58, -1, -1, -1, -1, -1, 64,
++ 65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
++ -1, -1, -1, -1, -1, -1, 81, -1, 83, -1,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, -1, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, -1,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, -1,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ 155, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, -1, -1, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, 180, 181, 182, 183, -1,
++ -1, -1, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, -1, 207, 208, -1, -1, -1, -1, -1, -1,
++ 215, -1, -1, -1, 219, 220, 221, 222, 223, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, -1, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, 248, -1, -1, 251, -1, -1, -1,
++ 255, 256, -1, -1, 259, 260, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, 282, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, -1, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, 364,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 377, 378, -1, -1, -1, -1, 383, 384,
++ 385, -1, 387, 388, 389, 390, 391, 392, 393, -1,
++ -1, -1, -1, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, -1, -1, 434,
++ -1, 436, 437, -1, 439, -1, -1, -1, 443, -1,
++ -1, 446, 447, 448, -1, -1, -1, 452, 453, 454,
++ 455, 456, 457, -1, 459, 460, -1, 462, -1, -1,
++ -1, -1, 467, 468, 469, -1, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, -1, 481, -1, 483, -1,
++ 485, -1, 487, -1, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, -1, 508, -1, -1, -1, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, -1, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, -1, -1, -1, -1, 571, -1, -1, 574,
++ -1, -1, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, 602, -1, -1,
++ -1, 606, -1, -1, 609, -1, 611, -1, 5, 614,
++ 7, 8, 9, 10, 11, -1, -1, 14, -1, -1,
++ -1, 18, -1, -1, -1, -1, 23, 24, 25, 26,
++ 27, 28, -1, -1, 31, -1, -1, -1, 35, -1,
++ -1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
++ -1, -1, -1, -1, -1, 52, 53, -1, 55, 56,
++ -1, 58, -1, -1, -1, -1, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, -1, -1, -1,
++ -1, -1, -1, -1, 81, -1, 83, -1, 85, 86,
++ 87, 88, -1, 90, 91, -1, 93, 94, 95, -1,
++ 97, -1, 99, -1, -1, 102, -1, -1, 105, -1,
++ -1, -1, 109, -1, -1, -1, 113, 114, 115, -1,
++ -1, 118, -1, -1, -1, -1, 123, -1, -1, -1,
++ -1, -1, 129, -1, 131, -1, -1, -1, 135, -1,
++ 137, 138, 139, 140, -1, -1, -1, -1, -1, -1,
++ 147, 148, 149, -1, -1, -1, 153, -1, 155, 156,
++ -1, 158, 159, 160, -1, 162, 163, -1, 165, 166,
++ 167, 168, -1, -1, -1, -1, 173, 174, 175, -1,
++ -1, 178, 179, 180, 181, 182, 183, -1, -1, -1,
++ -1, -1, -1, 190, -1, 192, -1, 194, -1, 196,
++ 197, 198, 199, 200, 201, -1, 203, -1, -1, -1,
++ 207, 208, -1, -1, -1, -1, -1, -1, 215, -1,
++ -1, -1, 219, 220, 221, 222, 223, -1, 225, 226,
++ 227, -1, 229, -1, 231, -1, -1, -1, -1, 236,
++ -1, -1, -1, -1, 241, -1, 243, 244, -1, 246,
++ 247, 248, -1, -1, 251, -1, -1, -1, 255, 256,
++ -1, -1, 259, 260, -1, 262, 263, -1, -1, -1,
++ -1, -1, 269, 270, -1, 272, -1, 274, -1, 276,
++ 277, -1, -1, -1, -1, 282, -1, 284, 285, 286,
++ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
++ -1, 298, 299, 300, -1, 302, 303, 304, 305, -1,
++ 307, 308, -1, -1, -1, -1, 313, 314, 315, 316,
++ 317, 318, -1, -1, 321, 322, -1, 324, -1, 326,
++ -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
++ 337, -1, -1, 340, 341, -1, -1, 344, 345, 346,
++ 347, -1, -1, -1, -1, 352, -1, -1, -1, -1,
++ 357, 358, 359, -1, 361, 362, 363, 364, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 377, 378, -1, -1, -1, -1, 383, 384, 385, -1,
++ 387, 388, 389, 390, 391, 392, 393, -1, -1, -1,
++ -1, 398, 399, -1, 401, -1, 403, 404, 405, 406,
++ 407, -1, 409, 410, 411, -1, -1, 414, -1, -1,
++ -1, 418, 419, 420, 421, 422, -1, -1, 425, 426,
++ 427, 428, 429, -1, 431, -1, -1, 434, -1, 436,
++ 437, -1, 439, -1, -1, -1, 443, -1, -1, 446,
++ 447, 448, -1, -1, -1, 452, 453, 454, 455, 456,
++ 457, -1, 459, 460, -1, 462, -1, -1, -1, -1,
++ 467, 468, 469, -1, -1, -1, -1, 474, -1, -1,
++ -1, 478, -1, -1, 481, -1, 483, -1, 485, -1,
++ 487, -1, 489, 490, -1, -1, -1, -1, -1, -1,
++ 497, 498, -1, 500, -1, -1, 503, -1, -1, 506,
++ -1, 508, -1, -1, -1, 512, -1, 514, 515, 516,
++ 517, 518, 519, -1, -1, 522, 523, 524, 525, -1,
++ 527, 528, -1, 530, -1, 532, 533, 534, 535, -1,
++ -1, 538, 539, -1, 541, 542, 543, 544, -1, -1,
++ -1, -1, -1, 550, 551, 552, -1, -1, -1, -1,
++ 557, 558, 559, -1, 561, 562, -1, 564, 565, -1,
++ -1, -1, -1, -1, 571, -1, -1, 574, -1, -1,
++ -1, 578, 579, 580, -1, -1, -1, -1, -1, -1,
++ 587, -1, -1, 590, -1, -1, -1, 594, 595, 596,
++ 597, 598, 599, -1, -1, 602, -1, -1, -1, 606,
++ -1, -1, 609, -1, 611, -1, 5, 614, 7, 8,
++ 9, 10, 11, -1, -1, 14, -1, -1, -1, 18,
++ -1, -1, -1, -1, 23, 24, 25, 26, 27, 28,
++ -1, -1, 31, -1, -1, -1, 35, -1, -1, -1,
++ 39, -1, -1, 42, 43, 44, -1, 46, -1, -1,
++ -1, -1, -1, 52, 53, -1, 55, 56, -1, 58,
++ -1, -1, -1, -1, -1, 64, 65, 66, 67, 68,
++ 69, 70, -1, 72, 73, -1, -1, -1, -1, -1,
++ -1, -1, 81, -1, 83, -1, 85, 86, 87, 88,
++ -1, 90, 91, -1, 93, 94, 95, -1, 97, -1,
++ 99, -1, -1, 102, -1, -1, 105, -1, -1, -1,
++ 109, -1, -1, -1, 113, 114, 115, -1, -1, 118,
++ -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
++ 129, -1, 131, -1, -1, -1, 135, -1, 137, 138,
++ 139, 140, -1, -1, -1, -1, -1, -1, 147, 148,
++ 149, -1, -1, -1, 153, -1, 155, 156, -1, 158,
++ 159, 160, -1, 162, 163, -1, 165, 166, 167, 168,
++ -1, -1, -1, -1, 173, 174, 175, -1, -1, 178,
++ 179, 180, 181, 182, 183, -1, -1, -1, -1, -1,
++ -1, 190, -1, 192, -1, 194, -1, 196, 197, 198,
++ 199, 200, 201, -1, 203, -1, -1, -1, 207, 208,
++ -1, -1, -1, -1, -1, -1, 215, -1, -1, -1,
++ 219, 220, 221, 222, 223, -1, 225, 226, 227, -1,
++ 229, -1, 231, -1, -1, -1, -1, 236, -1, -1,
++ -1, -1, 241, -1, 243, 244, -1, 246, 247, 248,
++ -1, -1, 251, -1, -1, -1, 255, 256, -1, -1,
++ 259, 260, -1, 262, 263, -1, -1, -1, -1, -1,
++ 269, 270, -1, 272, -1, 274, -1, 276, 277, -1,
++ -1, -1, -1, 282, -1, 284, 285, 286, 287, 288,
++ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
++ 299, 300, -1, 302, 303, 304, 305, -1, 307, 308,
++ -1, -1, -1, -1, 313, 314, 315, 316, 317, 318,
++ -1, -1, 321, 322, -1, 324, -1, 326, -1, 328,
++ 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
++ -1, 340, 341, -1, -1, 344, 345, 346, 347, -1,
++ -1, -1, -1, 352, -1, -1, -1, -1, 357, 358,
++ 359, -1, 361, 362, 363, 364, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, 377, 378,
++ -1, -1, -1, -1, 383, 384, 385, -1, 387, 388,
++ 389, 390, 391, 392, 393, -1, -1, -1, -1, 398,
++ 399, -1, 401, -1, 403, 404, 405, 406, 407, -1,
++ 409, 410, 411, -1, -1, 414, -1, -1, -1, 418,
++ 419, 420, 421, 422, -1, -1, 425, 426, 427, 428,
++ 429, -1, 431, -1, -1, 434, -1, 436, 437, -1,
++ 439, -1, -1, -1, 443, -1, -1, 446, 447, 448,
++ -1, -1, -1, 452, 453, 454, 455, 456, 457, -1,
++ 459, 460, -1, 462, -1, -1, -1, -1, 467, 468,
++ 469, -1, -1, -1, -1, 474, -1, -1, -1, 478,
++ -1, -1, 481, -1, 483, -1, 485, -1, 487, -1,
++ 489, 490, -1, -1, -1, -1, -1, -1, 497, 498,
++ -1, 500, -1, -1, 503, -1, -1, 506, -1, 508,
++ -1, -1, -1, 512, -1, 514, 515, 516, 517, 518,
++ 519, -1, -1, 522, 523, 524, 525, -1, 527, 528,
++ -1, 530, -1, 532, 533, 534, 535, -1, -1, 538,
++ 539, -1, 541, 542, 543, 544, -1, -1, -1, -1,
++ -1, 550, 551, 552, -1, -1, -1, -1, 557, 558,
++ 559, -1, 561, 562, -1, 564, 565, -1, -1, -1,
++ -1, -1, 571, -1, -1, 574, -1, -1, -1, 578,
++ 579, 580, -1, -1, -1, -1, -1, -1, 587, -1,
++ -1, 590, -1, -1, -1, 594, 595, 596, 597, 598,
++ 599, -1, -1, 602, -1, -1, -1, 606, -1, -1,
++ 609, -1, 611, -1, 5, 614, 7, 8, 9, 10,
++ 11, -1, -1, 14, -1, -1, -1, 18, -1, -1,
++ -1, -1, 23, 24, 25, 26, 27, 28, -1, -1,
++ 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
++ -1, 42, 43, 44, -1, 46, -1, -1, -1, -1,
++ -1, 52, 53, -1, 55, 56, -1, 58, -1, -1,
++ -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
++ -1, 72, 73, -1, -1, -1, -1, -1, -1, -1,
++ 81, -1, 83, -1, 85, 86, 87, 88, -1, 90,
++ 91, -1, 93, 94, 95, -1, 97, -1, 99, -1,
++ -1, 102, -1, -1, 105, -1, -1, -1, 109, -1,
++ -1, -1, 113, 114, 115, -1, -1, 118, -1, -1,
++ -1, -1, 123, -1, -1, -1, -1, -1, 129, -1,
++ 131, -1, -1, -1, 135, -1, 137, 138, 139, 140,
++ -1, -1, -1, -1, -1, -1, 147, 148, 149, -1,
++ -1, -1, 153, -1, -1, 156, -1, 158, 159, 160,
++ -1, 162, 163, -1, 165, 166, 167, 168, -1, -1,
++ -1, -1, 173, 174, 175, -1, -1, 178, 179, 180,
++ 181, 182, 183, -1, -1, -1, -1, -1, -1, 190,
++ -1, 192, -1, 194, -1, 196, 197, 198, 199, 200,
++ 201, -1, 203, -1, -1, -1, 207, 208, -1, -1,
++ -1, -1, -1, -1, 215, -1, -1, -1, 219, 220,
++ 221, 222, 223, -1, 225, 226, 227, -1, 229, -1,
++ 231, -1, -1, -1, -1, 236, -1, -1, -1, -1,
++ 241, -1, 243, 244, -1, 246, 247, 248, -1, -1,
++ 251, -1, -1, -1, 255, 256, -1, -1, 259, 260,
++ -1, 262, 263, -1, -1, -1, -1, -1, 269, 270,
++ -1, 272, -1, 274, -1, 276, 277, -1, -1, -1,
++ -1, 282, -1, 284, 285, 286, 287, 288, 289, 290,
++ 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
++ -1, 302, 303, 304, 305, -1, 307, 308, -1, -1,
++ -1, -1, 313, 314, 315, 316, 317, 318, -1, -1,
++ 321, 322, -1, 324, -1, 326, -1, 328, 329, 330,
++ 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
++ 341, -1, -1, 344, 345, 346, 347, -1, -1, -1,
++ -1, 352, -1, -1, -1, -1, 357, 358, 359, -1,
++ 361, 362, 363, 364, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, 377, 378, -1, -1,
++ -1, -1, 383, 384, 385, -1, 387, 388, 389, 390,
++ 391, 392, 393, -1, -1, -1, -1, 398, 399, -1,
++ 401, -1, 403, 404, 405, 406, 407, -1, 409, 410,
++ 411, -1, -1, 414, -1, -1, -1, 418, 419, 420,
++ 421, 422, -1, -1, 425, 426, 427, 428, 429, -1,
++ 431, -1, -1, 434, -1, 436, 437, -1, 439, -1,
++ -1, -1, 443, -1, -1, 446, 447, 448, -1, -1,
++ -1, 452, 453, 454, 455, 456, 457, -1, 459, 460,
++ -1, 462, -1, -1, -1, -1, 467, 468, 469, -1,
++ -1, -1, -1, 474, -1, -1, -1, 478, -1, -1,
++ 481, -1, 483, -1, 485, -1, 487, -1, 489, 490,
++ -1, -1, -1, -1, -1, -1, 497, 498, -1, 500,
++ -1, -1, 503, -1, -1, 506, -1, 508, -1, -1,
++ -1, 512, -1, 514, 515, 516, 517, 518, 519, -1,
++ -1, 522, 523, 524, 525, -1, 527, 528, -1, 530,
++ -1, 532, 533, 534, 535, -1, -1, 538, 539, -1,
++ 541, 542, 543, 544, -1, -1, -1, -1, -1, 550,
++ 551, 552, -1, -1, -1, -1, 557, 558, 559, -1,
++ 561, 562, -1, 564, 565, -1, -1, -1, -1, -1,
++ 571, -1, -1, 574, -1, -1, -1, 578, 579, 580,
++ -1, -1, -1, -1, -1, -1, 587, -1, -1, 590,
++ -1, -1, -1, 594, 595, 596, 597, 598, 599, -1,
++ -1, 602, -1, -1, -1, 606, -1, -1, 609, -1,
++ 611, -1, 5, 614, 7, 8, 9, 10, 11, -1,
++ -1, 14, -1, -1, -1, 18, -1, -1, -1, -1,
++ 23, 24, 25, 26, 27, 28, -1, -1, 31, -1,
++ -1, -1, 35, -1, -1, -1, 39, -1, -1, 42,
++ 43, 44, -1, 46, -1, -1, -1, -1, -1, 52,
++ 53, -1, 55, 56, -1, 58, -1, -1, -1, -1,
++ -1, 64, 65, 66, 67, 68, 69, 70, -1, 72,
++ 73, -1, -1, -1, -1, -1, -1, -1, 81, -1,
++ 83, -1, 85, 86, 87, 88, -1, 90, 91, -1,
++ 93, 94, 95, -1, 97, -1, 99, -1, -1, 102,
++ -1, -1, 105, -1, -1, -1, 109, -1, -1, -1,
++ 113, 114, 115, -1, -1, 118, -1, -1, -1, -1,
++ 123, -1, -1, -1, -1, -1, 129, -1, 131, -1,
++ -1, -1, 135, -1, 137, 138, 139, 140, -1, -1,
++ -1, -1, -1, -1, 147, 148, 149, -1, -1, -1,
++ 153, -1, -1, 156, -1, 158, 159, 160, -1, 162,
++ 163, -1, 165, 166, 167, 168, -1, -1, -1, -1,
++ 173, 174, 175, -1, -1, 178, 179, 180, 181, 182,
++ 183, -1, -1, -1, -1, -1, -1, 190, -1, 192,
++ -1, 194, -1, 196, 197, 198, 199, 200, 201, -1,
++ 203, -1, -1, -1, 207, 208, -1, -1, -1, -1,
++ -1, -1, 215, -1, -1, -1, 219, 220, 221, 222,
++ 223, -1, 225, 226, 227, -1, 229, -1, 231, -1,
++ -1, -1, -1, 236, -1, -1, -1, -1, 241, -1,
++ 243, 244, -1, 246, 247, 248, -1, -1, 251, -1,
++ -1, -1, 255, 256, -1, -1, 259, 260, -1, 262,
++ 263, -1, -1, -1, -1, -1, 269, 270, -1, 272,
++ -1, 274, -1, 276, 277, -1, -1, -1, -1, 282,
++ -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
++ 293, 294, 295, 296, -1, 298, 299, 300, -1, 302,
++ 303, 304, 305, -1, 307, 308, -1, -1, -1, -1,
++ 313, 314, 315, 316, 317, 318, -1, -1, 321, 322,
++ -1, 324, -1, 326, -1, 328, 329, 330, 331, 332,
++ 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
++ -1, 344, 345, 346, 347, -1, -1, -1, -1, 352,
++ -1, -1, -1, -1, 357, 358, 359, -1, 361, 362,
++ 363, 364, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, 377, 378, -1, -1, -1, -1,
++ 383, 384, 385, -1, 387, 388, 389, 390, 391, 392,
++ 393, -1, -1, -1, -1, 398, 399, -1, 401, -1,
++ 403, 404, 405, 406, 407, -1, 409, 410, 411, -1,
++ -1, 414, -1, -1, -1, 418, 419, 420, 421, 422,
++ -1, -1, 425, 426, 427, 428, 429, -1, 431, -1,
++ -1, 434, -1, 436, 437, -1, 439, -1, -1, -1,
++ 443, -1, -1, 446, 447, 448, -1, -1, -1, 452,
++ 453, 454, 455, 456, 457, -1, 459, 460, -1, 462,
++ -1, -1, -1, -1, 467, 468, 469, -1, -1, -1,
++ -1, 474, -1, -1, -1, 478, -1, -1, 481, -1,
++ 483, -1, 485, -1, 487, -1, 489, 490, -1, -1,
++ -1, -1, -1, -1, 497, 498, -1, 500, -1, -1,
++ 503, -1, -1, 506, -1, 508, -1, -1, -1, 512,
++ -1, 514, 515, 516, 517, 518, 519, -1, -1, 522,
++ 523, 524, 525, -1, 527, 528, -1, 530, -1, 532,
++ 533, 534, 535, -1, -1, 538, 539, -1, 541, 542,
++ 543, 544, -1, -1, -1, -1, -1, 550, 551, 552,
++ -1, -1, -1, -1, 557, 558, 559, -1, 561, 562,
++ -1, 564, 565, -1, -1, -1, -1, -1, 571, -1,
++ -1, 574, -1, -1, -1, 578, 579, 580, -1, -1,
++ -1, -1, -1, -1, 587, -1, -1, 590, -1, -1,
++ -1, 594, 595, 596, 597, 598, 599, -1, -1, 602,
++ -1, -1, -1, 606, -1, -1, 609, -1, 611, -1,
++ 5, 614, 7, 8, 9, 10, 11, -1, -1, 14,
++ -1, -1, -1, 18, -1, -1, -1, -1, 23, 24,
++ 25, 26, 27, 28, -1, -1, -1, -1, -1, -1,
++ 35, -1, -1, -1, 39, -1, -1, 42, 43, 44,
++ -1, 46, -1, -1, -1, -1, -1, 52, -1, -1,
++ 55, 56, -1, 58, -1, -1, -1, -1, -1, 64,
++ 65, 66, 67, -1, 69, 70, -1, 72, 73, -1,
++ -1, -1, -1, -1, -1, -1, 81, -1, 83, -1,
++ 85, 86, 87, 88, -1, 90, 91, -1, 93, 94,
++ 95, -1, 97, -1, 99, -1, -1, 102, -1, -1,
++ 105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
++ 115, -1, -1, 118, -1, -1, -1, -1, 123, -1,
++ -1, -1, -1, -1, 129, -1, 131, -1, -1, -1,
++ 135, -1, 137, 138, 139, 140, -1, -1, -1, -1,
++ -1, -1, 147, 148, 149, -1, -1, -1, 153, -1,
++ -1, 156, -1, 158, 159, 160, -1, 162, 163, -1,
++ 165, 166, 167, 168, -1, -1, -1, -1, 173, 174,
++ 175, -1, -1, 178, 179, -1, 181, 182, 183, -1,
++ -1, -1, -1, -1, -1, 190, -1, 192, -1, 194,
++ -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
++ -1, -1, 207, 208, -1, -1, -1, -1, -1, -1,
++ 215, -1, -1, -1, 219, 220, 221, 222, -1, -1,
++ 225, 226, 227, -1, 229, -1, 231, -1, -1, -1,
++ -1, 236, -1, -1, -1, -1, 241, -1, 243, 244,
++ -1, 246, 247, -1, -1, -1, 251, -1, -1, -1,
++ 255, 256, -1, -1, 259, -1, -1, 262, 263, -1,
++ -1, -1, -1, -1, 269, 270, -1, 272, -1, 274,
++ -1, 276, 277, -1, -1, -1, -1, -1, -1, 284,
++ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
++ 295, 296, -1, 298, 299, 300, -1, 302, 303, 304,
++ 305, -1, 307, 308, -1, -1, -1, -1, 313, 314,
++ 315, 316, 317, 318, -1, -1, 321, 322, -1, 324,
++ -1, 326, -1, 328, 329, 330, 331, 332, 333, 334,
++ 335, 336, 337, -1, -1, 340, 341, -1, -1, 344,
++ 345, 346, 347, -1, -1, -1, -1, 352, -1, -1,
++ -1, -1, 357, 358, 359, -1, 361, 362, 363, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, 377, 378, -1, -1, -1, -1, 383, 384,
++ 385, -1, 387, 388, 389, 390, 391, 392, 393, -1,
++ -1, -1, -1, 398, 399, -1, 401, -1, 403, 404,
++ 405, 406, 407, -1, 409, 410, 411, -1, -1, 414,
++ -1, -1, -1, 418, 419, 420, 421, 422, -1, -1,
++ 425, 426, 427, 428, 429, -1, 431, -1, -1, 434,
++ -1, 436, -1, -1, 439, -1, -1, -1, 443, -1,
++ -1, 446, 447, -1, -1, -1, -1, 452, 453, 454,
++ 455, 456, 457, -1, 459, 460, -1, 462, -1, -1,
++ -1, -1, 467, 468, 469, -1, -1, -1, -1, 474,
++ -1, -1, -1, 478, -1, -1, 481, -1, 483, -1,
++ 485, -1, 487, -1, 489, 490, -1, -1, -1, -1,
++ -1, -1, 497, 498, -1, 500, -1, -1, 503, -1,
++ -1, 506, -1, 508, -1, -1, -1, 512, -1, 514,
++ 515, 516, 517, 518, 519, -1, -1, 522, 523, 524,
++ 525, -1, 527, 528, -1, 530, -1, 532, 533, 534,
++ 535, -1, -1, 538, 539, -1, 541, 542, 543, 544,
++ -1, -1, -1, -1, -1, 550, 551, 552, -1, -1,
++ -1, -1, 557, 558, 559, -1, 561, 562, -1, 564,
++ 565, -1, -1, -1, -1, -1, 571, -1, -1, 574,
++ -1, -1, -1, 578, 579, 580, -1, -1, -1, -1,
++ -1, -1, 587, -1, -1, 590, -1, -1, -1, 594,
++ 595, 596, 597, 598, 599, -1, -1, -1, -1, -1,
++ -1, 606, -1, -1, 609, -1, 611, -1, -1, 614
++};
++
++ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
++ symbol of state STATE-NUM. */
++static const yytype_uint16 yystos[] =
++{
++ 0, 13, 15, 31, 35, 49, 50, 57, 62, 63,
++ 84, 103, 124, 132, 133, 134, 144, 145, 157, 170,
++ 186, 202, 206, 210, 235, 237, 253, 271, 275, 365,
++ 382, 386, 397, 408, 430, 433, 435, 438, 441, 442,
++ 449, 451, 458, 464, 472, 477, 479, 482, 507, 511,
++ 556, 568, 572, 575, 581, 610, 616, 629, 640, 643,
++ 644, 645, 646, 647, 649, 654, 656, 663, 693, 721,
++ 728, 837, 928, 1002, 1045, 1048, 1056, 1061, 1067, 1069,
++ 1072, 1078, 1081, 1086, 1093, 1105, 1106, 1272, 1274, 1284,
++ 1287, 1312, 1320, 1331, 1338, 1352, 1355, 1358, 1368, 1374,
++ 1378, 1383, 1384, 1434, 1451, 1457, 1459, 1466, 1468, 1496,
++ 1502, 1503, 1504, 1505, 1558, 1566, 1567, 1568, 11, 111,
++ 129, 194, 276, 402, 470, 528, 1037, 1038, 1527, 1528,
++ 1529, 1532, 272, 353, 1080, 1497, 537, 1425, 228, 5,
++ 7, 8, 9, 10, 11, 14, 18, 21, 23, 24,
++ 25, 26, 27, 28, 29, 31, 35, 39, 42, 43,
++ 44, 46, 48, 49, 52, 55, 56, 58, 59, 61,
++ 62, 64, 65, 66, 67, 68, 69, 70, 72, 73,
++ 74, 75, 76, 77, 78, 79, 81, 82, 83, 84,
++ 85, 86, 87, 88, 90, 91, 93, 94, 95, 96,
++ 97, 99, 102, 105, 109, 113, 114, 115, 118, 123,
++ 124, 129, 131, 135, 137, 138, 139, 140, 144, 147,
++ 148, 149, 153, 155, 156, 158, 159, 160, 162, 163,
++ 165, 166, 167, 168, 169, 170, 173, 174, 175, 178,
++ 179, 181, 182, 183, 186, 190, 192, 194, 196, 197,
++ 198, 199, 200, 201, 203, 206, 207, 208, 210, 214,
++ 215, 219, 220, 221, 222, 225, 226, 227, 229, 231,
++ 236, 237, 241, 243, 244, 246, 247, 251, 254, 255,
++ 256, 259, 262, 263, 269, 270, 272, 274, 276, 277,
++ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
++ 294, 295, 296, 298, 299, 300, 302, 303, 304, 305,
++ 307, 308, 313, 314, 315, 316, 317, 318, 321, 322,
++ 324, 326, 328, 329, 330, 331, 332, 333, 334, 335,
++ 336, 337, 340, 341, 344, 345, 346, 347, 351, 352,
++ 357, 358, 359, 361, 362, 363, 364, 366, 367, 376,
++ 377, 378, 381, 383, 384, 385, 386, 387, 388, 389,
++ 390, 391, 392, 393, 394, 397, 398, 399, 401, 403,
++ 404, 405, 406, 407, 409, 410, 411, 414, 418, 419,
++ 420, 421, 422, 425, 426, 427, 428, 429, 431, 432,
++ 434, 435, 436, 439, 441, 443, 444, 446, 447, 451,
++ 452, 453, 454, 455, 456, 457, 458, 459, 460, 462,
++ 463, 467, 468, 469, 470, 474, 478, 480, 481, 482,
++ 483, 485, 486, 487, 488, 489, 490, 497, 498, 500,
++ 503, 506, 507, 508, 511, 512, 514, 515, 516, 517,
++ 518, 519, 522, 523, 524, 525, 527, 528, 530, 532,
++ 533, 534, 535, 538, 539, 541, 542, 543, 544, 550,
++ 551, 552, 556, 557, 558, 559, 561, 562, 564, 565,
++ 567, 568, 571, 574, 576, 578, 579, 580, 587, 590,
++ 594, 595, 596, 597, 598, 599, 606, 607, 609, 610,
++ 611, 614, 687, 1424, 1428, 1432, 1433, 298, 527, 531,
++ 1453, 1073, 606, 1498, 111, 193, 276, 470, 491, 528,
++ 534, 570, 578, 669, 670, 889, 890, 891, 980, 981,
++ 982, 1321, 1273, 111, 167, 194, 228, 276, 402, 470,
++ 528, 534, 553, 578, 595, 1283, 1428, 1080, 686, 637,
++ 1421, 1423, 1428, 655, 1285, 391, 488, 1379, 114, 228,
++ 611, 1389, 1453, 1080, 629, 838, 1428, 1375, 458, 578,
++ 1453, 1080, 1288, 1369, 494, 718, 722, 723, 1428, 686,
++ 1498, 1428, 1109, 1111, 1112, 367, 1436, 1339, 722, 507,
++ 511, 482, 550, 482, 531, 1333, 391, 488, 1458, 1313,
++ 1428, 31, 84, 155, 397, 419, 451, 507, 1560, 464,
++ 629, 1107, 0, 157, 641, 397, 174, 385, 1356, 1421,
++ 1428, 617, 1013, 1428, 617, 687, 204, 687, 264, 1425,
++ 1428, 1430, 783, 784, 787, 810, 1428, 531, 224, 363,
++ 1039, 1040, 1041, 167, 1008, 1527, 1453, 1498, 1087, 694,
++ 637, 548, 1057, 595, 1070, 1453, 17, 1499, 223, 892,
++ 204, 1430, 785, 810, 686, 372, 1524, 1528, 1529, 1530,
++ 1531, 1532, 531, 890, 228, 228, 228, 224, 283, 411,
++ 1329, 1330, 7, 21, 28, 34, 36, 37, 38, 40,
++ 53, 54, 59, 60, 69, 72, 74, 75, 76, 77,
++ 78, 79, 96, 100, 101, 106, 107, 110, 111, 116,
++ 117, 118, 123, 125, 128, 171, 176, 177, 184, 198,
++ 200, 205, 211, 212, 219, 223, 235, 238, 256, 261,
++ 269, 280, 301, 306, 317, 321, 323, 327, 328, 329,
++ 330, 331, 339, 348, 349, 350, 354, 355, 359, 380,
++ 387, 392, 393, 395, 409, 437, 438, 450, 456, 462,
++ 509, 510, 516, 520, 521, 526, 537, 541, 542, 543,
++ 544, 554, 555, 556, 560, 563, 578, 583, 584, 585,
++ 586, 591, 593, 599, 614, 622, 623, 628, 629, 632,
++ 633, 636, 637, 1127, 1128, 1129, 1130, 1134, 1141, 1142,
++ 1143, 1144, 1145, 1146, 1154, 1158, 1171, 1408, 1410, 1412,
++ 1413, 1417, 1419, 1424, 1428, 223, 1282, 1282, 1282, 1428,
++ 204, 1282, 1282, 810, 1282, 686, 1282, 1453, 650, 1359,
++ 12, 13, 103, 132, 145, 167, 170, 181, 202, 228,
++ 235, 275, 403, 407, 423, 431, 439, 464, 477, 478,
++ 522, 553, 575, 577, 1469, 1471, 1473, 1474, 1428, 364,
++ 68, 415, 637, 1430, 130, 213, 283, 1290, 1428, 1425,
++ 207, 487, 1380, 239, 1385, 1452, 1453, 929, 1122, 47,
++ 839, 191, 34, 298, 1344, 1376, 1428, 686, 1082, 1062,
++ 130, 283, 1291, 1319, 298, 410, 482, 1370, 1371, 587,
++ 719, 472, 724, 12, 407, 1467, 1471, 548, 1499, 1110,
++ 12, 141, 213, 496, 497, 498, 499, 500, 501, 513,
++ 1116, 1117, 1118, 1523, 1435, 24, 35, 59, 60, 67,
++ 72, 99, 101, 103, 112, 159, 163, 166, 192, 194,
++ 201, 203, 227, 228, 229, 250, 272, 298, 364, 390,
++ 401, 402, 405, 406, 426, 469, 482, 512, 530, 531,
++ 579, 598, 954, 979, 1340, 1344, 1345, 1347, 1442, 724,
++ 1050, 1051, 1050, 1050, 603, 1049, 1050, 1332, 1428, 1425,
++ 1453, 1319, 36, 211, 212, 537, 1409, 1426, 1559, 1559,
++ 1559, 1559, 1559, 1111, 1107, 630, 635, 1428, 1354, 1353,
++ 315, 535, 562, 1004, 576, 107, 1430, 1431, 1006, 789,
++ 811, 1428, 1005, 366, 6, 57, 145, 349, 414, 416,
++ 812, 1421, 1041, 687, 502, 1533, 1534, 1007, 1068, 1088,
++ 1089, 1090, 1091, 1421, 629, 695, 1428, 657, 1278, 1279,
++ 1421, 1071, 1278, 56, 351, 351, 430, 1500, 348, 349,
++ 1133, 1428, 788, 811, 188, 6, 1431, 1484, 1487, 438,
++ 10, 402, 553, 673, 1122, 1526, 1534, 1542, 1546, 1547,
++ 1553, 673, 1122, 1525, 1534, 1542, 1547, 1553, 1527, 1532,
++ 892, 1428, 1428, 1428, 191, 1322, 1326, 1327, 1428, 1329,
++ 629, 629, 629, 1141, 629, 629, 629, 1127, 1174, 629,
++ 629, 629, 629, 629, 629, 629, 629, 629, 629, 629,
++ 629, 629, 629, 629, 1126, 1126, 629, 1125, 629, 629,
++ 629, 563, 629, 1408, 629, 629, 629, 629, 629, 629,
++ 629, 629, 629, 629, 629, 1127, 629, 629, 629, 629,
++ 1172, 1173, 1417, 1428, 629, 629, 629, 629, 629, 629,
++ 629, 629, 629, 1127, 1125, 629, 629, 629, 629, 629,
++ 629, 629, 629, 629, 629, 629, 629, 629, 629, 629,
++ 629, 1125, 629, 1408, 629, 629, 629, 1408, 629, 629,
++ 36, 211, 212, 537, 953, 629, 1126, 1125, 1125, 629,
++ 629, 629, 629, 629, 1141, 1141, 1141, 1127, 1518, 1519,
++ 1428, 1159, 1428, 16, 17, 369, 372, 612, 1131, 1132,
++ 161, 195, 245, 257, 342, 617, 618, 619, 1135, 32,
++ 142, 242, 265, 327, 424, 475, 476, 489, 620, 621,
++ 622, 623, 624, 625, 626, 627, 1133, 1141, 71, 371,
++ 631, 1426, 629, 637, 171, 1428, 687, 1428, 360, 811,
++ 687, 1430, 821, 1345, 687, 1431, 1483, 1277, 1282, 582,
++ 651, 34, 67, 135, 159, 162, 196, 215, 229, 277,
++ 298, 401, 410, 425, 443, 482, 483, 508, 530, 579,
++ 1360, 1364, 1365, 1453, 401, 1472, 453, 453, 528, 534,
++ 578, 595, 367, 1476, 527, 360, 1478, 66, 482, 1475,
++ 112, 595, 1477, 360, 631, 19, 617, 1224, 1225, 1460,
++ 1428, 224, 1036, 488, 90, 410, 1381, 49, 88, 283,
++ 1391, 1421, 1454, 1455, 1079, 630, 1127, 267, 270, 412,
++ 840, 842, 636, 648, 1425, 277, 1083, 1431, 1084, 1085,
++ 1421, 595, 1059, 1453, 239, 1279, 1292, 1293, 49, 1372,
++ 631, 1426, 55, 65, 81, 93, 94, 95, 109, 316,
++ 334, 460, 515, 533, 725, 727, 1472, 360, 360, 458,
++ 1501, 1500, 569, 1506, 1507, 624, 1120, 1121, 1122, 1118,
++ 1437, 1438, 1439, 166, 472, 265, 601, 1351, 629, 111,
++ 167, 194, 402, 531, 553, 595, 1351, 12, 901, 1430,
++ 266, 1243, 1245, 191, 242, 1346, 1348, 70, 508, 189,
++ 508, 527, 70, 508, 12, 42, 97, 102, 244, 314,
++ 378, 490, 524, 1334, 1335, 1336, 166, 215, 508, 508,
++ 1243, 1351, 1348, 277, 158, 73, 404, 527, 552, 508,
++ 590, 1047, 429, 503, 1052, 1053, 1046, 91, 1279, 1036,
++ 631, 362, 1562, 523, 1563, 249, 446, 1561, 630, 1507,
++ 1509, 1511, 1512, 157, 642, 1105, 1357, 1409, 1428, 128,
++ 887, 888, 898, 899, 963, 114, 1126, 636, 688, 6,
++ 790, 688, 629, 113, 807, 807, 807, 4, 1003, 1009,
++ 463, 595, 1534, 1278, 242, 631, 386, 1099, 1101, 1102,
++ 696, 697, 1127, 225, 284, 285, 286, 287, 288, 289,
++ 291, 292, 293, 294, 295, 296, 297, 299, 300, 427,
++ 428, 658, 659, 662, 174, 411, 631, 1058, 1278, 58,
++ 174, 178, 189, 313, 411, 1074, 1075, 1076, 56, 430,
++ 171, 668, 790, 114, 807, 221, 631, 1122, 1122, 1122,
++ 167, 194, 194, 1534, 1421, 983, 984, 983, 983, 1280,
++ 1281, 1421, 1422, 1428, 631, 1324, 637, 1328, 1127, 1127,
++ 12, 141, 1166, 1226, 1166, 1166, 1166, 600, 1176, 1127,
++ 1127, 1171, 1171, 1127, 1127, 1127, 1139, 1140, 1127, 1127,
++ 1127, 1127, 1127, 1127, 141, 1166, 1226, 630, 125, 184,
++ 211, 280, 355, 560, 630, 1252, 1255, 1256, 630, 1127,
++ 1127, 1127, 1127, 1417, 1518, 119, 120, 121, 122, 123,
++ 216, 217, 218, 219, 317, 319, 320, 321, 328, 409,
++ 461, 462, 599, 613, 614, 1221, 1222, 1171, 115, 118,
++ 541, 544, 1223, 141, 1161, 1127, 1127, 1127, 1127, 1221,
++ 1171, 1127, 1171, 1173, 9, 631, 637, 141, 1166, 1127,
++ 1127, 141, 1166, 1127, 1127, 1171, 1171, 1171, 1127, 1127,
++ 1127, 1171, 1130, 1127, 1127, 1127, 1127, 1127, 1127, 1166,
++ 1166, 1127, 1127, 141, 1166, 1127, 1222, 1222, 1127, 45,
++ 258, 549, 1127, 1127, 630, 1418, 1419, 1428, 1166, 1166,
++ 1127, 1127, 630, 631, 630, 464, 629, 1515, 1516, 1127,
++ 636, 1160, 1430, 637, 1127, 1127, 1127, 1129, 177, 354,
++ 555, 571, 1133, 12, 18, 1129, 1136, 1130, 1130, 629,
++ 1141, 1130, 1130, 1130, 1130, 265, 1130, 1130, 238, 1130,
++ 238, 1130, 1130, 1130, 1130, 1130, 32, 242, 265, 424,
++ 1430, 1141, 1127, 1147, 1428, 637, 1421, 821, 352, 597,
++ 822, 823, 159, 631, 1278, 1275, 636, 652, 653, 277,
++ 277, 277, 277, 49, 277, 277, 631, 1361, 527, 629,
++ 1488, 1431, 1488, 1488, 1488, 194, 402, 531, 1470, 1474,
++ 1428, 182, 345, 1428, 1461, 1462, 1292, 1425, 578, 1127,
++ 1382, 1094, 272, 1390, 1225, 631, 1278, 1123, 73, 629,
++ 847, 848, 847, 848, 385, 850, 208, 252, 1430, 30,
++ 548, 1377, 631, 548, 631, 548, 1060, 1278, 1293, 1289,
++ 12, 1373, 1371, 631, 617, 631, 1431, 194, 402, 1470,
++ 1428, 12, 141, 1514, 631, 1113, 1127, 1415, 1428, 631,
++ 201, 272, 361, 469, 1440, 1441, 1444, 1445, 242, 1349,
++ 1425, 1127, 624, 892, 687, 687, 687, 1421, 687, 1421,
++ 277, 332, 508, 1343, 1343, 280, 355, 454, 560, 1246,
++ 1247, 1410, 1428, 1351, 1428, 687, 1351, 1431, 1346, 687,
++ 1351, 243, 525, 179, 189, 1337, 631, 1349, 1346, 1421,
++ 1348, 1346, 1346, 1351, 1351, 574, 1054, 631, 1054, 485,
++ 464, 629, 633, 1177, 1178, 1179, 1180, 1181, 1190, 1191,
++ 1205, 1409, 389, 1564, 370, 1239, 1245, 1513, 888, 71,
++ 954, 137, 1430, 82, 96, 254, 325, 351, 413, 502,
++ 690, 692, 420, 564, 808, 809, 231, 804, 805, 806,
++ 813, 821, 823, 111, 214, 376, 387, 394, 486, 578,
++ 671, 672, 1425, 25, 305, 798, 799, 800, 813, 814,
++ 815, 821, 823, 791, 792, 798, 6, 13, 15, 26,
++ 27, 57, 62, 63, 69, 82, 90, 100, 114, 131,
++ 138, 139, 145, 153, 159, 187, 226, 228, 236, 251,
++ 304, 322, 326, 365, 370, 377, 379, 386, 387, 418,
++ 432, 433, 434, 435, 455, 512, 528, 532, 551, 556,
++ 569, 834, 894, 896, 898, 899, 1014, 1018, 1020, 1023,
++ 1029, 1030, 1031, 1235, 1424, 360, 681, 1010, 129, 241,
++ 1421, 128, 1092, 1428, 1090, 1421, 836, 1101, 228, 252,
++ 977, 1103, 630, 631, 617, 617, 617, 617, 617, 617,
++ 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
++ 617, 617, 631, 1279, 189, 1077, 576, 1075, 886, 887,
++ 82, 346, 421, 565, 801, 802, 803, 813, 817, 818,
++ 819, 820, 821, 823, 607, 581, 786, 47, 594, 603,
++ 1485, 1487, 194, 687, 687, 892, 687, 1428, 664, 558,
++ 582, 991, 360, 360, 360, 631, 1325, 1323, 637, 1328,
++ 1327, 191, 624, 1428, 631, 630, 1166, 630, 1167, 630,
++ 630, 630, 1127, 151, 600, 1175, 19, 630, 582, 630,
++ 630, 630, 631, 631, 630, 631, 631, 631, 631, 630,
++ 631, 582, 631, 1155, 630, 624, 630, 631, 631, 630,
++ 630, 630, 630, 191, 630, 631, 1157, 630, 631, 631,
++ 631, 623, 630, 631, 630, 630, 629, 1417, 1428, 1166,
++ 630, 630, 630, 1166, 630, 631, 630, 630, 630, 630,
++ 630, 630, 631, 630, 242, 630, 631, 631, 631, 631,
++ 630, 630, 630, 631, 191, 631, 1166, 630, 630, 631,
++ 631, 631, 630, 191, 1127, 191, 1127, 191, 1127, 191,
++ 630, 631, 630, 630, 630, 630, 631, 630, 1171, 1195,
++ 1196, 1197, 464, 629, 1108, 1510, 1511, 569, 1520, 634,
++ 201, 272, 469, 1443, 473, 1428, 177, 354, 555, 571,
++ 629, 17, 1127, 1518, 165, 1231, 1130, 1127, 1127, 1130,
++ 629, 1141, 1130, 1122, 1151, 1152, 1153, 629, 637, 1428,
++ 1276, 822, 473, 617, 1303, 1304, 1431, 51, 445, 1042,
++ 1278, 1430, 631, 1365, 1278, 1366, 1428, 1489, 1490, 548,
++ 624, 1421, 1428, 1482, 1482, 1482, 182, 195, 255, 257,
++ 345, 399, 617, 618, 619, 1463, 1465, 601, 1227, 1286,
++ 1431, 1095, 1096, 1097, 1098, 1421, 230, 283, 415, 608,
++ 1456, 1455, 629, 1122, 1252, 519, 851, 841, 11, 843,
++ 1127, 1425, 1431, 1431, 1085, 1421, 1278, 174, 411, 580,
++ 1063, 1064, 1065, 464, 472, 586, 587, 629, 882, 1294,
++ 1297, 727, 118, 541, 544, 726, 1158, 1412, 1417, 202,
++ 191, 1482, 1482, 1482, 1508, 1121, 191, 239, 1114, 1115,
++ 1238, 1239, 1267, 1123, 1123, 637, 1438, 128, 550, 1428,
++ 1447, 335, 387, 636, 954, 1446, 1425, 191, 1350, 630,
++ 1428, 169, 454, 358, 631, 1351, 410, 1243, 1336, 1350,
++ 1351, 1346, 1421, 1351, 1351, 662, 1055, 1053, 1204, 1428,
++ 104, 232, 249, 261, 338, 450, 513, 1189, 472, 631,
++ 1421, 1204, 631, 189, 1565, 47, 1243, 1304, 1304, 336,
++ 1425, 502, 502, 502, 502, 502, 463, 1425, 1425, 1304,
++ 631, 806, 1425, 1425, 1425, 1425, 125, 184, 211, 280,
++ 355, 560, 1251, 1425, 1425, 630, 631, 1304, 1304, 631,
++ 800, 793, 794, 813, 814, 815, 80, 92, 386, 910,
++ 917, 918, 975, 977, 981, 982, 1035, 1035, 386, 1304,
++ 1304, 1035, 1304, 386, 386, 1304, 1304, 548, 137, 1304,
++ 250, 528, 188, 386, 400, 977, 1035, 250, 1304, 528,
++ 137, 1304, 1304, 1304, 1304, 1035, 386, 47, 1304, 1304,
++ 836, 1304, 386, 384, 19, 548, 617, 1044, 386, 386,
++ 1304, 140, 314, 1428, 1304, 1304, 386, 1304, 894, 631,
++ 833, 834, 1018, 629, 637, 909, 919, 1420, 1428, 1303,
++ 86, 459, 433, 1011, 1535, 1100, 629, 1127, 629, 1251,
++ 1425, 1425, 125, 184, 280, 355, 560, 1253, 1425, 1251,
++ 1425, 1425, 1425, 1425, 1425, 1251, 1251, 1425, 1413, 1425,
++ 1251, 659, 576, 1304, 1304, 1304, 1304, 631, 803, 1430,
++ 276, 175, 795, 796, 797, 813, 814, 815, 816, 819,
++ 820, 821, 823, 387, 537, 1430, 1428, 1554, 8, 30,
++ 781, 687, 629, 447, 265, 629, 825, 893, 895, 896,
++ 46, 208, 457, 996, 996, 1421, 1421, 1421, 1281, 1428,
++ 582, 1227, 1428, 1178, 637, 1328, 238, 1127, 630, 1127,
++ 540, 1127, 1127, 155, 34, 60, 115, 118, 126, 143,
++ 240, 340, 480, 544, 573, 1168, 34, 955, 1430, 1140,
++ 1127, 1139, 1171, 1127, 1127, 1127, 955, 1168, 1171, 630,
++ 238, 238, 1127, 1127, 1171, 1127, 1127, 1127, 1127, 1127,
++ 1130, 630, 630, 1127, 1127, 1127, 1127, 1127, 1127, 1171,
++ 238, 1127, 1127, 1127, 630, 1127, 1127, 1127, 1127, 191,
++ 1127, 191, 1127, 191, 1127, 1127, 1127, 630, 1521, 1522,
++ 1523, 1196, 1108, 630, 1514, 637, 637, 637, 1430, 1127,
++ 1518, 1129, 630, 631, 630, 1141, 1221, 1221, 17, 1127,
++ 1518, 1231, 1127, 630, 631, 1170, 1171, 1428, 900, 1430,
++ 1042, 653, 1362, 630, 631, 1484, 637, 637, 548, 548,
++ 548, 1464, 1228, 1244, 1245, 1294, 631, 1099, 1101, 537,
++ 1427, 608, 272, 88, 844, 845, 846, 1428, 856, 1130,
++ 47, 629, 858, 848, 617, 629, 548, 191, 1066, 1064,
++ 883, 1295, 629, 1300, 1305, 1300, 630, 882, 1296, 1414,
++ 1415, 1418, 1428, 1298, 617, 367, 1483, 191, 191, 191,
++ 1106, 146, 1178, 1268, 189, 275, 1119, 1267, 1244, 1115,
++ 19, 1124, 1425, 1428, 624, 1428, 637, 246, 637, 1303,
++ 128, 955, 956, 1303, 189, 1303, 636, 1430, 34, 128,
++ 958, 959, 1430, 1253, 1341, 163, 598, 1247, 1248, 169,
++ 1247, 1247, 355, 1342, 1227, 1346, 631, 1192, 1199, 1204,
++ 1177, 249, 249, 373, 1206, 249, 261, 450, 1206, 1190,
++ 1177, 1315, 1316, 1418, 1179, 1225, 1201, 1202, 1251, 318,
++ 1240, 128, 960, 962, 1430, 956, 114, 114, 129, 241,
++ 211, 280, 355, 560, 824, 1254, 1255, 1424, 806, 672,
++ 824, 824, 800, 631, 794, 999, 1420, 1080, 63, 188,
++ 400, 570, 916, 976, 999, 977, 978, 978, 1420, 1080,
++ 1253, 1251, 1420, 1251, 12, 1019, 1027, 1028, 1428, 1080,
++ 1425, 1425, 954, 1304, 1251, 252, 1027, 252, 1420, 1420,
++ 900, 1304, 182, 255, 351, 903, 1251, 1253, 1253, 1420,
++ 1080, 1236, 1237, 1418, 128, 1251, 128, 1251, 1257, 835,
++ 1425, 1080, 1421, 1080, 1080, 85, 87, 128, 149, 183,
++ 378, 422, 902, 1251, 1257, 1019, 897, 6, 145, 1031,
++ 906, 907, 908, 909, 910, 1428, 8, 182, 1043, 423,
++ 915, 916, 969, 920, 637, 128, 1254, 1425, 1428, 349,
++ 398, 23, 168, 675, 548, 138, 153, 677, 629, 1536,
++ 629, 400, 1217, 1218, 1219, 1428, 660, 661, 1251, 1425,
++ 1252, 824, 824, 803, 366, 204, 1304, 631, 797, 537,
++ 19, 582, 1486, 447, 629, 132, 235, 575, 782, 674,
++ 1548, 126, 240, 417, 514, 905, 1421, 265, 386, 826,
++ 832, 833, 906, 832, 631, 895, 665, 666, 667, 637,
++ 1178, 1238, 1328, 1227, 1127, 630, 1127, 540, 629, 945,
++ 946, 946, 946, 629, 940, 941, 945, 1169, 946, 240,
++ 946, 240, 630, 630, 630, 19, 1137, 630, 630, 19,
++ 630, 630, 630, 1156, 1127, 1127, 630, 630, 370, 1163,
++ 631, 631, 630, 631, 630, 242, 1148, 1149, 630, 630,
++ 630, 630, 631, 630, 630, 1127, 630, 189, 630, 630,
++ 631, 630, 631, 631, 630, 1127, 630, 1127, 630, 1127,
++ 630, 630, 630, 1120, 1523, 630, 1517, 637, 1000, 630,
++ 1171, 1129, 630, 631, 630, 1123, 1153, 630, 603, 1363,
++ 1490, 603, 1493, 624, 624, 1484, 1484, 1484, 629, 1127,
++ 360, 1310, 1097, 1421, 1101, 224, 1104, 1386, 630, 631,
++ 1123, 842, 386, 859, 860, 1252, 844, 1431, 333, 1116,
++ 1301, 1302, 1418, 1306, 631, 629, 1297, 630, 630, 631,
++ 637, 1506, 726, 191, 1483, 1483, 1483, 1227, 1227, 147,
++ 374, 1263, 1264, 1269, 575, 242, 1425, 1428, 637, 1428,
++ 263, 1428, 12, 34, 128, 360, 1127, 1450, 71, 961,
++ 1127, 1431, 359, 387, 537, 1449, 1443, 1303, 1243, 1248,
++ 1243, 1351, 662, 569, 630, 1510, 1200, 634, 249, 1190,
++ 1206, 1206, 249, 360, 360, 582, 631, 1314, 1303, 1215,
++ 1216, 1116, 1127, 1241, 1416, 794, 1021, 629, 252, 252,
++ 978, 999, 984, 999, 999, 145, 472, 1019, 1032, 1016,
++ 631, 1252, 956, 1425, 999, 1042, 1425, 1033, 1019, 631,
++ 20, 133, 1242, 839, 1019, 1024, 1019, 629, 630, 631,
++ 1428, 1421, 33, 34, 39, 41, 43, 44, 60, 115,
++ 118, 126, 143, 160, 183, 185, 198, 199, 240, 269,
++ 278, 279, 281, 310, 311, 312, 329, 330, 331, 337,
++ 340, 356, 357, 392, 393, 417, 468, 472, 484, 538,
++ 541, 544, 545, 546, 547, 588, 589, 614, 921, 930,
++ 933, 934, 935, 936, 937, 938, 939, 1428, 398, 1127,
++ 1127, 360, 681, 687, 360, 82, 682, 1428, 1537, 19,
++ 1019, 630, 631, 630, 631, 629, 1428, 824, 797, 1425,
++ 905, 1555, 360, 360, 698, 699, 701, 1428, 488, 1421,
++ 882, 630, 224, 438, 829, 1392, 895, 629, 629, 629,
++ 1428, 1227, 266, 1249, 1221, 1127, 125, 280, 355, 560,
++ 21, 34, 48, 567, 954, 964, 965, 966, 355, 629,
++ 941, 947, 115, 118, 126, 143, 185, 240, 337, 340,
++ 417, 544, 573, 934, 935, 1138, 1168, 630, 1221, 1221,
++ 47, 466, 1162, 1127, 1127, 1171, 43, 338, 630, 603,
++ 1150, 1127, 1221, 1127, 1127, 1127, 1127, 630, 630, 630,
++ 1198, 1515, 1428, 630, 1171, 1124, 415, 202, 440, 1491,
++ 1491, 1491, 128, 1127, 1308, 1309, 148, 1104, 259, 1392,
++ 846, 630, 208, 252, 861, 630, 631, 630, 1120, 631,
++ 1303, 1307, 1308, 1305, 1299, 1297, 1414, 1428, 1483, 1244,
++ 204, 1232, 1427, 1427, 636, 1265, 1266, 1430, 474, 624,
++ 415, 436, 467, 1448, 962, 1303, 629, 629, 1447, 1127,
++ 1514, 1225, 1180, 1177, 1190, 249, 249, 1177, 1190, 1183,
++ 1182, 1184, 1316, 1227, 1309, 1213, 1214, 1120, 631, 1242,
++ 385, 629, 1022, 1127, 999, 984, 629, 983, 983, 128,
++ 128, 919, 1074, 1028, 961, 921, 1015, 1237, 1025, 1027,
++ 1017, 1366, 908, 629, 970, 945, 945, 946, 946, 940,
++ 396, 931, 940, 940, 966, 60, 588, 934, 936, 966,
++ 966, 60, 589, 589, 592, 940, 932, 946, 946, 946,
++ 966, 945, 946, 26, 71, 82, 128, 197, 354, 360,
++ 400, 468, 570, 923, 948, 949, 950, 968, 1133, 1424,
++ 592, 945, 966, 34, 945, 967, 945, 945, 946, 947,
++ 637, 1221, 482, 1425, 144, 1012, 630, 631, 1538, 1539,
++ 630, 1218, 661, 671, 488, 233, 242, 375, 702, 703,
++ 704, 705, 1122, 459, 630, 631, 700, 1425, 630, 630,
++ 827, 19, 885, 997, 998, 1428, 997, 997, 454, 1247,
++ 630, 630, 630, 630, 630, 34, 21, 567, 954, 34,
++ 955, 631, 355, 946, 940, 60, 946, 240, 966, 630,
++ 630, 630, 1164, 1409, 630, 630, 631, 630, 324, 254,
++ 410, 630, 630, 630, 630, 630, 630, 904, 1115, 1244,
++ 1510, 630, 275, 367, 64, 247, 347, 504, 517, 609,
++ 1480, 1481, 603, 1492, 1492, 1492, 630, 631, 1311, 239,
++ 629, 849, 843, 862, 1428, 860, 884, 1302, 1309, 630,
++ 1509, 47, 209, 1229, 1270, 1430, 631, 324, 83, 561,
++ 415, 1449, 537, 537, 1303, 1193, 360, 1186, 1190, 1190,
++ 360, 1188, 1127, 1127, 629, 1238, 187, 224, 581, 1208,
++ 1209, 1212, 1203, 1416, 1252, 859, 630, 629, 629, 997,
++ 629, 629, 118, 541, 544, 622, 623, 1411, 1412, 1043,
++ 1034, 1080, 1026, 1063, 630, 971, 1428, 301, 972, 480,
++ 573, 615, 942, 943, 944, 629, 942, 942, 966, 592,
++ 942, 629, 966, 942, 960, 1425, 350, 952, 1411, 14,
++ 575, 128, 252, 19, 950, 252, 354, 1303, 966, 967,
++ 966, 967, 942, 942, 1428, 676, 683, 684, 1428, 464,
++ 629, 1540, 630, 1425, 630, 631, 700, 1543, 675, 1549,
++ 701, 930, 951, 828, 893, 629, 882, 630, 631, 1242,
++ 629, 630, 630, 169, 454, 955, 967, 355, 1165, 1416,
++ 1127, 324, 173, 1119, 1119, 17, 1367, 537, 537, 537,
++ 17, 1479, 202, 302, 303, 307, 308, 1494, 1495, 1309,
++ 252, 531, 1122, 852, 629, 586, 863, 904, 1233, 1416,
++ 1230, 1238, 954, 957, 1266, 630, 630, 1450, 1515, 1185,
++ 582, 1187, 582, 1220, 1428, 1249, 977, 977, 1209, 904,
++ 1242, 630, 997, 997, 630, 997, 997, 1413, 1413, 1043,
++ 239, 630, 631, 192, 383, 481, 360, 973, 944, 1001,
++ 1409, 1001, 1126, 350, 587, 922, 128, 1254, 1425, 1428,
++ 506, 678, 53, 68, 180, 223, 248, 260, 364, 448,
++ 685, 732, 734, 735, 736, 738, 739, 740, 741, 742,
++ 743, 745, 753, 754, 757, 768, 771, 773, 774, 1424,
++ 1429, 1433, 1109, 1107, 603, 1541, 1556, 704, 1428, 1421,
++ 680, 681, 447, 961, 1509, 832, 882, 830, 82, 251,
++ 985, 988, 991, 992, 993, 1424, 998, 355, 603, 986,
++ 990, 992, 995, 987, 989, 992, 994, 169, 630, 631,
++ 1242, 630, 138, 1480, 367, 1251, 1251, 1251, 355, 622,
++ 1250, 1495, 575, 1421, 856, 518, 857, 854, 855, 1428,
++ 242, 262, 82, 90, 114, 228, 304, 322, 346, 528,
++ 879, 880, 881, 1345, 604, 605, 631, 1234, 1242, 1127,
++ 1244, 956, 1271, 1194, 1127, 629, 1127, 629, 630, 631,
++ 189, 1207, 1207, 630, 630, 911, 630, 630, 629, 1428,
++ 132, 575, 630, 631, 630, 1126, 629, 1127, 156, 679,
++ 755, 758, 1428, 191, 345, 746, 733, 1429, 1429, 1428,
++ 737, 644, 282, 437, 602, 777, 31, 775, 638, 630,
++ 52, 63, 272, 689, 951, 189, 677, 1550, 829, 630,
++ 1506, 1425, 1304, 993, 1303, 1242, 630, 381, 995, 994,
++ 1416, 61, 280, 355, 1317, 1318, 1418, 1387, 1123, 1252,
++ 630, 631, 865, 539, 1304, 1304, 137, 137, 1304, 1304,
++ 1304, 1304, 629, 874, 881, 159, 1416, 402, 1258, 73,
++ 1393, 1510, 1220, 1220, 1428, 204, 249, 370, 1211, 1210,
++ 969, 914, 985, 912, 913, 859, 51, 351, 445, 472,
++ 974, 974, 966, 1409, 966, 929, 1127, 1127, 600, 760,
++ 764, 191, 1428, 748, 749, 1127, 707, 731, 732, 734,
++ 736, 738, 740, 741, 742, 743, 745, 753, 768, 771,
++ 773, 707, 778, 776, 769, 772, 1509, 63, 367, 63,
++ 136, 690, 691, 1133, 1557, 1122, 682, 951, 831, 1251,
++ 128, 1254, 1425, 1428, 1424, 1242, 631, 1303, 957, 630,
++ 853, 855, 629, 867, 869, 864, 1425, 1425, 1304, 1304,
++ 1254, 1254, 1252, 1430, 519, 875, 876, 1304, 1242, 1428,
++ 154, 164, 368, 536, 1394, 1395, 268, 1396, 630, 630,
++ 47, 47, 629, 629, 985, 986, 987, 630, 5, 128,
++ 354, 360, 360, 630, 756, 765, 151, 764, 767, 239,
++ 155, 1127, 155, 731, 635, 574, 1127, 708, 777, 775,
++ 367, 367, 136, 731, 1544, 144, 1551, 1509, 1318, 1309,
++ 1388, 857, 629, 868, 869, 870, 309, 866, 869, 1425,
++ 1425, 877, 630, 631, 900, 1259, 47, 47, 154, 47,
++ 1395, 505, 536, 1397, 1398, 1217, 1219, 575, 132, 388,
++ 596, 924, 600, 759, 761, 1127, 707, 155, 744, 223,
++ 540, 282, 635, 780, 144, 127, 706, 709, 770, 1429,
++ 770, 150, 683, 689, 454, 1399, 630, 631, 309, 872,
++ 873, 1130, 878, 1430, 876, 629, 1409, 1409, 47, 1409,
++ 47, 47, 1398, 630, 630, 974, 974, 82, 570, 925,
++ 926, 927, 762, 761, 767, 766, 53, 747, 1428, 750,
++ 1127, 779, 98, 172, 714, 729, 1428, 155, 731, 635,
++ 456, 1552, 221, 1393, 869, 631, 871, 879, 1122, 1260,
++ 1261, 1262, 1409, 1409, 1409, 1425, 252, 927, 1127, 155,
++ 540, 631, 707, 155, 707, 206, 631, 710, 89, 108,
++ 635, 1545, 731, 47, 1396, 873, 630, 1127, 630, 631,
++ 763, 53, 707, 1428, 751, 437, 155, 189, 1428, 951,
++ 189, 189, 731, 1409, 224, 1400, 1123, 1262, 540, 151,
++ 152, 752, 602, 711, 128, 730, 717, 718, 1251, 712,
++ 713, 355, 629, 1402, 707, 707, 748, 493, 495, 715,
++ 716, 717, 720, 1133, 1428, 1127, 1105, 268, 454, 1401,
++ 630, 636, 1403, 1404, 1418, 472, 1405, 631, 731, 190,
++ 1430, 630, 631, 1406, 1407, 1418, 716, 1404, 631, 1303,
++ 1407, 1122, 1309, 1123
++};
++
++ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
++static const yytype_uint16 yyr1[] =
++{
++ 0, 639, 640, 641, 640, 640, 642, 642, 643, 643,
++ 644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
++ 644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
++ 644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
++ 644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
++ 644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
++ 644, 644, 644, 645, 646, 646, 647, 648, 648, 650,
++ 649, 651, 651, 652, 652, 653, 655, 654, 657, 656,
++ 658, 658, 659, 659, 659, 659, 659, 659, 659, 659,
++ 659, 659, 659, 659, 659, 659, 659, 660, 660, 660,
++ 661, 662, 662, 662, 662, 664, 663, 665, 663, 666,
++ 663, 667, 663, 668, 663, 669, 663, 663, 663, 663,
++ 663, 670, 671, 671, 672, 672, 672, 672, 672, 672,
++ 672, 674, 673, 676, 675, 675, 677, 677, 677, 677,
++ 678, 678, 679, 679, 680, 680, 681, 681, 682, 682,
++ 684, 683, 685, 685, 685, 685, 685, 685, 685, 685,
++ 685, 685, 685, 685, 685, 686, 687, 687, 688, 688,
++ 689, 689, 690, 690, 690, 690, 690, 690, 690, 691,
++ 691, 691, 692, 692, 694, 693, 695, 695, 696, 696,
++ 697, 697, 698, 698, 699, 699, 700, 701, 702, 702,
++ 703, 703, 704, 705, 705, 705, 705, 706, 706, 707,
++ 707, 708, 708, 710, 709, 709, 711, 709, 709, 713,
++ 712, 714, 714, 715, 715, 716, 717, 717, 718, 719,
++ 719, 720, 720, 720, 720, 720, 721, 722, 722, 723,
++ 723, 724, 724, 725, 725, 726, 726, 726, 727, 727,
++ 727, 727, 727, 727, 727, 727, 727, 727, 727, 727,
++ 728, 729, 729, 730, 730, 731, 731, 731, 731, 731,
++ 731, 731, 731, 731, 731, 731, 731, 731, 733, 732,
++ 735, 734, 737, 736, 739, 738, 740, 741, 742, 744,
++ 743, 745, 746, 746, 746, 747, 747, 749, 750, 751,
++ 748, 752, 752, 752, 753, 753, 755, 756, 754, 758,
++ 757, 759, 759, 760, 760, 762, 763, 761, 765, 766,
++ 764, 767, 767, 769, 768, 770, 770, 772, 771, 774,
++ 773, 776, 775, 777, 778, 779, 777, 780, 777, 781,
++ 781, 782, 782, 782, 783, 784, 785, 786, 786, 787,
++ 787, 788, 789, 790, 790, 792, 791, 793, 793, 793,
++ 794, 794, 794, 795, 796, 796, 796, 797, 797, 797,
++ 797, 797, 797, 797, 797, 798, 799, 799, 799, 800,
++ 800, 800, 800, 800, 801, 802, 802, 802, 803, 803,
++ 803, 803, 803, 803, 803, 804, 805, 805, 805, 806,
++ 806, 806, 807, 808, 809, 810, 811, 812, 812, 812,
++ 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
++ 822, 823, 823, 824, 824, 825, 825, 825, 825, 827,
++ 826, 828, 826, 829, 830, 829, 831, 829, 832, 833,
++ 833, 835, 834, 836, 838, 837, 839, 840, 841, 840,
++ 840, 840, 840, 840, 842, 842, 843, 843, 844, 844,
++ 845, 845, 846, 847, 848, 849, 850, 850, 851, 852,
++ 851, 853, 851, 854, 854, 855, 856, 857, 857, 858,
++ 858, 859, 859, 861, 860, 862, 863, 864, 863, 865,
++ 863, 866, 866, 867, 867, 868, 868, 870, 871, 869,
++ 872, 872, 873, 873, 874, 874, 875, 875, 877, 876,
++ 878, 879, 879, 880, 880, 881, 881, 881, 881, 881,
++ 881, 881, 881, 881, 883, 884, 882, 885, 885, 886,
++ 886, 887, 887, 888, 888, 889, 889, 890, 890, 891,
++ 892, 892, 893, 893, 894, 894, 895, 895, 895, 896,
++ 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
++ 896, 896, 896, 897, 896, 896, 896, 896, 896, 896,
++ 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
++ 898, 899, 900, 901, 902, 902, 902, 902, 902, 902,
++ 902, 903, 903, 903, 904, 904, 905, 905, 905, 905,
++ 906, 907, 907, 908, 908, 909, 909, 911, 910, 912,
++ 910, 913, 910, 914, 910, 910, 910, 915, 915, 916,
++ 917, 917, 918, 920, 919, 921, 922, 921, 923, 923,
++ 924, 924, 924, 925, 925, 926, 926, 927, 927, 927,
++ 928, 929, 930, 930, 930, 930, 930, 930, 930, 930,
++ 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
++ 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
++ 930, 930, 930, 930, 930, 930, 930, 931, 930, 932,
++ 930, 930, 930, 933, 933, 933, 933, 933, 933, 933,
++ 933, 934, 935, 935, 936, 936, 937, 937, 937, 937,
++ 937, 938, 938, 938, 938, 938, 939, 939, 939, 940,
++ 940, 940, 941, 942, 942, 943, 943, 944, 944, 944,
++ 945, 945, 945, 945, 946, 946, 947, 947, 948, 948,
++ 949, 949, 950, 950, 950, 950, 950, 950, 950, 950,
++ 950, 950, 950, 950, 950, 950, 950, 951, 952, 952,
++ 953, 953, 954, 954, 955, 955, 956, 956, 957, 957,
++ 958, 958, 959, 959, 960, 961, 961, 962, 962, 963,
++ 963, 964, 964, 964, 965, 965, 965, 966, 966, 966,
++ 966, 966, 966, 966, 967, 967, 968, 968, 969, 970,
++ 970, 971, 971, 972, 972, 972, 972, 973, 973, 973,
++ 973, 973, 974, 974, 974, 974, 974, 975, 976, 976,
++ 977, 977, 978, 978, 979, 979, 979, 980, 980, 981,
++ 982, 983, 984, 984, 985, 985, 986, 986, 987, 987,
++ 988, 988, 989, 989, 990, 990, 991, 991, 992, 992,
++ 992, 992, 992, 992, 993, 993, 994, 995, 995, 996,
++ 996, 996, 997, 997, 998, 998, 999, 999, 1000, 1000,
++ 1001, 1001, 1003, 1002, 1004, 1002, 1002, 1005, 1002, 1006,
++ 1002, 1007, 1002, 1008, 1002, 1009, 1002, 1002, 1002, 1002,
++ 1002, 1002, 1010, 1010, 1010, 1010, 1011, 1011, 1012, 1012,
++ 1013, 1013, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
++ 1014, 1014, 1015, 1014, 1014, 1016, 1014, 1017, 1014, 1014,
++ 1014, 1014, 1018, 1019, 1019, 1021, 1020, 1022, 1022, 1022,
++ 1024, 1023, 1025, 1026, 1025, 1027, 1027, 1028, 1029, 1029,
++ 1030, 1031, 1031, 1031, 1032, 1031, 1033, 1034, 1031, 1031,
++ 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
++ 1031, 1031, 1035, 1035, 1036, 1036, 1038, 1037, 1039, 1039,
++ 1040, 1040, 1041, 1041, 1042, 1042, 1042, 1043, 1043, 1043,
++ 1044, 1044, 1044, 1044, 1046, 1045, 1045, 1047, 1045, 1045,
++ 1048, 1049, 1049, 1051, 1050, 1052, 1052, 1053, 1053, 1053,
++ 1054, 1054, 1055, 1055, 1057, 1056, 1058, 1058, 1058, 1059,
++ 1060, 1059, 1062, 1061, 1063, 1063, 1064, 1064, 1065, 1065,
++ 1065, 1066, 1066, 1068, 1067, 1069, 1070, 1071, 1070, 1073,
++ 1072, 1074, 1074, 1075, 1075, 1076, 1076, 1076, 1076, 1076,
++ 1076, 1077, 1077, 1079, 1078, 1080, 1080, 1080, 1082, 1081,
++ 1081, 1083, 1083, 1084, 1084, 1085, 1087, 1086, 1088, 1088,
++ 1089, 1089, 1090, 1091, 1092, 1092, 1094, 1093, 1095, 1095,
++ 1096, 1096, 1097, 1098, 1100, 1099, 1102, 1101, 1103, 1103,
++ 1104, 1104, 1105, 1106, 1106, 1107, 1107, 1108, 1108, 1110,
++ 1109, 1112, 1113, 1111, 1114, 1114, 1114, 1114, 1114, 1115,
++ 1115, 1116, 1116, 1117, 1117, 1118, 1118, 1118, 1119, 1119,
++ 1119, 1120, 1120, 1120, 1121, 1121, 1122, 1123, 1124, 1124,
++ 1124, 1124, 1124, 1125, 1125, 1125, 1126, 1126, 1127, 1127,
++ 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128,
++ 1128, 1128, 1128, 1128, 1128, 1129, 1129, 1129, 1129, 1129,
++ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
++ 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
++ 1130, 1130, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133,
++ 1134, 1134, 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136,
++ 1137, 1137, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
++ 1138, 1138, 1138, 1139, 1140, 1140, 1141, 1141, 1141, 1141,
++ 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
++ 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
++ 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142, 1142, 1142,
++ 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
++ 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
++ 1142, 1142, 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
++ 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
++ 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
++ 1143, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
++ 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145,
++ 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1147, 1146, 1146,
++ 1148, 1148, 1149, 1149, 1150, 1150, 1151, 1151, 1152, 1152,
++ 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1155, 1156,
++ 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
++ 1154, 1157, 1154, 1159, 1158, 1160, 1160, 1160, 1161, 1161,
++ 1162, 1162, 1163, 1164, 1163, 1165, 1165, 1167, 1166, 1168,
++ 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
++ 1168, 1169, 1168, 1170, 1170, 1171, 1171, 1172, 1172, 1173,
++ 1173, 1174, 1174, 1175, 1175, 1176, 1176, 1177, 1177, 1178,
++ 1179, 1179, 1180, 1180, 1181, 1181, 1182, 1181, 1183, 1181,
++ 1184, 1181, 1181, 1185, 1181, 1186, 1181, 1181, 1187, 1181,
++ 1188, 1181, 1181, 1189, 1189, 1189, 1191, 1190, 1190, 1190,
++ 1192, 1193, 1194, 1192, 1195, 1197, 1198, 1196, 1200, 1199,
++ 1202, 1203, 1201, 1204, 1205, 1206, 1206, 1207, 1207, 1207,
++ 1207, 1208, 1208, 1210, 1209, 1211, 1209, 1212, 1212, 1213,
++ 1214, 1213, 1216, 1215, 1217, 1217, 1218, 1218, 1219, 1219,
++ 1220, 1220, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
++ 1221, 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222,
++ 1222, 1222, 1222, 1223, 1223, 1223, 1223, 1224, 1224, 1224,
++ 1225, 1225, 1226, 1226, 1227, 1228, 1227, 1229, 1230, 1229,
++ 1231, 1231, 1232, 1232, 1233, 1233, 1234, 1234, 1234, 1235,
++ 1236, 1236, 1237, 1238, 1238, 1240, 1239, 1241, 1241, 1242,
++ 1242, 1242, 1243, 1243, 1244, 1244, 1245, 1245, 1245, 1246,
++ 1246, 1246, 1247, 1247, 1247, 1247, 1247, 1248, 1249, 1249,
++ 1249, 1249, 1250, 1250, 1250, 1251, 1251, 1251, 1251, 1251,
++ 1251, 1252, 1252, 1252, 1252, 1252, 1253, 1253, 1253, 1253,
++ 1253, 1254, 1254, 1254, 1254, 1254, 1255, 1256, 1256, 1257,
++ 1257, 1258, 1259, 1258, 1260, 1260, 1261, 1261, 1262, 1264,
++ 1263, 1265, 1265, 1266, 1266, 1268, 1267, 1270, 1271, 1269,
++ 1269, 1269, 1273, 1272, 1275, 1274, 1276, 1274, 1274, 1274,
++ 1274, 1274, 1274, 1277, 1274, 1274, 1274, 1274, 1274, 1274,
++ 1278, 1278, 1279, 1280, 1280, 1281, 1282, 1282, 1283, 1283,
++ 1285, 1286, 1284, 1288, 1289, 1287, 1290, 1290, 1290, 1290,
++ 1291, 1291, 1292, 1292, 1293, 1294, 1294, 1294, 1295, 1294,
++ 1296, 1296, 1297, 1297, 1298, 1297, 1299, 1297, 1300, 1300,
++ 1301, 1301, 1302, 1303, 1303, 1304, 1304, 1306, 1305, 1307,
++ 1307, 1308, 1308, 1309, 1309, 1310, 1311, 1310, 1313, 1314,
++ 1312, 1315, 1315, 1316, 1317, 1317, 1318, 1319, 1319, 1321,
++ 1320, 1323, 1322, 1324, 1322, 1325, 1322, 1326, 1326, 1327,
++ 1327, 1328, 1328, 1329, 1329, 1330, 1330, 1330, 1332, 1331,
++ 1333, 1333, 1334, 1334, 1335, 1335, 1336, 1336, 1336, 1336,
++ 1336, 1336, 1336, 1336, 1336, 1337, 1337, 1339, 1338, 1340,
++ 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
++ 1340, 1341, 1340, 1342, 1340, 1340, 1340, 1340, 1340, 1340,
++ 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
++ 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
++ 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
++ 1343, 1343, 1343, 1344, 1344, 1345, 1345, 1346, 1346, 1347,
++ 1347, 1348, 1348, 1349, 1349, 1350, 1350, 1351, 1351, 1351,
++ 1353, 1352, 1354, 1352, 1355, 1355, 1356, 1356, 1356, 1357,
++ 1357, 1357, 1359, 1358, 1361, 1362, 1360, 1360, 1363, 1363,
++ 1364, 1364, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
++ 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
++ 1365, 1366, 1366, 1367, 1367, 1369, 1368, 1370, 1370, 1372,
++ 1371, 1371, 1371, 1373, 1373, 1375, 1374, 1376, 1377, 1377,
++ 1379, 1378, 1380, 1380, 1380, 1381, 1381, 1381, 1382, 1382,
++ 1383, 1385, 1386, 1387, 1388, 1384, 1389, 1389, 1390, 1390,
++ 1391, 1391, 1391, 1392, 1392, 1392, 1393, 1393, 1394, 1394,
++ 1395, 1395, 1395, 1395, 1396, 1396, 1397, 1397, 1398, 1398,
++ 1399, 1399, 1400, 1400, 1401, 1401, 1402, 1402, 1402, 1403,
++ 1403, 1404, 1404, 1405, 1405, 1406, 1406, 1407, 1408, 1408,
++ 1408, 1408, 1409, 1409, 1409, 1409, 1410, 1411, 1411, 1411,
++ 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
++ 1412, 1412, 1412, 1413, 1413, 1413, 1413, 1413, 1414, 1414,
++ 1415, 1415, 1416, 1417, 1417, 1418, 1418, 1419, 1419, 1419,
++ 1420, 1420, 1420, 1420, 1421, 1421, 1421, 1422, 1422, 1423,
++ 1424, 1424, 1425, 1426, 1427, 1428, 1428, 1429, 1429, 1430,
++ 1430, 1430, 1431, 1431, 1431, 1432, 1432, 1432, 1432, 1432,
++ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
++ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
++ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
++ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
++ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
++ 1432, 1432, 1432, 1432, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
++ 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1435, 1434, 1436,
++ 1436, 1437, 1437, 1439, 1438, 1440, 1440, 1440, 1440, 1441,
++ 1441, 1442, 1442, 1442, 1442, 1443, 1443, 1443, 1443, 1444,
++ 1444, 1445, 1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446,
++ 1447, 1447, 1447, 1448, 1448, 1448, 1448, 1449, 1449, 1449,
++ 1450, 1450, 1450, 1450, 1450, 1452, 1451, 1453, 1453, 1454,
++ 1454, 1455, 1456, 1456, 1456, 1456, 1456, 1458, 1457, 1459,
++ 1459, 1460, 1459, 1461, 1461, 1462, 1462, 1463, 1463, 1463,
++ 1463, 1464, 1463, 1465, 1465, 1465, 1465, 1465, 1466, 1467,
++ 1467, 1467, 1467, 1467, 1468, 1469, 1469, 1469, 1469, 1470,
++ 1470, 1471, 1471, 1472, 1472, 1473, 1473, 1475, 1474, 1476,
++ 1474, 1477, 1474, 1478, 1474, 1474, 1474, 1474, 1474, 1474,
++ 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
++ 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
++ 1474, 1479, 1479, 1480, 1480, 1481, 1481, 1481, 1482, 1482,
++ 1482, 1482, 1483, 1483, 1484, 1484, 1485, 1485, 1486, 1486,
++ 1487, 1487, 1487, 1487, 1487, 1488, 1488, 1489, 1489, 1490,
++ 1491, 1491, 1491, 1491, 1491, 1492, 1492, 1493, 1493, 1494,
++ 1494, 1495, 1495, 1495, 1495, 1495, 1497, 1496, 1498, 1498,
++ 1499, 1499, 1499, 1500, 1500, 1500, 1501, 1501, 1502, 1503,
++ 1503, 1504, 1505, 1506, 1506, 1508, 1507, 1509, 1509, 1509,
++ 1510, 1510, 1512, 1511, 1513, 1513, 1514, 1514, 1514, 1515,
++ 1515, 1516, 1517, 1516, 1518, 1519, 1520, 1521, 1521, 1522,
++ 1522, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1524,
++ 1524, 1524, 1525, 1525, 1525, 1525, 1525, 1526, 1526, 1526,
++ 1526, 1526, 1526, 1527, 1527, 1528, 1529, 1530, 1530, 1530,
++ 1531, 1532, 1532, 1532, 1533, 1533, 1533, 1535, 1534, 1536,
++ 1536, 1537, 1537, 1539, 1538, 1540, 1540, 1541, 1541, 1541,
++ 1541, 1543, 1544, 1545, 1542, 1546, 1546, 1548, 1549, 1550,
++ 1551, 1552, 1547, 1554, 1555, 1556, 1557, 1553, 1558, 1558,
++ 1558, 1558, 1558, 1558, 1559, 1559, 1559, 1560, 1560, 1561,
++ 1561, 1561, 1562, 1562, 1563, 1564, 1563, 1565, 1565, 1566,
++ 1566, 1567, 1567, 1568
++};
++
++ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
++static const yytype_uint8 yyr2[] =
++{
++ 0, 2, 1, 0, 4, 2, 0, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 3, 1, 1, 4, 1, 2, 0,
++ 4, 0, 2, 3, 1, 2, 0, 3, 0, 5,
++ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
++ 3, 3, 3, 3, 3, 5, 1, 0, 1, 3,
++ 1, 3, 3, 3, 3, 0, 7, 0, 12, 0,
++ 12, 0, 12, 0, 6, 0, 3, 4, 4, 3,
++ 2, 10, 1, 3, 2, 2, 2, 2, 2, 2,
++ 2, 0, 13, 0, 6, 2, 0, 1, 3, 1,
++ 0, 2, 0, 2, 0, 1, 3, 4, 0, 2,
++ 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 0, 3, 1, 0, 2,
++ 0, 2, 2, 2, 2, 2, 3, 3, 1, 1,
++ 1, 2, 3, 3, 0, 4, 0, 3, 0, 1,
++ 3, 1, 0, 1, 3, 1, 0, 3, 0, 1,
++ 3, 1, 4, 0, 1, 1, 1, 0, 3, 2,
++ 3, 0, 3, 0, 5, 5, 0, 7, 5, 0,
++ 2, 1, 1, 1, 3, 1, 1, 1, 3, 0,
++ 1, 1, 1, 1, 2, 1, 3, 1, 1, 0,
++ 1, 0, 2, 3, 5, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 3, 1, 3, 0, 2, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 0, 5,
++ 0, 2, 0, 3, 0, 2, 2, 2, 2, 0,
++ 6, 2, 0, 2, 1, 1, 3, 0, 0, 0,
++ 7, 0, 2, 2, 1, 1, 0, 0, 8, 0,
++ 6, 1, 2, 1, 2, 0, 0, 6, 0, 0,
++ 6, 0, 2, 0, 5, 0, 1, 0, 5, 0,
++ 2, 0, 5, 4, 0, 0, 8, 0, 7, 1,
++ 1, 1, 1, 1, 2, 4, 5, 0, 4, 4,
++ 4, 3, 3, 2, 2, 0, 2, 1, 2, 3,
++ 1, 1, 1, 1, 1, 2, 3, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 2, 3, 1,
++ 1, 1, 1, 1, 1, 1, 2, 3, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 2, 3, 1,
++ 1, 1, 2, 2, 2, 1, 1, 1, 1, 2,
++ 3, 3, 3, 3, 3, 3, 3, 3, 4, 0,
++ 1, 1, 1, 1, 1, 2, 3, 2, 4, 0,
++ 6, 0, 5, 0, 0, 5, 0, 7, 1, 0,
++ 1, 0, 4, 0, 0, 3, 5, 6, 0, 4,
++ 2, 2, 2, 2, 0, 1, 0, 3, 0, 1,
++ 1, 3, 1, 4, 5, 5, 0, 2, 0, 0,
++ 7, 0, 10, 1, 3, 1, 1, 0, 2, 0,
++ 3, 1, 3, 0, 6, 1, 0, 0, 5, 0,
++ 4, 1, 1, 1, 3, 1, 3, 0, 0, 5,
++ 1, 3, 1, 1, 0, 3, 1, 3, 0, 4,
++ 1, 0, 1, 2, 1, 3, 4, 3, 3, 3,
++ 3, 4, 4, 3, 0, 0, 6, 0, 1, 0,
++ 1, 1, 2, 1, 1, 0, 1, 1, 2, 1,
++ 0, 3, 0, 1, 1, 2, 1, 2, 3, 3,
++ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
++ 3, 3, 3, 0, 6, 1, 1, 3, 4, 4,
++ 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
++ 4, 4, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
++ 1, 1, 3, 1, 1, 2, 2, 0, 8, 0,
++ 9, 0, 9, 0, 9, 8, 2, 0, 1, 4,
++ 0, 1, 2, 0, 3, 2, 0, 9, 0, 2,
++ 0, 1, 1, 0, 1, 2, 1, 1, 2, 2,
++ 4, 3, 3, 3, 3, 1, 2, 1, 1, 3,
++ 2, 3, 2, 2, 1, 3, 3, 2, 3, 1,
++ 2, 2, 2, 1, 2, 1, 1, 1, 2, 3,
++ 2, 3, 2, 2, 3, 3, 3, 0, 6, 0,
++ 6, 2, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 2, 2, 1, 2, 1, 2, 3,
++ 2, 1, 1, 1, 1, 1, 1, 1, 2, 0,
++ 1, 1, 5, 0, 1, 2, 1, 1, 1, 1,
++ 3, 3, 3, 3, 0, 1, 0, 1, 0, 1,
++ 2, 1, 1, 2, 2, 4, 1, 3, 2, 1,
++ 2, 2, 2, 3, 3, 3, 3, 2, 2, 1,
++ 1, 1, 2, 1, 1, 1, 1, 1, 0, 2,
++ 1, 1, 1, 1, 1, 0, 2, 1, 1, 0,
++ 1, 1, 2, 2, 1, 2, 2, 0, 1, 1,
++ 1, 3, 1, 3, 0, 1, 0, 1, 5, 0,
++ 3, 3, 1, 0, 2, 2, 2, 0, 3, 3,
++ 6, 6, 1, 1, 2, 2, 2, 1, 2, 2,
++ 1, 1, 0, 1, 1, 1, 1, 0, 1, 1,
++ 1, 0, 1, 2, 0, 1, 0, 1, 0, 1,
++ 1, 2, 1, 2, 1, 2, 2, 2, 3, 2,
++ 3, 3, 3, 3, 1, 1, 1, 1, 3, 1,
++ 1, 1, 4, 2, 1, 4, 0, 1, 0, 2,
++ 1, 3, 0, 6, 0, 5, 7, 0, 5, 0,
++ 5, 0, 5, 0, 4, 0, 10, 3, 4, 3,
++ 3, 7, 0, 3, 1, 4, 0, 3, 0, 2,
++ 0, 1, 0, 2, 2, 2, 2, 1, 1, 1,
++ 3, 4, 0, 6, 4, 0, 5, 0, 6, 4,
++ 3, 1, 2, 1, 1, 0, 5, 0, 3, 2,
++ 0, 5, 0, 0, 6, 1, 3, 1, 1, 3,
++ 2, 3, 2, 4, 0, 6, 0, 0, 7, 4,
++ 4, 3, 3, 2, 2, 6, 5, 3, 5, 1,
++ 1, 1, 0, 1, 0, 1, 0, 2, 0, 1,
++ 2, 1, 1, 1, 0, 1, 1, 0, 2, 1,
++ 0, 1, 1, 1, 0, 5, 3, 0, 5, 3,
++ 3, 0, 3, 0, 2, 1, 3, 0, 1, 1,
++ 0, 2, 1, 3, 0, 5, 0, 1, 1, 3,
++ 0, 4, 0, 4, 0, 1, 1, 2, 1, 1,
++ 1, 0, 2, 0, 5, 2, 3, 0, 4, 0,
++ 3, 0, 1, 1, 2, 1, 1, 1, 1, 1,
++ 2, 0, 2, 0, 5, 0, 1, 1, 0, 4,
++ 4, 3, 5, 1, 3, 3, 0, 6, 1, 1,
++ 1, 3, 2, 3, 1, 1, 0, 6, 1, 1,
++ 1, 3, 3, 4, 0, 6, 0, 2, 0, 4,
++ 0, 2, 1, 2, 4, 2, 3, 2, 3, 0,
++ 3, 0, 0, 6, 2, 1, 1, 2, 2, 8,
++ 4, 0, 1, 2, 1, 1, 1, 1, 0, 2,
++ 4, 3, 1, 1, 3, 4, 0, 0, 0, 2,
++ 2, 1, 1, 0, 2, 3, 0, 2, 3, 3,
++ 3, 2, 3, 4, 3, 4, 3, 4, 1, 3,
++ 4, 3, 3, 6, 1, 5, 6, 5, 7, 6,
++ 8, 5, 6, 4, 4, 5, 3, 4, 1, 3,
++ 3, 3, 3, 3, 3, 5, 5, 3, 3, 3,
++ 3, 3, 3, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 0, 2, 1, 2, 1, 1, 1, 2, 2, 1,
++ 1, 2, 2, 4, 1, 3, 1, 1, 1, 1,
++ 1, 3, 1, 1, 1, 1, 3, 2, 2, 2,
++ 2, 3, 3, 5, 6, 4, 4, 7, 2, 6,
++ 5, 6, 6, 4, 4, 5, 4, 6, 2, 4,
++ 4, 4, 10, 6, 8, 6, 4, 4, 6, 4,
++ 4, 4, 6, 4, 7, 7, 7, 6, 6, 6,
++ 6, 3, 4, 6, 8, 2, 2, 8, 8, 6,
++ 6, 2, 6, 6, 8, 8, 6, 8, 6, 2,
++ 8, 8, 2, 2, 2, 6, 6, 6, 4, 4,
++ 8, 4, 4, 4, 4, 3, 8, 4, 4, 6,
++ 4, 4, 4, 6, 8, 6, 4, 6, 1, 6,
++ 4, 4, 4, 4, 4, 6, 4, 0, 5, 6,
++ 2, 3, 0, 4, 0, 3, 0, 1, 1, 3,
++ 4, 4, 5, 4, 4, 4, 5, 4, 0, 0,
++ 7, 4, 5, 4, 5, 4, 4, 4, 4, 4,
++ 5, 0, 8, 0, 3, 3, 1, 4, 0, 1,
++ 0, 2, 0, 0, 4, 4, 2, 0, 3, 2,
++ 3, 2, 1, 1, 2, 1, 2, 1, 2, 2,
++ 2, 0, 3, 0, 1, 1, 3, 1, 3, 1,
++ 3, 0, 1, 0, 2, 4, 5, 1, 1, 1,
++ 1, 4, 1, 3, 3, 3, 0, 6, 0, 6,
++ 0, 8, 4, 0, 8, 0, 10, 6, 0, 8,
++ 0, 10, 6, 1, 2, 2, 0, 4, 3, 5,
++ 2, 0, 0, 7, 1, 0, 0, 6, 0, 3,
++ 0, 0, 5, 0, 1, 0, 1, 0, 2, 3,
++ 3, 1, 1, 0, 7, 0, 7, 1, 2, 0,
++ 0, 2, 0, 2, 0, 1, 1, 1, 1, 3,
++ 1, 3, 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, 0, 1, 1,
++ 0, 2, 0, 1, 0, 0, 3, 0, 0, 3,
++ 2, 0, 0, 4, 4, 2, 0, 1, 1, 3,
++ 3, 1, 2, 0, 1, 0, 4, 4, 2, 0,
++ 1, 1, 0, 1, 0, 1, 2, 5, 4, 1,
++ 3, 3, 1, 1, 1, 1, 1, 1, 0, 2,
++ 3, 4, 1, 2, 2, 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, 0, 0, 6, 0, 1, 3, 1, 3, 0,
++ 2, 3, 1, 2, 1, 0, 3, 0, 0, 7,
++ 2, 1, 0, 3, 0, 7, 0, 6, 4, 6,
++ 4, 4, 4, 0, 6, 4, 4, 5, 6, 4,
++ 1, 3, 1, 1, 3, 1, 0, 2, 0, 1,
++ 0, 0, 8, 0, 0, 6, 0, 1, 1, 1,
++ 1, 1, 2, 1, 1, 1, 3, 4, 0, 3,
++ 3, 1, 2, 2, 0, 3, 0, 5, 3, 1,
++ 3, 1, 3, 1, 1, 0, 1, 0, 4, 0,
++ 1, 3, 1, 1, 1, 0, 0, 6, 0, 0,
++ 11, 3, 1, 3, 3, 1, 3, 0, 1, 0,
++ 4, 0, 6, 0, 5, 0, 6, 1, 3, 2,
++ 4, 0, 2, 0, 2, 1, 1, 1, 0, 4,
++ 0, 1, 0, 1, 1, 3, 1, 1, 2, 2,
++ 2, 1, 1, 1, 1, 0, 3, 0, 3, 2,
++ 4, 4, 3, 4, 4, 1, 3, 3, 6, 2,
++ 2, 0, 6, 0, 6, 5, 2, 1, 1, 1,
++ 5, 5, 2, 2, 1, 4, 3, 2, 3, 2,
++ 2, 1, 3, 4, 3, 3, 2, 2, 1, 1,
++ 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
++ 1, 1, 1, 1, 1, 0, 1, 0, 2, 0,
++ 1, 1, 1, 0, 2, 0, 2, 0, 2, 2,
++ 0, 4, 0, 4, 1, 1, 0, 1, 1, 0,
++ 1, 1, 0, 4, 0, 0, 5, 1, 0, 4,
++ 3, 1, 2, 2, 2, 2, 2, 2, 2, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 0, 1, 0, 3, 0, 3, 3, 1, 0,
++ 3, 1, 2, 0, 1, 0, 3, 3, 2, 2,
++ 0, 5, 0, 1, 1, 0, 1, 1, 1, 2,
++ 2, 0, 0, 0, 0, 21, 1, 1, 0, 1,
++ 0, 1, 1, 0, 1, 1, 0, 2, 2, 1,
++ 3, 4, 3, 3, 0, 2, 2, 1, 3, 3,
++ 0, 4, 0, 3, 1, 1, 0, 3, 2, 3,
++ 1, 1, 2, 0, 2, 3, 1, 5, 1, 1,
++ 2, 2, 1, 1, 1, 1, 1, 1, 2, 2,
++ 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
++ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
++ 3, 5, 1, 1, 1, 1, 1, 3, 4, 5,
++ 1, 5, 3, 2, 1, 3, 2, 2, 4, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 3, 2, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
++ 1, 1, 3, 0, 2, 1, 1, 1, 1, 0,
++ 1, 0, 1, 1, 1, 0, 2, 2, 2, 1,
++ 2, 4, 5, 4, 6, 2, 3, 3, 3, 5,
++ 1, 3, 3, 2, 2, 2, 1, 1, 4, 4,
++ 1, 1, 1, 1, 1, 0, 4, 1, 1, 1,
++ 3, 3, 1, 1, 2, 2, 2, 0, 3, 4,
++ 3, 0, 7, 1, 2, 1, 1, 1, 1, 1,
++ 1, 0, 5, 1, 1, 1, 1, 1, 3, 6,
++ 6, 6, 7, 5, 3, 8, 8, 8, 6, 0,
++ 1, 1, 2, 0, 1, 1, 3, 0, 3, 0,
++ 3, 0, 3, 0, 3, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 2, 2, 1, 3,
++ 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
++ 2, 0, 1, 3, 1, 2, 2, 2, 1, 3,
++ 3, 1, 1, 3, 1, 3, 1, 1, 1, 1,
++ 4, 5, 4, 6, 1, 0, 3, 3, 1, 1,
++ 0, 2, 2, 2, 2, 0, 2, 0, 3, 2,
++ 1, 2, 2, 2, 2, 2, 0, 3, 0, 1,
++ 0, 3, 2, 0, 1, 2, 0, 1, 4, 4,
++ 5, 2, 3, 0, 1, 0, 4, 0, 1, 1,
++ 0, 1, 0, 2, 2, 1, 0, 1, 1, 2,
++ 3, 2, 0, 6, 3, 0, 0, 0, 1, 2,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
++ 2, 3, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 0, 3, 1, 2, 1,
++ 2, 3, 3, 3, 0, 3, 3, 0, 7, 0,
++ 3, 1, 3, 0, 3, 2, 4, 0, 3, 4,
++ 4, 0, 0, 0, 16, 8, 7, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0, 0, 12, 4, 4,
++ 3, 4, 3, 2, 1, 3, 5, 1, 1, 0,
++ 1, 1, 0, 2, 0, 0, 3, 0, 2, 5,
++ 3, 3, 3, 1
++};
++
++
++#define yyerrok (yyerrstatus = 0)
++#define yyclearin (yychar = YYEMPTY)
++#define YYEMPTY (-2)
++#define YYEOF 0
++
++#define YYACCEPT goto yyacceptlab
++#define YYABORT goto yyabortlab
++#define YYERROR goto yyerrorlab
++
++
++#define YYRECOVERING() (!!yyerrstatus)
++
++#define YYBACKUP(Token, Value) \
++do \
++ if (yychar == YYEMPTY) \
++ { \
++ yychar = (Token); \
++ yylval = (Value); \
++ YYPOPSTACK (yylen); \
++ yystate = *yyssp; \
++ goto yybackup; \
++ } \
++ else \
++ { \
++ yyerror (thd, YY_("syntax error: cannot back up")); \
++ YYERROR; \
++ } \
++while (0)
++
++/* Error token number */
++#define YYTERROR 1
++#define YYERRCODE 256
++
++
++
++/* Enable debugging if requested. */
++#if YYDEBUG
++
++# ifndef YYFPRINTF
++# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
++# define YYFPRINTF fprintf
++# endif
++
++# define YYDPRINTF(Args) \
++do { \
++ if (yydebug) \
++ YYFPRINTF Args; \
++} while (0)
++
++/* This macro is provided for backward compatibility. */
++#ifndef YY_LOCATION_PRINT
++# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
++#endif
++
++
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
++do { \
++ if (yydebug) \
++ { \
++ YYFPRINTF (stderr, "%s ", Title); \
++ yy_symbol_print (stderr, \
++ Type, Value, thd); \
++ YYFPRINTF (stderr, "\n"); \
++ } \
++} while (0)
++
++
++/*----------------------------------------.
++| Print this symbol's value on YYOUTPUT. |
++`----------------------------------------*/
++
++static void
++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
++{
++ FILE *yyo = yyoutput;
++ YYUSE (yyo);
++ YYUSE (thd);
++ if (!yyvaluep)
++ return;
++# ifdef YYPRINT
++ if (yytype < YYNTOKENS)
++ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
++# endif
++ YYUSE (yytype);
++}
++
++
++/*--------------------------------.
++| Print this symbol on YYOUTPUT. |
++`--------------------------------*/
++
++static void
++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
++{
++ YYFPRINTF (yyoutput, "%s %s (",
++ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
++
++ yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd);
++ YYFPRINTF (yyoutput, ")");
++}
++
++/*------------------------------------------------------------------.
++| yy_stack_print -- Print the state stack from its BOTTOM up to its |
++| TOP (included). |
++`------------------------------------------------------------------*/
++
++static void
++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
++{
++ YYFPRINTF (stderr, "Stack now");
++ for (; yybottom <= yytop; yybottom++)
++ {
++ int yybot = *yybottom;
++ YYFPRINTF (stderr, " %d", yybot);
++ }
++ YYFPRINTF (stderr, "\n");
++}
++
++# define YY_STACK_PRINT(Bottom, Top) \
++do { \
++ if (yydebug) \
++ yy_stack_print ((Bottom), (Top)); \
++} while (0)
++
++
++/*------------------------------------------------.
++| Report that the YYRULE is going to be reduced. |
++`------------------------------------------------*/
++
++static void
++yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, THD *thd)
++{
++ unsigned long int yylno = yyrline[yyrule];
++ int yynrhs = yyr2[yyrule];
++ int yyi;
++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
++ yyrule - 1, yylno);
++ /* The symbols being reduced. */
++ for (yyi = 0; yyi < yynrhs; yyi++)
++ {
++ YYFPRINTF (stderr, " $%d = ", yyi + 1);
++ yy_symbol_print (stderr,
++ yystos[yyssp[yyi + 1 - yynrhs]],
++ &(yyvsp[(yyi + 1) - (yynrhs)])
++ , thd);
++ YYFPRINTF (stderr, "\n");
++ }
++}
++
++# define YY_REDUCE_PRINT(Rule) \
++do { \
++ if (yydebug) \
++ yy_reduce_print (yyssp, yyvsp, Rule, thd); \
++} while (0)
++
++/* Nonzero means print parse trace. It is left uninitialized so that
++ multiple parsers can coexist. */
++int yydebug;
++#else /* !YYDEBUG */
++# define YYDPRINTF(Args)
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
++# define YY_STACK_PRINT(Bottom, Top)
++# define YY_REDUCE_PRINT(Rule)
++#endif /* !YYDEBUG */
++
++
++/* YYINITDEPTH -- initial size of the parser's stacks. */
++#ifndef YYINITDEPTH
++# define YYINITDEPTH 200
++#endif
++
++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
++ if the built-in stack extension method is used).
++
++ Do not make this value too large; the results are undefined if
++ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
++ evaluated with infinite-precision integer arithmetic. */
++
++#ifndef YYMAXDEPTH
++# define YYMAXDEPTH 10000
++#endif
++
++
++#if YYERROR_VERBOSE
++
++# ifndef yystrlen
++# if defined __GLIBC__ && defined _STRING_H
++# define yystrlen strlen
++# else
++/* Return the length of YYSTR. */
++static YYSIZE_T
++yystrlen (const char *yystr)
++{
++ YYSIZE_T yylen;
++ for (yylen = 0; yystr[yylen]; yylen++)
++ continue;
++ return yylen;
++}
++# endif
++# endif
++
++# ifndef yystpcpy
++# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++# define yystpcpy stpcpy
++# else
++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
++ YYDEST. */
++static char *
++yystpcpy (char *yydest, const char *yysrc)
++{
++ char *yyd = yydest;
++ const char *yys = yysrc;
++
++ while ((*yyd++ = *yys++) != '\0')
++ continue;
++
++ return yyd - 1;
++}
++# endif
++# endif
++
++# ifndef yytnamerr
++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
++ quotes and backslashes, so that it's suitable for yyerror. The
++ heuristic is that double-quoting is unnecessary unless the string
++ contains an apostrophe, a comma, or backslash (other than
++ backslash-backslash). YYSTR is taken from yytname. If YYRES is
++ null, do not copy; instead, return the length of what the result
++ would have been. */
++static YYSIZE_T
++yytnamerr (char *yyres, const char *yystr)
++{
++ if (*yystr == '"')
++ {
++ YYSIZE_T yyn = 0;
++ char const *yyp = yystr;
++
++ for (;;)
++ switch (*++yyp)
++ {
++ case '\'':
++ case ',':
++ goto do_not_strip_quotes;
++
++ case '\\':
++ if (*++yyp != '\\')
++ goto do_not_strip_quotes;
++ /* Fall through. */
++ default:
++ if (yyres)
++ yyres[yyn] = *yyp;
++ yyn++;
++ break;
++
++ case '"':
++ if (yyres)
++ yyres[yyn] = '\0';
++ return yyn;
++ }
++ do_not_strip_quotes: ;
++ }
++
++ if (! yyres)
++ return yystrlen (yystr);
++
++ return yystpcpy (yyres, yystr) - yyres;
++}
++# endif
++
++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
++ about the unexpected token YYTOKEN for the state stack whose top is
++ YYSSP.
++
++ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
++ not large enough to hold the message. In that case, also set
++ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
++ required number of bytes is too large to store. */
++static int
++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
++ yytype_int16 *yyssp, int yytoken)
++{
++ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
++ YYSIZE_T yysize = yysize0;
++ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
++ /* Internationalized format string. */
++ const char *yyformat = YY_NULLPTR;
++ /* Arguments of yyformat. */
++ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
++ /* Number of reported tokens (one for the "unexpected", one per
++ "expected"). */
++ int yycount = 0;
++
++ /* There are many possibilities here to consider:
++ - If this state is a consistent state with a default action, then
++ the only way this function was invoked is if the default action
++ is an error action. In that case, don't check for expected
++ tokens because there are none.
++ - The only way there can be no lookahead present (in yychar) is if
++ this state is a consistent state with a default action. Thus,
++ detecting the absence of a lookahead is sufficient to determine
++ that there is no unexpected or expected token to report. In that
++ case, just report a simple "syntax error".
++ - Don't assume there isn't a lookahead just because this state is a
++ consistent state with a default action. There might have been a
++ previous inconsistent state, consistent state with a non-default
++ action, or user semantic action that manipulated yychar.
++ - Of course, the expected token list depends on states to have
++ correct lookahead information, and it depends on the parser not
++ to perform extra reductions after fetching a lookahead from the
++ scanner and before detecting a syntax error. Thus, state merging
++ (from LALR or IELR) and default reductions corrupt the expected
++ token list. However, the list is correct for canonical LR with
++ one exception: it will still contain any token that will not be
++ accepted due to an error action in a later state.
++ */
++ if (yytoken != YYEMPTY)
++ {
++ int yyn = yypact[*yyssp];
++ yyarg[yycount++] = yytname[yytoken];
++ if (!yypact_value_is_default (yyn))
++ {
++ /* Start YYX at -YYN if negative to avoid negative indexes in
++ YYCHECK. In other words, skip the first -YYN actions for
++ this state because they are default actions. */
++ int yyxbegin = yyn < 0 ? -yyn : 0;
++ /* Stay within bounds of both yycheck and yytname. */
++ int yychecklim = YYLAST - yyn + 1;
++ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
++ int yyx;
++
++ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
++ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
++ && !yytable_value_is_error (yytable[yyx + yyn]))
++ {
++ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
++ {
++ yycount = 1;
++ yysize = yysize0;
++ break;
++ }
++ yyarg[yycount++] = yytname[yyx];
++ {
++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
++ if (! (yysize <= yysize1
++ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++ return 2;
++ yysize = yysize1;
++ }
++ }
++ }
++ }
++
++ switch (yycount)
++ {
++# define YYCASE_(N, S) \
++ case N: \
++ yyformat = S; \
++ break
++ YYCASE_(0, YY_("syntax error"));
++ YYCASE_(1, YY_("syntax error, unexpected %s"));
++ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
++ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
++ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
++ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
++# undef YYCASE_
++ }
++
++ {
++ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
++ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++ return 2;
++ yysize = yysize1;
++ }
++
++ if (*yymsg_alloc < yysize)
++ {
++ *yymsg_alloc = 2 * yysize;
++ if (! (yysize <= *yymsg_alloc
++ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
++ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
++ return 1;
++ }
++
++ /* Avoid sprintf, as that infringes on the user's name space.
++ Don't have undefined behavior even if the translation
++ produced a string with the wrong number of "%s"s. */
++ {
++ char *yyp = *yymsg;
++ int yyi = 0;
++ while ((*yyp = *yyformat) != '\0')
++ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
++ {
++ yyp += yytnamerr (yyp, yyarg[yyi++]);
++ yyformat += 2;
++ }
++ else
++ {
++ yyp++;
++ yyformat++;
++ }
++ }
++ return 0;
++}
++#endif /* YYERROR_VERBOSE */
++
++/*-----------------------------------------------.
++| Release the memory associated to this symbol. |
++`-----------------------------------------------*/
++
++static void
++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, THD *thd)
++{
++ YYUSE (yyvaluep);
++ YYUSE (thd);
++ if (!yymsg)
++ yymsg = "Deleting";
++ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
++
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ YYUSE (yytype);
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
++}
++
++
++
++
++/*----------.
++| yyparse. |
++`----------*/
++
++int
++yyparse (THD *thd)
++{
++/* The lookahead symbol. */
++int yychar;
++
++
++/* The semantic value of the lookahead symbol. */
++/* Default value used for initialization, for pacifying older GCCs
++ or non-GCC compilers. */
++YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
++YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
++
++ /* Number of syntax errors so far. */
++ int yynerrs;
++
++ int yystate;
++ /* Number of tokens to shift before error messages enabled. */
++ int yyerrstatus;
++
++ /* The stacks and their tools:
++ 'yyss': related to states.
++ 'yyvs': related to semantic values.
++
++ Refer to the stacks through separate pointers, to allow yyoverflow
++ to reallocate them elsewhere. */
++
++ /* The state stack. */
++ yytype_int16 yyssa[YYINITDEPTH];
++ yytype_int16 *yyss;
++ yytype_int16 *yyssp;
++
++ /* The semantic value stack. */
++ YYSTYPE yyvsa[YYINITDEPTH];
++ YYSTYPE *yyvs;
++ YYSTYPE *yyvsp;
++
++ YYSIZE_T yystacksize;
++
++ int yyn;
++ int yyresult;
++ /* Lookahead token as an internal (translated) token number. */
++ int yytoken = 0;
++ /* The variables used to return semantic value and location from the
++ action routines. */
++ YYSTYPE yyval;
++
++#if YYERROR_VERBOSE
++ /* Buffer for error messages, and its allocated size. */
++ char yymsgbuf[128];
++ char *yymsg = yymsgbuf;
++ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
++#endif
++
++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
++
++ /* The number of symbols on the RHS of the reduced rule.
++ Keep to zero when no symbol should be popped. */
++ int yylen = 0;
++
++ yyssp = yyss = yyssa;
++ yyvsp = yyvs = yyvsa;
++ yystacksize = YYINITDEPTH;
++
++ YYDPRINTF ((stderr, "Starting parse\n"));
++
++ yystate = 0;
++ yyerrstatus = 0;
++ yynerrs = 0;
++ yychar = YYEMPTY; /* Cause a token to be read. */
++ goto yysetstate;
++
++/*------------------------------------------------------------.
++| yynewstate -- Push a new state, which is found in yystate. |
++`------------------------------------------------------------*/
++ yynewstate:
++ /* In all cases, when you get here, the value and location stacks
++ have just been pushed. So pushing a state here evens the stacks. */
++ yyssp++;
++
++ yysetstate:
++ *yyssp = yystate;
++
++ if (yyss + yystacksize - 1 <= yyssp)
++ {
++ /* Get the current used size of the three stacks, in elements. */
++ YYSIZE_T yysize = yyssp - yyss + 1;
++
++#ifdef yyoverflow
++ {
++ /* Give user a chance to reallocate the stack. Use copies of
++ these so that the &'s don't force the real ones into
++ memory. */
++ YYSTYPE *yyvs1 = yyvs;
++ yytype_int16 *yyss1 = yyss;
++
++ /* Each stack pointer address is followed by the size of the
++ data in use in that stack, in bytes. This used to be a
++ conditional around just the two extra args, but that might
++ be undefined if yyoverflow is a macro. */
++ yyoverflow (YY_("memory exhausted"),
++ &yyss1, yysize * sizeof (*yyssp),
++ &yyvs1, yysize * sizeof (*yyvsp),
++ &yystacksize);
++
++ yyss = yyss1;
++ yyvs = yyvs1;
++ }
++#else /* no yyoverflow */
++# ifndef YYSTACK_RELOCATE
++ goto yyexhaustedlab;
++# else
++ /* Extend the stack our own way. */
++ if (YYMAXDEPTH <= yystacksize)
++ goto yyexhaustedlab;
++ yystacksize *= 2;
++ if (YYMAXDEPTH < yystacksize)
++ yystacksize = YYMAXDEPTH;
++
++ {
++ yytype_int16 *yyss1 = yyss;
++ union yyalloc *yyptr =
++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
++ if (! yyptr)
++ goto yyexhaustedlab;
++ YYSTACK_RELOCATE (yyss_alloc, yyss);
++ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
++# undef YYSTACK_RELOCATE
++ if (yyss1 != yyssa)
++ YYSTACK_FREE (yyss1);
++ }
++# endif
++#endif /* no yyoverflow */
++
++ yyssp = yyss + yysize - 1;
++ yyvsp = yyvs + yysize - 1;
++
++ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
++ (unsigned long int) yystacksize));
++
++ if (yyss + yystacksize - 1 <= yyssp)
++ YYABORT;
++ }
++
++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++
++ if (yystate == YYFINAL)
++ YYACCEPT;
++
++ goto yybackup;
++
++/*-----------.
++| yybackup. |
++`-----------*/
++yybackup:
++
++ /* Do appropriate processing given the current state. Read a
++ lookahead token if we need one and don't already have one. */
++
++ /* First try to decide what to do without reference to lookahead token. */
++ yyn = yypact[yystate];
++ if (yypact_value_is_default (yyn))
++ goto yydefault;
++
++ /* Not known => get a lookahead token if don't already have one. */
++
++ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
++ if (yychar == YYEMPTY)
++ {
++ YYDPRINTF ((stderr, "Reading a token: "));
++ yychar = yylex (&yylval, thd);
++ }
++
++ if (yychar <= YYEOF)
++ {
++ yychar = yytoken = YYEOF;
++ YYDPRINTF ((stderr, "Now at end of input.\n"));
++ }
++ else
++ {
++ yytoken = YYTRANSLATE (yychar);
++ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
++ }
++
++ /* If the proper action on seeing token YYTOKEN is to reduce or to
++ detect an error, take that action. */
++ yyn += yytoken;
++ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
++ goto yydefault;
++ yyn = yytable[yyn];
++ if (yyn <= 0)
++ {
++ if (yytable_value_is_error (yyn))
++ goto yyerrlab;
++ yyn = -yyn;
++ goto yyreduce;
++ }
++
++ /* Count tokens shifted since error; after three, turn off error
++ status. */
++ if (yyerrstatus)
++ yyerrstatus--;
++
++ /* Shift the lookahead token. */
++ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
++
++ /* Discard the shifted token. */
++ yychar = YYEMPTY;
++
++ yystate = yyn;
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++ goto yynewstate;
++
++
++/*-----------------------------------------------------------.
++| yydefault -- do the default action for the current state. |
++`-----------------------------------------------------------*/
++yydefault:
++ yyn = yydefact[yystate];
++ if (yyn == 0)
++ goto yyerrlab;
++ goto yyreduce;
++
++
++/*-----------------------------.
++| yyreduce -- Do a reduction. |
++`-----------------------------*/
++yyreduce:
++ /* yyn is the number of a rule to reduce with. */
++ yylen = yyr2[yyn];
++
++ /* If YYLEN is nonzero, implement the default value of the action:
++ '$$ = $1'.
++
++ Otherwise, the following line sets YYVAL to garbage.
++ This behavior is undocumented and Bison
++ users should not rely upon it. Assigning to YYVAL
++ unconditionally makes the parser a bit smaller, and it avoids a
++ GCC warning that YYVAL may be used uninitialized. */
++ yyval = yyvsp[1-yylen];
++
++
++ YY_REDUCE_PRINT (yyn);
++ switch (yyn)
++ {
++ case 2:
++#line 1708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!thd->bootstrap &&
++ (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT)))
++ {
++ my_message(ER_EMPTY_QUERY, ER(ER_EMPTY_QUERY), MYF(0));
++ MYSQL_YYABORT;
++ }
++ thd->lex->sql_command= SQLCOM_EMPTY_QUERY;
++ YYLIP->found_semicolon= NULL;
++ }
++#line 17264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 3:
++#line 1719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex_input_stream *lip = YYLIP;
++
++ if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) &&
++ lip->multi_statements &&
++ ! lip->eof())
++ {
++ /*
++ We found a well formed query, and multi queries are allowed:
++ - force the parser to stop after the ';'
++ - mark the start of the next query for the next invocation
++ of the parser.
++ */
++ lip->next_state= MY_LEX_END;
++ lip->found_semicolon= lip->get_ptr();
++ }
++ else
++ {
++ /* Single query, terminated. */
++ lip->found_semicolon= NULL;
++ }
++ }
++#line 17291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 5:
++#line 1744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* Single query, not terminated. */
++ YYLIP->found_semicolon= NULL;
++ }
++#line 17300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 63:
++#line 1819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
++ lex->prepared_stmt_name= (yyvsp[0].lex_str);
++ }
++#line 17310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 66:
++#line 1833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->sql_command= SQLCOM_PREPARE;
++ lex->prepared_stmt_name= (yyvsp[-2].lex_str);
++ }
++#line 17320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 67:
++#line 1842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->prepared_stmt_code= (yyvsp[0].lex_str);
++ lex->prepared_stmt_code_is_varref= FALSE;
++ }
++#line 17330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 68:
++#line 1848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->prepared_stmt_code= (yyvsp[0].lex_str);
++ lex->prepared_stmt_code_is_varref= TRUE;
++ }
++#line 17340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 69:
++#line 1857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->sql_command= SQLCOM_EXECUTE;
++ lex->prepared_stmt_name= (yyvsp[0].lex_str);
++ }
++#line 17350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 70:
++#line 1863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 17356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 75:
++#line 1878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING));
++ if (!lexstr || lex->prepared_stmt_params.push_back(lexstr))
++ MYSQL_YYABORT;
++ }
++#line 17367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 76:
++#line 1890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "HELP");
++ MYSQL_YYABORT;
++ }
++ }
++#line 17379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 77:
++#line 1898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_HELP;
++ lex->help_arg= (yyvsp[0].lex_str).str;
++ }
++#line 17389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 78:
++#line 1909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_CHANGE_MASTER;
++ }
++#line 17397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 79:
++#line 1913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 17403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 82:
++#line 1923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.host = (yyvsp[0].lex_str).str;
++ }
++#line 17411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 83:
++#line 1927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.user = (yyvsp[0].lex_str).str;
++ }
++#line 17419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 84:
++#line 1931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.password = (yyvsp[0].lex_str).str;
++ }
++#line 17427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 85:
++#line 1935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.port = (yyvsp[0].ulong_num);
++ }
++#line 17435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 86:
++#line 1939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.connect_retry = (yyvsp[0].ulong_num);
++ }
++#line 17443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 87:
++#line 1943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl= (yyvsp[0].ulong_num) ?
++ LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
++ }
++#line 17452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 88:
++#line 1948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl_ca= (yyvsp[0].lex_str).str;
++ }
++#line 17460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 89:
++#line 1952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl_capath= (yyvsp[0].lex_str).str;
++ }
++#line 17468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 90:
++#line 1956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl_cert= (yyvsp[0].lex_str).str;
++ }
++#line 17476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 91:
++#line 1960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str;
++ }
++#line 17484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 92:
++#line 1964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl_key= (yyvsp[0].lex_str).str;
++ }
++#line 17492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 93:
++#line 1968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ?
++ LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
++ }
++#line 17501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 94:
++#line 1974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.heartbeat_period= (float) (yyvsp[0].item_num)->val_real();
++ if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD ||
++ Lex->mi.heartbeat_period < 0.0)
++ {
++ const char format[]= "%d";
++ char buf[4*sizeof(SLAVE_MAX_HEARTBEAT_PERIOD) + sizeof(format)];
++ sprintf(buf, format, SLAVE_MAX_HEARTBEAT_PERIOD);
++ my_error(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), buf);
++ MYSQL_YYABORT;
++ }
++ if (Lex->mi.heartbeat_period > slave_net_timeout)
++ {
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++ ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX,
++ ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX));
++ }
++ if (Lex->mi.heartbeat_period < 0.001)
++ {
++ if (Lex->mi.heartbeat_period != 0.0)
++ {
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++ ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN,
++ ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN));
++ Lex->mi.heartbeat_period= 0.0;
++ }
++ Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_DISABLE;
++ }
++ Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
++ }
++#line 17536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 95:
++#line 2005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
++ }
++#line 17544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 100:
++#line 2020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[0].ulong_num)));
++ }
++#line 17552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 101:
++#line 2026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.log_file_name = (yyvsp[0].lex_str).str;
++ }
++#line 17560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 102:
++#line 2030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.pos = (yyvsp[0].ulonglong_number);
++ /*
++ If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it
++ instead of causing subsequent errors.
++ We need to do it in this file, because only there we know that
++ MASTER_LOG_POS has been explicitely specified. On the contrary
++ in change_master() (sql_repl.cc) we cannot distinguish between 0
++ (MASTER_LOG_POS explicitely specified as 0) and 0 (unspecified),
++ whereas we want to distinguish (specified 0 means "read the binlog
++ from 0" (4 in fact), unspecified means "don't change the position
++ (keep the preceding value)").
++ */
++ Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos);
++ }
++#line 17580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 103:
++#line 2046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.relay_log_name = (yyvsp[0].lex_str).str;
++ }
++#line 17588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 104:
++#line 2050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->mi.relay_log_pos = (yyvsp[0].ulong_num);
++ /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */
++ Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos);
++ }
++#line 17598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 105:
++#line 2061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->sql_command= SQLCOM_CREATE_TABLE;
++ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
++ TL_OPTION_UPDATING,
++ TL_WRITE, MDL_EXCLUSIVE))
++ MYSQL_YYABORT;
++ /*
++ For CREATE TABLE, an non-existing table is not an error.
++ Instruct open_tables() to just take an MDL lock if the
++ table does not exist.
++ */
++ lex->query_tables->open_strategy= TABLE_LIST::OPEN_IF_EXISTS;
++ lex->alter_info.reset();
++ lex->col_list.empty();
++ lex->change=NullS;
++ bzero((char*) &lex->create_info,sizeof(lex->create_info));
++ lex->create_info.options=(yyvsp[-3].num) | (yyvsp[-1].num);
++ lex->create_info.default_table_charset= NULL;
++ lex->name.str= 0;
++ lex->name.length= 0;
++ lex->create_last_non_select_table= lex->last_table();
++ }
++#line 17626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 106:
++#line 2085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->current_select= &lex->select_lex;
++ if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
++ !lex->create_info.db_type)
++ {
++ lex->create_info.db_type= ha_default_handlerton(thd);
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++ ER_WARN_USING_OTHER_HANDLER,
++ ER(ER_WARN_USING_OTHER_HANDLER),
++ hton_name(lex->create_info.db_type)->str,
++ (yyvsp[-2].table)->table.str);
++ }
++ create_table_set_open_action_and_adjust_tables(lex);
++ }
++#line 17646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 107:
++#line 2101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index_prepare(Lex, (yyvsp[0].table)))
++ MYSQL_YYABORT;
++ }
++#line 17655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 108:
++#line 2106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 17664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 109:
++#line 2112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index_prepare(Lex, (yyvsp[0].table)))
++ MYSQL_YYABORT;
++ }
++#line 17673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 110:
++#line 2117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 17682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 111:
++#line 2123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index_prepare(Lex, (yyvsp[0].table)))
++ MYSQL_YYABORT;
++ }
++#line 17691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 112:
++#line 2128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 17700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 113:
++#line 2133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.default_table_charset= NULL;
++ Lex->create_info.used_fields= 0;
++ }
++#line 17709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 114:
++#line 2138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command=SQLCOM_CREATE_DB;
++ lex->name= (yyvsp[-2].lex_str);
++ lex->create_info.options=(yyvsp[-3].num);
++ }
++#line 17720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 115:
++#line 2145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_view_mode= VIEW_CREATE_NEW;
++ Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED;
++ Lex->create_view_suid= TRUE;
++ }
++#line 17730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 116:
++#line 2151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 17736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 117:
++#line 2153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_CREATE_USER;
++ }
++#line 17744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 118:
++#line 2157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP;
++ }
++#line 17752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 119:
++#line 2161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE;
++ }
++#line 17760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 120:
++#line 2165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command= SQLCOM_CREATE_SERVER;
++ }
++#line 17768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 121:
++#line 2176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.server_name= (yyvsp[-8].lex_str).str;
++ Lex->server_options.server_name_length= (yyvsp[-8].lex_str).length;
++ Lex->server_options.scheme= (yyvsp[-4].lex_str).str;
++ }
++#line 17778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 124:
++#line 2190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.username= (yyvsp[0].lex_str).str;
++ }
++#line 17786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 125:
++#line 2194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.host= (yyvsp[0].lex_str).str;
++ }
++#line 17794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 126:
++#line 2198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.db= (yyvsp[0].lex_str).str;
++ }
++#line 17802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 127:
++#line 2202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.owner= (yyvsp[0].lex_str).str;
++ }
++#line 17810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 128:
++#line 2206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.password= (yyvsp[0].lex_str).str;
++ }
++#line 17818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 129:
++#line 2210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.socket= (yyvsp[0].lex_str).str;
++ }
++#line 17826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 130:
++#line 2214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->server_options.port= (yyvsp[0].ulong_num);
++ }
++#line 17834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 131:
++#line 2221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++
++ lex->stmt_definition_begin= (yyvsp[-3].simple_string);
++ lex->create_info.options= (yyvsp[-1].num);
++ if (!(lex->event_parse_data= Event_parse_data::new_instance(thd)))
++ MYSQL_YYABORT;
++ lex->event_parse_data->identifier= (yyvsp[0].spname);
++ lex->event_parse_data->on_completion=
++ Event_parse_data::ON_COMPLETION_DROP;
++
++ lex->sql_command= SQLCOM_CREATE_EVENT;
++ /* We need that for disallowing subqueries */
++ }
++#line 17853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 132:
++#line 2240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ sql_command is set here because some rules in ev_sql_stmt
++ can overwrite it
++ */
++ Lex->sql_command= SQLCOM_CREATE_EVENT;
++ }
++#line 17865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 133:
++#line 2251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->item_expression= (yyvsp[-1].item);
++ Lex->event_parse_data->interval= (yyvsp[0].interval);
++ }
++#line 17874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 135:
++#line 2258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->item_execute_at= (yyvsp[0].item);
++ }
++#line 17882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 136:
++#line 2264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 17888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 137:
++#line 2266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->status= Event_parse_data::ENABLED;
++ Lex->event_parse_data->status_changed= true;
++ (yyval.num)= 1;
++ }
++#line 17898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 138:
++#line 2272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED;
++ Lex->event_parse_data->status_changed= true;
++ (yyval.num)= 1;
++ }
++#line 17908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 139:
++#line 2278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->status= Event_parse_data::DISABLED;
++ Lex->event_parse_data->status_changed= true;
++ (yyval.num)= 1;
++ }
++#line 17918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 140:
++#line 2287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root) Item_func_now_local(0);
++ if (item == NULL)
++ MYSQL_YYABORT;
++ Lex->event_parse_data->item_starts= item;
++ }
++#line 17929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 141:
++#line 2294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->item_starts= (yyvsp[0].item);
++ }
++#line 17937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 143:
++#line 2302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->item_ends= (yyvsp[0].item);
++ }
++#line 17945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 144:
++#line 2308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 17951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 146:
++#line 2314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->on_completion=
++ Event_parse_data::ON_COMPLETION_PRESERVE;
++ (yyval.num)= 1;
++ }
++#line 17961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 147:
++#line 2320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->event_parse_data->on_completion=
++ Event_parse_data::ON_COMPLETION_DROP;
++ (yyval.num)= 1;
++ }
++#line 17971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 148:
++#line 2328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 17977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 149:
++#line 2330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str);
++ (yyval.num)= 1;
++ }
++#line 17986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 150:
++#line 2337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++
++ /*
++ This stops the following :
++ - CREATE EVENT ... DO CREATE EVENT ...;
++ - ALTER EVENT ... DO CREATE EVENT ...;
++ - CREATE EVENT ... DO ALTER EVENT DO ....;
++ - CREATE PROCEDURE ... BEGIN CREATE EVENT ... END|
++ This allows:
++ - CREATE EVENT ... DO DROP EVENT yyy;
++ - CREATE EVENT ... DO ALTER EVENT yyy;
++ (the nested ALTER EVENT can have anything but DO clause)
++ - ALTER EVENT ... DO ALTER EVENT yyy;
++ (the nested ALTER EVENT can have anything but DO clause)
++ - ALTER EVENT ... DO DROP EVENT yyy;
++ - CREATE PROCEDURE ... BEGIN ALTER EVENT ... END|
++ (the nested ALTER EVENT can have anything but DO clause)
++ - CREATE PROCEDURE ... BEGIN DROP EVENT ... END|
++ */
++ if (lex->sphead)
++ {
++ my_error(ER_EVENT_RECURSION_FORBIDDEN, MYF(0));
++ MYSQL_YYABORT;
++ }
++
++ if (!(lex->sphead= new sp_head()))
++ MYSQL_YYABORT;
++
++ lex->sphead->reset_thd_mem_root(thd);
++ lex->sphead->init(lex);
++ lex->sphead->init_sp_name(thd, lex->event_parse_data->identifier);
++
++ lex->sphead->m_type= TYPE_ENUM_PROCEDURE;
++
++ bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++ lex->sphead->m_chistics= &lex->sp_chistics;
++
++ lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
++ }
++#line 18032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 151:
++#line 2379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++
++ /* return back to the original memory root ASAP */
++ lex->sphead->set_stmt_end(thd);
++ lex->sphead->restore_thd_mem_root(thd);
++
++ lex->sp_chistics.suid= SP_IS_SUID; //always the definer!
++
++ lex->event_parse_data->body_changed= TRUE;
++ }
++#line 18048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 165:
++#line 2410 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->users_list.empty();
++ lex->columns.empty();
++ lex->grant= lex->grant_tot_col= 0;
++ lex->all_privileges= 0;
++ lex->select_lex.db= 0;
++ lex->ssl_type= SSL_TYPE_NOT_SPECIFIED;
++ lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0;
++ bzero((char *)&(lex->mqh),sizeof(lex->mqh));
++ }
++#line 18064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 166:
++#line 2425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!(yyvsp[-2].lex_str).str || check_db_name(&(yyvsp[-2].lex_str)))
++ {
++ my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (check_routine_name(&(yyvsp[0].lex_str)))
++ {
++ MYSQL_YYABORT;
++ }
++ (yyval.spname)= new sp_name((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true);
++ if ((yyval.spname) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spname)->init_qname(thd);
++ }
++#line 18084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 167:
++#line 2441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ LEX_STRING db;
++ if (check_routine_name(&(yyvsp[0].lex_str)))
++ {
++ MYSQL_YYABORT;
++ }
++ if (lex->copy_db_to(&db.str, &db.length))
++ MYSQL_YYABORT;
++ (yyval.spname)= new sp_name(db, (yyvsp[0].lex_str), false);
++ if ((yyval.spname) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spname)->init_qname(thd);
++ }
++#line 18103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 168:
++#line 2458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18109 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 169:
++#line 2459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 170:
++#line 2463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 171:
++#line 2464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 172:
++#line 2470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.comment= (yyvsp[0].lex_str); }
++#line 18133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 173:
++#line 2472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* Just parse it, we only have one language for now. */ }
++#line 18139 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 174:
++#line 2474 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.daccess= SP_NO_SQL; }
++#line 18145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 175:
++#line 2476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; }
++#line 18151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 176:
++#line 2478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; }
++#line 18157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 177:
++#line 2480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; }
++#line 18163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 178:
++#line 2482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 179:
++#line 2487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 18175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 180:
++#line 2488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.detistic= TRUE; }
++#line 18181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 181:
++#line 2489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sp_chistics.detistic= FALSE; }
++#line 18187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 182:
++#line 2494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sp_chistics.suid= SP_IS_SUID;
++ }
++#line 18195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 183:
++#line 2498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sp_chistics.suid= SP_IS_NOT_SUID;
++ }
++#line 18203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 184:
++#line 2505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex = Lex;
++
++ lex->sql_command= SQLCOM_CALL;
++ lex->spname= (yyvsp[0].spname);
++ lex->value_list.empty();
++ sp_add_used_routine(lex, thd, (yyvsp[0].spname), TYPE_ENUM_PROCEDURE);
++ }
++#line 18216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 185:
++#line 2513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 190:
++#line 2529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->value_list.push_back((yyvsp[0].item));
++ }
++#line 18230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 191:
++#line 2533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->value_list.push_back((yyvsp[0].item));
++ }
++#line 18238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 196:
++#line 2551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ lex->length= 0;
++ lex->dec= 0;
++ lex->type= 0;
++
++ lex->default_value= 0;
++ lex->on_update_value= 0;
++
++ lex->comment= null_lex_str;
++ lex->charset= NULL;
++
++ lex->interval_list.empty();
++ lex->uint_geom_type= 0;
++ lex->vcol_info= 0;
++ }
++#line 18260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 197:
++#line 2572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *spc= lex->spcont;
++
++ if (spc->find_variable(&(yyvsp[-2].lex_str), TRUE))
++ {
++ my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ sp_variable_t *spvar= spc->push_variable(&(yyvsp[-2].lex_str),
++ (enum enum_field_types)(yyvsp[0].num),
++ sp_param_in);
++
++ if (lex->sphead->fill_field_definition(thd, lex,
++ (enum enum_field_types) (yyvsp[0].num),
++ &spvar->field_def))
++ {
++ MYSQL_YYABORT;
++ }
++ spvar->field_def.field_name= spvar->name.str;
++ spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
++ }
++#line 18287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 202:
++#line 2609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *spc= lex->spcont;
++
++ if (spc->find_variable(&(yyvsp[-1].lex_str), TRUE))
++ {
++ my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-1].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ sp_variable_t *spvar= spc->push_variable(&(yyvsp[-1].lex_str),
++ (enum enum_field_types)(yyvsp[0].num),
++ (sp_param_mode_t)(yyvsp[-3].num));
++
++ if (lex->sphead->fill_field_definition(thd, lex,
++ (enum enum_field_types) (yyvsp[0].num),
++ &spvar->field_def))
++ {
++ MYSQL_YYABORT;
++ }
++ spvar->field_def.field_name= spvar->name.str;
++ spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
++ }
++#line 18314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 203:
++#line 2634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= sp_param_in; }
++#line 18320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 204:
++#line 2635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= sp_param_in; }
++#line 18326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 205:
++#line 2636 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= sp_param_out; }
++#line 18332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 206:
++#line 2637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= sp_param_inout; }
++#line 18338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 207:
++#line 2641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 209:
++#line 2646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 211:
++#line 2652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
++ }
++#line 18358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 212:
++#line 2656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* We check for declarations out of (standard) order this way
++ because letting the grammar rules reflect it caused tricky
++ shift/reduce conflicts with the wrong result. (And we get
++ better error handling this way.) */
++ if (((yyvsp[-1].spblock).vars || (yyvsp[-1].spblock).conds) && ((yyvsp[-2].spblock).curs || (yyvsp[-2].spblock).hndlrs))
++ { /* Variable or condition following cursor or handler */
++ my_message(ER_SP_VARCOND_AFTER_CURSHNDLR,
++ ER(ER_SP_VARCOND_AFTER_CURSHNDLR), MYF(0));
++ MYSQL_YYABORT;
++ }
++ if ((yyvsp[-1].spblock).curs && (yyvsp[-2].spblock).hndlrs)
++ { /* Cursor following handler */
++ my_message(ER_SP_CURSOR_AFTER_HANDLER,
++ ER(ER_SP_CURSOR_AFTER_HANDLER), MYF(0));
++ MYSQL_YYABORT;
++ }
++ (yyval.spblock).vars= (yyvsp[-2].spblock).vars + (yyvsp[-1].spblock).vars;
++ (yyval.spblock).conds= (yyvsp[-2].spblock).conds + (yyvsp[-1].spblock).conds;
++ (yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs;
++ (yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs;
++ }
++#line 18385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 213:
++#line 2682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ lex->sphead->reset_lex(thd);
++ lex->spcont->declare_var_boundary((yyvsp[0].num));
++ }
++#line 18396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 214:
++#line 2690 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *pctx= lex->spcont;
++ uint num_vars= pctx->context_var_count();
++ enum enum_field_types var_type= (enum enum_field_types) (yyvsp[-1].num);
++ Item *dflt_value_item= (yyvsp[0].item);
++
++ if (!dflt_value_item)
++ {
++ dflt_value_item= new (thd->mem_root) Item_null();
++ if (dflt_value_item == NULL)
++ MYSQL_YYABORT;
++ /* QQ Set to the var_type with null_value? */
++ }
++
++ for (uint i = num_vars-(yyvsp[-3].num) ; i < num_vars ; i++)
++ {
++ uint var_idx= pctx->var_context2runtime(i);
++ sp_variable_t *spvar= pctx->find_variable(var_idx);
++
++ if (!spvar)
++ MYSQL_YYABORT;
++
++ spvar->type= var_type;
++ spvar->dflt= dflt_value_item;
++
++ if (lex->sphead->fill_field_definition(thd, lex, var_type,
++ &spvar->field_def))
++ {
++ MYSQL_YYABORT;
++ }
++
++ spvar->field_def.field_name= spvar->name.str;
++ spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
++
++ /* The last instruction is responsible for freeing LEX. */
++
++ sp_instr_set *is= new sp_instr_set(lex->sphead->instructions(),
++ pctx,
++ var_idx,
++ dflt_value_item,
++ var_type,
++ lex,
++ (i == num_vars - 1));
++ if (is == NULL ||
++ lex->sphead->add_instr(is))
++ MYSQL_YYABORT;
++ }
++
++ pctx->declare_var_boundary(0);
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ (yyval.spblock).vars= (yyvsp[-3].num);
++ (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
++ }
++#line 18456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 215:
++#line 2746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *spc= lex->spcont;
++
++ if (spc->find_cond(&(yyvsp[-3].lex_str), TRUE))
++ {
++ my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[-3].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if(thd->lex->spcont->push_cond(&(yyvsp[-3].lex_str), (yyvsp[0].spcondtype)))
++ MYSQL_YYABORT;
++ (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
++ (yyval.spblock).conds= 1;
++ }
++#line 18475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 216:
++#line 2761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++
++ lex->spcont= lex->spcont->push_context(LABEL_HANDLER_SCOPE);
++
++ sp_pcontext *ctx= lex->spcont;
++ sp_instr_hpush_jump *i=
++ new sp_instr_hpush_jump(sp->instructions(), ctx, (yyvsp[-2].num),
++ ctx->current_var_count());
++ if (i == NULL || sp->add_instr(i))
++ MYSQL_YYABORT;
++
++ /* For continue handlers, mark end of handler scope. */
++ if ((yyvsp[-2].num) == SP_HANDLER_CONTINUE &&
++ sp->push_backpatch(i, ctx->last_label()))
++ MYSQL_YYABORT;
++
++ if (sp->push_backpatch(i, ctx->push_label(empty_c_string, 0)))
++ MYSQL_YYABORT;
++ }
++#line 18501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 217:
++#line 2783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ sp_label_t *hlab= lex->spcont->pop_label(); /* After this hdlr */
++ sp_instr_hreturn *i;
++
++ if ((yyvsp[-5].num) == SP_HANDLER_CONTINUE)
++ {
++ i= new sp_instr_hreturn(sp->instructions(), ctx,
++ ctx->current_var_count());
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++ else
++ { /* EXIT or UNDO handler, just jump to the end of the block */
++ i= new sp_instr_hreturn(sp->instructions(), ctx, 0);
++ if (i == NULL ||
++ sp->add_instr(i) ||
++ sp->push_backpatch(i, lex->spcont->last_label())) /* Block end */
++ MYSQL_YYABORT;
++ }
++ lex->sphead->backpatch(hlab);
++
++ lex->spcont= ctx->pop_context();
++
++ (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0;
++ (yyval.spblock).hndlrs= (yyvsp[-1].num);
++ lex->spcont->add_handlers((yyvsp[-1].num));
++ }
++#line 18537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 218:
++#line 2815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ uint offp;
++ sp_instr_cpush *i;
++
++ if (ctx->find_cursor(&(yyvsp[-3].lex_str), &offp, TRUE))
++ {
++ my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[-3].lex_str).str);
++ delete (yyvsp[0].lex);
++ MYSQL_YYABORT;
++ }
++ i= new sp_instr_cpush(sp->instructions(), ctx, (yyvsp[0].lex),
++ ctx->current_cursor_count());
++ if (i == NULL ||
++ sp->add_instr(i) ||
++ ctx->push_cursor(&(yyvsp[-3].lex_str)))
++ MYSQL_YYABORT;
++ (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0;
++ (yyval.spblock).curs= 1;
++ }
++#line 18564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 219:
++#line 2840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sphead->reset_lex(thd);
++ }
++#line 18572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 220:
++#line 2844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ DBUG_ASSERT(lex->sql_command == SQLCOM_SELECT);
++
++ if (lex->result)
++ {
++ my_message(ER_SP_BAD_CURSOR_SELECT, ER(ER_SP_BAD_CURSOR_SELECT),
++ MYF(0));
++ MYSQL_YYABORT;
++ }
++ lex->sp_lex_in_use= TRUE;
++ (yyval.lex)= lex;
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 18593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 221:
++#line 2863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= SP_HANDLER_EXIT; }
++#line 18599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 222:
++#line 2864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= SP_HANDLER_CONTINUE; }
++#line 18605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 223:
++#line 2870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 18611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 224:
++#line 2872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)+= 1; }
++#line 18617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 225:
++#line 2877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont->parent_context();
++
++ if (ctx->find_handler((yyvsp[0].spcondtype)))
++ {
++ my_message(ER_SP_DUP_HANDLER, ER(ER_SP_DUP_HANDLER), MYF(0));
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ sp_instr_hpush_jump *i=
++ (sp_instr_hpush_jump *)sp->last_instruction();
++
++ i->add_condition((yyvsp[0].spcondtype));
++ ctx->push_handler((yyvsp[0].spcondtype));
++ }
++ }
++#line 18641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 226:
++#line 2900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* mysql errno */
++ if ((yyvsp[0].ulong_num) == 0)
++ {
++ my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0");
++ MYSQL_YYABORT;
++ }
++ (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++ if ((yyval.spcondtype) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spcondtype)->type= sp_cond_type_t::number;
++ (yyval.spcondtype)->mysqlerr= (yyvsp[0].ulong_num);
++ }
++#line 18658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 228:
++#line 2917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* SQLSTATE */
++ if (!sp_cond_check(&(yyvsp[0].lex_str)))
++ {
++ my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++ if ((yyval.spcondtype) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spcondtype)->type= sp_cond_type_t::state;
++ memcpy((yyval.spcondtype)->sqlstate, (yyvsp[0].lex_str).str, SQLSTATE_LENGTH);
++ (yyval.spcondtype)->sqlstate[SQLSTATE_LENGTH]= '\0';
++ }
++#line 18676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 229:
++#line 2933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 230:
++#line 2934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 18688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 231:
++#line 2939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.spcondtype)= (yyvsp[0].spcondtype);
++ }
++#line 18696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 232:
++#line 2943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.spcondtype)= Lex->spcont->find_cond(&(yyvsp[0].lex_str));
++ if ((yyval.spcondtype) == NULL)
++ {
++ my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++#line 18709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 233:
++#line 2952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++ if ((yyval.spcondtype) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spcondtype)->type= sp_cond_type_t::warning;
++ }
++#line 18720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 234:
++#line 2959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++ if ((yyval.spcondtype) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spcondtype)->type= sp_cond_type_t::notfound;
++ }
++#line 18731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 235:
++#line 2966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++ if ((yyval.spcondtype) == NULL)
++ MYSQL_YYABORT;
++ (yyval.spcondtype)->type= sp_cond_type_t::exception;
++ }
++#line 18742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 236:
++#line 2976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Yacc_state *state= & thd->m_parser_state->m_yacc;
++
++ lex->sql_command= SQLCOM_SIGNAL;
++ lex->m_stmt= new (thd->mem_root) Signal_statement(lex, (yyvsp[-1].spcondtype),
++ state->m_set_signal_info);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 18757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 237:
++#line 2990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_cond_type_t *cond;
++ if (lex->spcont == NULL)
++ {
++ /* SIGNAL foo cannot be used outside of stored programs */
++ my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ cond= lex->spcont->find_cond(&(yyvsp[0].lex_str));
++ if (cond == NULL)
++ {
++ my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (cond->type != sp_cond_type_t::state)
++ {
++ my_error(ER_SIGNAL_BAD_CONDITION_TYPE, MYF(0));
++ MYSQL_YYABORT;
++ }
++ (yyval.spcondtype)= cond;
++ }
++#line 18784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 238:
++#line 3013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.spcondtype)= (yyvsp[0].spcondtype); }
++#line 18790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 239:
++#line 3018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.spcondtype)= NULL; }
++#line 18796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 240:
++#line 3020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.spcondtype)= (yyvsp[0].spcondtype); }
++#line 18802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 241:
++#line 3025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ thd->m_parser_state->m_yacc.m_set_signal_info.clear();
++ }
++#line 18810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 243:
++#line 3033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Set_signal_information *info;
++ info= &thd->m_parser_state->m_yacc.m_set_signal_info;
++ int index= (int) (yyvsp[-2].diag_condition_item_name);
++ info->clear();
++ info->m_item[index]= (yyvsp[0].item);
++ }
++#line 18822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 244:
++#line 3042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Set_signal_information *info;
++ info= &thd->m_parser_state->m_yacc.m_set_signal_info;
++ int index= (int) (yyvsp[-2].diag_condition_item_name);
++ if (info->m_item[index] != NULL)
++ {
++ my_error(ER_DUP_SIGNAL_SET, MYF(0),
++ Diag_condition_item_names[index].str);
++ MYSQL_YYABORT;
++ }
++ info->m_item[index]= (yyvsp[0].item);
++ }
++#line 18839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 245:
++#line 3061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item); }
++#line 18845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 246:
++#line 3063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if ((yyvsp[0].item)->type() == Item::FUNC_ITEM)
++ {
++ Item_func *item= (Item_func*) (yyvsp[0].item);
++ if (item->functype() == Item_func::SUSERVAR_FUNC)
++ {
++ /*
++ Don't allow the following syntax:
++ SIGNAL/RESIGNAL ...
++ SET <signal condition item name> = @foo := expr
++ */
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++ (yyval.item)= (yyvsp[0].item);
++ }
++#line 18867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 247:
++#line 3081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item); }
++#line 18873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 248:
++#line 3087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; }
++#line 18879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 249:
++#line 3089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; }
++#line 18885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 250:
++#line 3091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; }
++#line 18891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 251:
++#line 3093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; }
++#line 18897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 252:
++#line 3095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; }
++#line 18903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 253:
++#line 3097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; }
++#line 18909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 254:
++#line 3099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; }
++#line 18915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 255:
++#line 3101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; }
++#line 18921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 256:
++#line 3103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; }
++#line 18927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 257:
++#line 3105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; }
++#line 18933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 258:
++#line 3107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; }
++#line 18939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 259:
++#line 3109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; }
++#line 18945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 260:
++#line 3114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Yacc_state *state= & thd->m_parser_state->m_yacc;
++
++ lex->sql_command= SQLCOM_RESIGNAL;
++ lex->m_stmt= new (thd->mem_root) Resignal_statement(lex, (yyvsp[-1].spcondtype),
++ state->m_set_signal_info);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 18960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 261:
++#line 3128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* NOTE: field definition is filled in sp_decl section. */
++
++ LEX *lex= Lex;
++ sp_pcontext *spc= lex->spcont;
++
++ if (spc->find_variable(&(yyvsp[0].lex_str), TRUE))
++ {
++ my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ spc->push_variable(&(yyvsp[0].lex_str), (enum_field_types)0, sp_param_in);
++ (yyval.num)= 1;
++ }
++#line 18979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 262:
++#line 3143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* NOTE: field definition is filled in sp_decl section. */
++
++ LEX *lex= Lex;
++ sp_pcontext *spc= lex->spcont;
++
++ if (spc->find_variable(&(yyvsp[0].lex_str), TRUE))
++ {
++ my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ spc->push_variable(&(yyvsp[0].lex_str), (enum_field_types)0, sp_param_in);
++ (yyval.num)= (yyvsp[-2].num) + 1;
++ }
++#line 18998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 263:
++#line 3160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = NULL; }
++#line 19004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 264:
++#line 3161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item); }
++#line 19010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 278:
++#line 3182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sphead->new_cont_backpatch(NULL); }
++#line 19016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 279:
++#line 3184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sphead->do_cont_backpatch(); }
++#line 19022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 280:
++#line 3188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++
++ lex->sphead->reset_lex(thd);
++ lex->sphead->m_tmp_query= lip->get_tok_start();
++ }
++#line 19034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 281:
++#line 3196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++ sp_head *sp= lex->sphead;
++
++ sp->m_flags|= sp_get_flags_for_command(lex);
++ if (lex->sql_command == SQLCOM_CHANGE_DB)
++ { /* "USE db" doesn't work in a procedure */
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "USE");
++ MYSQL_YYABORT;
++ }
++ /*
++ Don't add an instruction for SET statements, since all
++ instructions for them were already added during processing
++ of "set" rule.
++ */
++ DBUG_ASSERT(lex->sql_command != SQLCOM_SET_OPTION ||
++ lex->var_list.is_empty());
++ if (lex->sql_command != SQLCOM_SET_OPTION)
++ {
++ sp_instr_stmt *i=new sp_instr_stmt(sp->instructions(),
++ lex->spcont, lex);
++ if (i == NULL)
++ MYSQL_YYABORT;
++
++ /*
++ Extract the query statement from the tokenizer. The
++ end is either lex->ptr, if there was no lookahead,
++ lex->tok_end otherwise.
++ */
++ if (yychar == YYEMPTY)
++ i->m_query.length= lip->get_ptr() - sp->m_tmp_query;
++ else
++ i->m_query.length= lip->get_tok_end() - sp->m_tmp_query;
++ if (!(i->m_query.str= strmake_root(thd->mem_root,
++ sp->m_tmp_query,
++ i->m_query.length)) ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++ if (sp->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 282:
++#line 3243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sphead->reset_lex(thd); }
++#line 19088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 283:
++#line 3245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++
++ if (sp->m_type != TYPE_ENUM_FUNCTION)
++ {
++ my_message(ER_SP_BADRETURN, ER(ER_SP_BADRETURN), MYF(0));
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ sp_instr_freturn *i;
++
++ i= new sp_instr_freturn(sp->instructions(), lex->spcont, (yyvsp[0].item),
++ sp->m_return_field_def.sql_type, lex);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ sp->m_flags|= sp_head::HAS_RETURN;
++ }
++ if (sp->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 284:
++#line 3271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* Unlabeled controls get a secret label. */
++ LEX *lex= Lex;
++
++ lex->spcont->push_label((char *)"", lex->sphead->instructions());
++ }
++#line 19126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 285:
++#line 3277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ lex->sphead->backpatch(lex->spcont->pop_label());
++ }
++#line 19136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 286:
++#line 3286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp = lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ sp_label_t *lab= ctx->find_label((yyvsp[0].lex_str).str);
++
++ if (! lab)
++ {
++ my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ sp_instr_jump *i;
++ uint ip= sp->instructions();
++ uint n;
++ /*
++ When jumping to a BEGIN-END block end, the target jump
++ points to the block hpop/cpop cleanup instructions,
++ so we should exclude the block context here.
++ When jumping to something else (i.e., SP_LAB_ITER),
++ there are no hpop/cpop at the jump destination,
++ so we should include the block context here for cleanup.
++ */
++ bool exclusive= (lab->type == SP_LAB_BEGIN);
++
++ n= ctx->diff_handlers(lab->ctx, exclusive);
++ if (n)
++ {
++ sp_instr_hpop *hpop= new sp_instr_hpop(ip++, ctx, n);
++ if (hpop == NULL)
++ MYSQL_YYABORT;
++ sp->add_instr(hpop);
++ }
++ n= ctx->diff_cursors(lab->ctx, exclusive);
++ if (n)
++ {
++ sp_instr_cpop *cpop= new sp_instr_cpop(ip++, ctx, n);
++ if (cpop == NULL)
++ MYSQL_YYABORT;
++ sp->add_instr(cpop);
++ }
++ i= new sp_instr_jump(ip, ctx);
++ if (i == NULL)
++ MYSQL_YYABORT;
++ sp->push_backpatch(i, lab); /* Jumping forward */
++ sp->add_instr(i);
++ }
++ }
++#line 19190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 287:
++#line 3339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ sp_label_t *lab= ctx->find_label((yyvsp[0].lex_str).str);
++
++ if (! lab || lab->type != SP_LAB_ITER)
++ {
++ my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ sp_instr_jump *i;
++ uint ip= sp->instructions();
++ uint n;
++
++ n= ctx->diff_handlers(lab->ctx, FALSE); /* Inclusive the dest. */
++ if (n)
++ {
++ sp_instr_hpop *hpop= new sp_instr_hpop(ip++, ctx, n);
++ if (hpop == NULL ||
++ sp->add_instr(hpop))
++ MYSQL_YYABORT;
++ }
++ n= ctx->diff_cursors(lab->ctx, FALSE); /* Inclusive the dest. */
++ if (n)
++ {
++ sp_instr_cpop *cpop= new sp_instr_cpop(ip++, ctx, n);
++ if (cpop == NULL ||
++ sp->add_instr(cpop))
++ MYSQL_YYABORT;
++ }
++ i= new sp_instr_jump(ip, ctx, lab->ip); /* Jump back */
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++ }
++#line 19234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 288:
++#line 3382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ uint offset;
++ sp_instr_copen *i;
++
++ if (! lex->spcont->find_cursor(&(yyvsp[0].lex_str), &offset))
++ {
++ my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ i= new sp_instr_copen(sp->instructions(), lex->spcont, offset);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++#line 19255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 289:
++#line 3402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ uint offset;
++ sp_instr_cfetch *i;
++
++ if (! lex->spcont->find_cursor(&(yyvsp[-1].lex_str), &offset))
++ {
++ my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[-1].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ i= new sp_instr_cfetch(sp->instructions(), lex->spcont, offset);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++#line 19276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 290:
++#line 3419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 19282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 291:
++#line 3424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ uint offset;
++ sp_instr_cclose *i;
++
++ if (! lex->spcont->find_cursor(&(yyvsp[0].lex_str), &offset))
++ {
++ my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ i= new sp_instr_cclose(sp->instructions(), lex->spcont, offset);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++#line 19303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 295:
++#line 3450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *spc= lex->spcont;
++ sp_variable_t *spv;
++
++ if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
++ {
++ my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ /* An SP local variable */
++ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
++
++ i->add_to_varlist(spv);
++ }
++ }
++#line 19327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 296:
++#line 3470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *spc= lex->spcont;
++ sp_variable_t *spv;
++
++ if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
++ {
++ my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ /* An SP local variable */
++ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
++
++ i->add_to_varlist(spv);
++ }
++ }
++#line 19351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 297:
++#line 3492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sphead->reset_lex(thd); }
++#line 19357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 298:
++#line 3494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ uint ip= sp->instructions();
++ sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, ctx,
++ (yyvsp[-1].item), lex);
++ if (i == NULL ||
++ sp->push_backpatch(i, ctx->push_label((char *)"", 0)) ||
++ sp->add_cont_backpatch(i) ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ if (sp->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 299:
++#line 3510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ sp_head *sp= Lex->sphead;
++ sp_pcontext *ctx= Lex->spcont;
++ uint ip= sp->instructions();
++ sp_instr_jump *i = new sp_instr_jump(ip, ctx);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ sp->backpatch(ctx->pop_label());
++ sp->push_backpatch(i, ctx->push_label((char *)"", 0));
++ }
++#line 19393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 300:
++#line 3522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ lex->sphead->backpatch(lex->spcont->pop_label());
++ }
++#line 19403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 306:
++#line 3542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ case_stmt_action_case(lex);
++ lex->sphead->reset_lex(thd); /* For expr $3 */
++ }
++#line 19413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 307:
++#line 3548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (case_stmt_action_expr(lex, (yyvsp[0].item)))
++ MYSQL_YYABORT;
++
++ /* For expr $3 */
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 308:
++#line 3561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ case_stmt_action_end_case(lex, true);
++ }
++#line 19436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 309:
++#line 3569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ case_stmt_action_case(lex);
++ }
++#line 19445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 310:
++#line 3577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ case_stmt_action_end_case(lex, false);
++ }
++#line 19454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 315:
++#line 3595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sphead->reset_lex(thd); /* For expr $3 */
++ }
++#line 19462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 316:
++#line 3599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* Simple case: <caseval> = <whenval> */
++
++ LEX *lex= Lex;
++ if (case_stmt_action_when(lex, (yyvsp[0].item), true))
++ MYSQL_YYABORT;
++ /* For expr $3 */
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 317:
++#line 3611 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (case_stmt_action_then(lex))
++ MYSQL_YYABORT;
++ }
++#line 19487 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 318:
++#line 3620 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sphead->reset_lex(thd); /* For expr $3 */
++ }
++#line 19495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 319:
++#line 3624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (case_stmt_action_when(lex, (yyvsp[0].item), false))
++ MYSQL_YYABORT;
++ /* For expr $3 */
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 320:
++#line 3634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (case_stmt_action_then(lex))
++ MYSQL_YYABORT;
++ }
++#line 19518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 321:
++#line 3643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ uint ip= sp->instructions();
++ sp_instr_error *i= new sp_instr_error(ip, lex->spcont,
++ ER_SP_CASE_NOT_FOUND);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++#line 19533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 323:
++#line 3658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *ctx= lex->spcont;
++ sp_label_t *lab= ctx->find_label((yyvsp[-1].lex_str).str);
++
++ if (lab)
++ {
++ my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ lab= lex->spcont->push_label((yyvsp[-1].lex_str).str,
++ lex->sphead->instructions());
++ lab->type= SP_LAB_ITER;
++ }
++ }
++#line 19555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 324:
++#line 3676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_label_t *lab= lex->spcont->pop_label();
++
++ if ((yyvsp[0].lex_str).str)
++ {
++ if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, lab->name) != 0)
++ {
++ my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++ lex->sphead->backpatch(lab);
++ }
++#line 19574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 325:
++#line 3693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= null_lex_str; }
++#line 19580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 326:
++#line 3694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 19586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 327:
++#line 3699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *ctx= lex->spcont;
++ sp_label_t *lab= ctx->find_label((yyvsp[-1].lex_str).str);
++
++ if (lab)
++ {
++ my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_str).str);
++ MYSQL_YYABORT;
++ }
++
++ lab= lex->spcont->push_label((yyvsp[-1].lex_str).str,
++ lex->sphead->instructions());
++ lab->type= SP_LAB_BEGIN;
++ }
++#line 19606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 328:
++#line 3715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_label_t *lab= lex->spcont->pop_label();
++
++ if ((yyvsp[0].lex_str).str)
++ {
++ if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, lab->name) != 0)
++ {
++ my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++ }
++#line 19624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 329:
++#line 3731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* Unlabeled blocks get a secret label. */
++ LEX *lex= Lex;
++ uint ip= lex->sphead->instructions();
++ sp_label_t *lab= lex->spcont->push_label((char *)"", ip);
++ lab->type= SP_LAB_BEGIN;
++ }
++#line 19635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 330:
++#line 3738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->spcont->pop_label();
++ }
++#line 19644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 331:
++#line 3746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* QQ This is just a dummy for grouping declarations and statements
++ together. No [[NOT] ATOMIC] yet, and we need to figure out how
++ make it coexist with the existing BEGIN COMMIT/ROLLBACK. */
++ LEX *lex= Lex;
++ lex->spcont= lex->spcont->push_context(LABEL_DEFAULT_SCOPE);
++ }
++#line 19655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 332:
++#line 3755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ sp_pcontext *ctx= lex->spcont;
++ sp_instr *i;
++
++ sp->backpatch(ctx->last_label()); /* We always have a label */
++ if ((yyvsp[-2].spblock).hndlrs)
++ {
++ i= new sp_instr_hpop(sp->instructions(), ctx, (yyvsp[-2].spblock).hndlrs);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++ if ((yyvsp[-2].spblock).curs)
++ {
++ i= new sp_instr_cpop(sp->instructions(), ctx, (yyvsp[-2].spblock).curs);
++ if (i == NULL ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++ lex->spcont= ctx->pop_context();
++ }
++#line 19683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 333:
++#line 3783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ uint ip= lex->sphead->instructions();
++ sp_label_t *lab= lex->spcont->last_label(); /* Jumping back */
++ sp_instr_jump *i = new sp_instr_jump(ip, lex->spcont, lab->ip);
++ if (i == NULL ||
++ lex->sphead->add_instr(i))
++ MYSQL_YYABORT;
++ }
++#line 19697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 334:
++#line 3793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sphead->reset_lex(thd); }
++#line 19703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 335:
++#line 3795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ uint ip= sp->instructions();
++ sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont,
++ (yyvsp[-1].item), lex);
++ if (i == NULL ||
++ /* Jumping forward */
++ sp->push_backpatch(i, lex->spcont->last_label()) ||
++ sp->new_cont_backpatch(i) ||
++ sp->add_instr(i))
++ MYSQL_YYABORT;
++ if (sp->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++#line 19723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 336:
++#line 3811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ uint ip= lex->sphead->instructions();
++ sp_label_t *lab= lex->spcont->last_label(); /* Jumping back */
++ sp_instr_jump *i = new sp_instr_jump(ip, lex->spcont, lab->ip);
++ if (i == NULL ||
++ lex->sphead->add_instr(i))
++ MYSQL_YYABORT;
++ lex->sphead->do_cont_backpatch();
++ }
++#line 19738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 337:
++#line 3822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sphead->reset_lex(thd); }
++#line 19744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 338:
++#line 3824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ uint ip= lex->sphead->instructions();
++ sp_label_t *lab= lex->spcont->last_label(); /* Jumping back */
++ sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont,
++ (yyvsp[-2].item), lab->ip,
++ lex);
++ if (i == NULL ||
++ lex->sphead->add_instr(i))
++ MYSQL_YYABORT;
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ /* We can shortcut the cont_backpatch here */
++ i->m_cont_dest= ip+1;
++ }
++#line 19764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 339:
++#line 3843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; }
++#line 19770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 340:
++#line 3845 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; }
++#line 19776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 341:
++#line 3850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->trg_chistics.event= TRG_EVENT_INSERT; }
++#line 19782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 342:
++#line 3852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->trg_chistics.event= TRG_EVENT_UPDATE; }
++#line 19788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 343:
++#line 3854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->trg_chistics.event= TRG_EVENT_DELETE; }
++#line 19794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 347:
++#line 3888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 19800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 348:
++#line 3890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
++ }
++#line 19809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 349:
++#line 3900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE;
++ }
++#line 19817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 350:
++#line 3906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE;
++ }
++#line 19825 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 355:
++#line 3929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 19831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 402:
++#line 4023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str;
++ }
++#line 19840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 403:
++#line 4031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str;
++ }
++#line 19849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 404:
++#line 4039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str;
++ }
++#line 19858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 405:
++#line 4047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info= new st_alter_tablespace();
++ if (lex->alter_tablespace_info == NULL)
++ MYSQL_YYABORT;
++ lex->alter_tablespace_info->tablespace_name= (yyvsp[0].lex_str).str;
++ lex->sql_command= SQLCOM_ALTER_TABLESPACE;
++ }
++#line 19871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 406:
++#line 4059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info= new st_alter_tablespace();
++ if (lex->alter_tablespace_info == NULL)
++ MYSQL_YYABORT;
++ lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
++ lex->sql_command= SQLCOM_ALTER_TABLESPACE;
++ }
++#line 19884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 407:
++#line 4071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY;
++ }
++#line 19893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 408:
++#line 4076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE;
++ }
++#line 19902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 409:
++#line 4081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE;
++ }
++#line 19911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 410:
++#line 4089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number);
++ }
++#line 19920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 411:
++#line 4097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number);
++ }
++#line 19929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 412:
++#line 4105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number);
++ }
++#line 19938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 413:
++#line 4113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number);
++ }
++#line 19947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 414:
++#line 4121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number);
++ }
++#line 19956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 415:
++#line 4129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number);
++ }
++#line 19965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 416:
++#line 4137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP)
++ {
++ my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP");
++ MYSQL_YYABORT;
++ }
++ lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num);
++ }
++#line 19979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 417:
++#line 4150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->alter_tablespace_info->ts_comment != NULL)
++ {
++ my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT");
++ MYSQL_YYABORT;
++ }
++ lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str;
++ }
++#line 19993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 418:
++#line 4163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->alter_tablespace_info->storage_engine != NULL)
++ {
++ my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),
++ "STORAGE ENGINE");
++ MYSQL_YYABORT;
++ }
++ lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type);
++ }
++#line 20008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 421:
++#line 4182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->wait_until_completed= TRUE;
++ }
++#line 20017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 422:
++#line 4187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (!(lex->alter_tablespace_info->wait_until_completed))
++ {
++ my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NO_WAIT");
++ MYSQL_YYABORT;
++ }
++ lex->alter_tablespace_info->wait_until_completed= FALSE;
++ }
++#line 20031 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 423:
++#line 4199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);}
++#line 20037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 424:
++#line 4201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ ulonglong number;
++ uint text_shift_number= 0;
++ longlong prefix_number;
++ char *start_ptr= (yyvsp[0].lex_str).str;
++ uint str_len= (yyvsp[0].lex_str).length;
++ char *end_ptr= start_ptr + str_len;
++ int error;
++ prefix_number= my_strtoll10(start_ptr, &end_ptr, &error);
++ if ((start_ptr + str_len - 1) == end_ptr)
++ {
++ switch (end_ptr[0])
++ {
++ case 'g':
++ case 'G':
++ text_shift_number+=10;
++ case 'm':
++ case 'M':
++ text_shift_number+=10;
++ case 'k':
++ case 'K':
++ text_shift_number+=10;
++ break;
++ default:
++ {
++ my_error(ER_WRONG_SIZE_NUMBER, MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++ if (prefix_number >> 31)
++ {
++ my_error(ER_SIZE_OVERFLOW_ERROR, MYF(0));
++ MYSQL_YYABORT;
++ }
++ number= prefix_number << text_shift_number;
++ }
++ else
++ {
++ my_error(ER_WRONG_SIZE_NUMBER, MYF(0));
++ MYSQL_YYABORT;
++ }
++ (yyval.ulonglong_number)= number;
++ }
++#line 20085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 425:
++#line 4251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 426:
++#line 4254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 427:
++#line 4256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ TABLE_LIST *src_table;
++ LEX *lex= thd->lex;
++
++ lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
++ src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, 0,
++ TL_READ,
++ MDL_SHARED_READ);
++ if (! src_table)
++ MYSQL_YYABORT;
++ /* CREATE TABLE ... LIKE is not allowed for views. */
++ src_table->required_type= FRMTYPE_TABLE;
++ }
++#line 20115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 428:
++#line 4270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ TABLE_LIST *src_table;
++ LEX *lex= thd->lex;
++
++ lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
++ src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[-1].table), NULL, 0,
++ TL_READ,
++ MDL_SHARED_READ);
++ if (! src_table)
++ MYSQL_YYABORT;
++ /* CREATE TABLE ... LIKE is not allowed for views. */
++ src_table->required_type= FRMTYPE_TABLE;
++ }
++#line 20133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 429:
++#line 4287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.option_list= NULL;
++ }
++#line 20141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 430:
++#line 4292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 431:
++#line 4295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->set_braces(1);}
++#line 20153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 432:
++#line 4296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 433:
++#line 4300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 434:
++#line 4302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->set_braces(0);}
++#line 20171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 435:
++#line 4303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 436:
++#line 4305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->set_braces(1);}
++#line 20183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 437:
++#line 4306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 438:
++#line 4311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Remove all tables used in PARTITION clause from the global table
++ list. Partitioning with subqueries is not allowed anyway.
++ */
++ TABLE_LIST *last_non_sel_table= Lex->create_last_non_select_table;
++ last_non_sel_table->next_global= 0;
++ Lex->query_tables_last= &last_non_sel_table->next_global;
++ }
++#line 20203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 439:
++#line 4347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 441:
++#line 4353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->part_info= new partition_info();
++ if (!lex->part_info)
++ {
++ mem_alloc_error(sizeof(partition_info));
++ MYSQL_YYABORT;
++ }
++ if (lex->sql_command == SQLCOM_ALTER_TABLE)
++ {
++ lex->alter_info.flags|= ALTER_PARTITION;
++ }
++ }
++#line 20227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 443:
++#line 4371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++#ifdef WITH_PARTITION_STORAGE_ENGINE
++ LEX_STRING partition_name={C_STRING_WITH_LEN("partition")};
++ if (!plugin_is_ready(&partition_name, MYSQL_STORAGE_ENGINE_PLUGIN))
++ {
++ my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0),
++ "--skip-partition");
++ MYSQL_YYABORT;
++ }
++#else
++ my_error(ER_FEATURE_DISABLED, MYF(0), "partitioning",
++ "--with-plugin-partition");
++ MYSQL_YYABORT;
++#endif
++ }
++#line 20247 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 444:
++#line 4390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (!lex->part_info)
++ {
++ my_parse_error(ER(ER_PARTITION_ENTRY_ERROR));
++ MYSQL_YYABORT;
++ }
++ /*
++ We enter here when opening the frm file to translate
++ partition info string into part_info data structure.
++ */
++ }
++#line 20264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 445:
++#line 4402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 447:
++#line 4411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->list_of_part_fields= TRUE;
++ part_info->column_list= FALSE;
++ part_info->part_type= HASH_PARTITION;
++ }
++#line 20281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 448:
++#line 4418 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->part_type= HASH_PARTITION; }
++#line 20287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 449:
++#line 4419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 450:
++#line 4421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->part_type= RANGE_PARTITION; }
++#line 20299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 451:
++#line 4423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->part_type= RANGE_PARTITION; }
++#line 20305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 452:
++#line 4425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->part_type= LIST_PARTITION; }
++#line 20311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 453:
++#line 4427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->part_type= LIST_PARTITION; }
++#line 20317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 454:
++#line 4431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 455:
++#line 4433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->linear_hash_ind= TRUE;}
++#line 20329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 456:
++#line 4438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;}
++#line 20335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 457:
++#line 4440 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ switch ((yyvsp[0].ulong_num)) {
++ case 1:
++ Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51;
++ break;
++ case 2:
++ Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_55;
++ break;
++ default:
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 20353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 458:
++#line 4456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 459:
++#line 4457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 460:
++#line 4461 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 461:
++#line 4462 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 462:
++#line 4467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->num_columns++;
++ if (part_info->part_field_list.push_back((yyvsp[0].lex_str).str))
++ {
++ mem_alloc_error(1);
++ MYSQL_YYABORT;
++ }
++ if (part_info->num_columns > MAX_REF_PARTS)
++ {
++ my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0),
++ "list of partition fields");
++ MYSQL_YYABORT;
++ }
++ }
++#line 20397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 463:
++#line 4486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->column_list= TRUE;
++ part_info->list_of_part_fields= TRUE;
++ }
++#line 20407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 464:
++#line 4496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), FALSE))
++ { MYSQL_YYABORT; }
++ part_info->num_columns= 1;
++ part_info->column_list= FALSE;
++ }
++#line 20419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 465:
++#line 4507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), TRUE))
++ { MYSQL_YYABORT; }
++ }
++#line 20428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 466:
++#line 4515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 467:
++#line 4517 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ uint num_parts= (yyvsp[0].ulong_num);
++ partition_info *part_info= Lex->part_info;
++ if (num_parts == 0)
++ {
++ my_error(ER_NO_PARTS_ERROR, MYF(0), "partitions");
++ MYSQL_YYABORT;
++ }
++
++ part_info->num_parts= num_parts;
++ part_info->use_default_num_partitions= FALSE;
++ }
++#line 20451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 468:
++#line 4532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 469:
++#line 4534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->subpart_type= HASH_PARTITION; }
++#line 20463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 470:
++#line 4535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 471:
++#line 4538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->subpart_type= HASH_PARTITION;
++ part_info->list_of_subpart_fields= TRUE;
++ }
++#line 20479 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 472:
++#line 4543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 473:
++#line 4547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 474:
++#line 4548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 475:
++#line 4553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->subpart_field_list.push_back((yyvsp[0].lex_str).str))
++ {
++ mem_alloc_error(1);
++ MYSQL_YYABORT;
++ }
++ if (part_info->subpart_field_list.elements > MAX_REF_PARTS)
++ {
++ my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0),
++ "list of subpartition fields");
++ MYSQL_YYABORT;
++ }
++ }
++#line 20516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 476:
++#line 4571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ bool not_corr_func;
++ not_corr_func= !lex->safe_to_cache_query;
++ lex->safe_to_cache_query= 1;
++ if (not_corr_func)
++ {
++ my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR));
++ MYSQL_YYABORT;
++ }
++ (yyval.item)=(yyvsp[0].item);
++ }
++#line 20533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 477:
++#line 4586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 478:
++#line 4588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ uint num_parts= (yyvsp[0].ulong_num);
++ LEX *lex= Lex;
++ if (num_parts == 0)
++ {
++ my_error(ER_NO_PARTS_ERROR, MYF(0), "subpartitions");
++ MYSQL_YYABORT;
++ }
++ lex->part_info->num_subparts= num_parts;
++ lex->part_info->use_default_num_subpartitions= FALSE;
++ }
++#line 20555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 479:
++#line 4603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->part_type == RANGE_PARTITION)
++ {
++ my_error(ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0),
++ "RANGE");
++ MYSQL_YYABORT;
++ }
++ else if (part_info->part_type == LIST_PARTITION)
++ {
++ my_error(ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0),
++ "LIST");
++ MYSQL_YYABORT;
++ }
++ }
++#line 20575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 480:
++#line 4619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ uint count_curr_parts= part_info->partitions.elements;
++ if (part_info->num_parts != 0)
++ {
++ if (part_info->num_parts !=
++ count_curr_parts)
++ {
++ my_parse_error(ER(ER_PARTITION_WRONG_NO_PART_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++ else if (count_curr_parts > 0)
++ {
++ part_info->num_parts= count_curr_parts;
++ }
++ part_info->count_curr_subparts= 0;
++ }
++#line 20598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 481:
++#line 4640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 482:
++#line 4641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 483:
++#line 4646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ partition_element *p_elem= new partition_element();
++
++ if (!p_elem || part_info->partitions.push_back(p_elem))
++ {
++ mem_alloc_error(sizeof(partition_element));
++ MYSQL_YYABORT;
++ }
++ p_elem->part_state= PART_NORMAL;
++ part_info->curr_part_elem= p_elem;
++ part_info->current_partition= p_elem;
++ part_info->use_default_partitions= FALSE;
++ part_info->use_default_num_partitions= FALSE;
++ }
++#line 20630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 484:
++#line 4665 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 485:
++#line 4670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ partition_element *p_elem= part_info->curr_part_elem;
++ if (check_ident_length(&(yyvsp[0].lex_str)))
++ MYSQL_YYABORT;
++ p_elem->partition_name= (yyvsp[0].lex_str).str;
++ }
++#line 20648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 486:
++#line 4681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ partition_info *part_info= lex->part_info;
++ if (! lex->is_partition_management())
++ {
++ if (part_info->part_type == RANGE_PARTITION)
++ {
++ my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0),
++ "RANGE", "LESS THAN");
++ MYSQL_YYABORT;
++ }
++ if (part_info->part_type == LIST_PARTITION)
++ {
++ my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0),
++ "LIST", "IN");
++ MYSQL_YYABORT;
++ }
++ }
++ else
++ part_info->part_type= HASH_PARTITION;
++ }
++#line 20674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 487:
++#line 4703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ partition_info *part_info= lex->part_info;
++ if (! lex->is_partition_management())
++ {
++ if (part_info->part_type != RANGE_PARTITION)
++ {
++ my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0),
++ "RANGE", "LESS THAN");
++ MYSQL_YYABORT;
++ }
++ }
++ else
++ part_info->part_type= RANGE_PARTITION;
++ }
++#line 20694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 488:
++#line 4718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 489:
++#line 4720 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ partition_info *part_info= lex->part_info;
++ if (! lex->is_partition_management())
++ {
++ if (part_info->part_type != LIST_PARTITION)
++ {
++ my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0),
++ "LIST", "IN");
++ MYSQL_YYABORT;
++ }
++ }
++ else
++ part_info->part_type= LIST_PARTITION;
++ }
++#line 20720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 490:
++#line 4735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 491:
++#line 4740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++
++ if (part_info->num_columns &&
++ part_info->num_columns != 1U)
++ {
++ part_info->print_debug("Kilroy II", NULL);
++ my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR));
++ MYSQL_YYABORT;
++ }
++ else
++ part_info->num_columns= 1U;
++ if (part_info->init_column_part())
++ {
++ MYSQL_YYABORT;
++ }
++ if (part_info->add_max_value())
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 20752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 492:
++#line 4761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20758 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 493:
++#line 4766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ partition_info *part_info= lex->part_info;
++ part_info->print_debug("part_values_in: part_value_item", NULL);
++
++ if (part_info->num_columns != 1U)
++ {
++ if (!lex->is_partition_management() ||
++ part_info->num_columns == 0 ||
++ part_info->num_columns > MAX_REF_PARTS)
++ {
++ part_info->print_debug("Kilroy III", NULL);
++ my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR));
++ MYSQL_YYABORT;
++ }
++ /*
++ Reorganize the current large array into a list of small
++ arrays with one entry in each array. This can happen
++ in the first partition of an ALTER TABLE statement where
++ we ADD or REORGANIZE partitions. Also can only happen
++ for LIST partitions.
++ */
++ if (part_info->reorganize_into_single_field_col_val())
++ {
++ MYSQL_YYABORT;
++ }
++ }
++ }
++#line 20791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 494:
++#line 4795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->num_columns < 2U)
++ {
++ my_parse_error(ER(ER_ROW_SINGLE_PARTITION_FIELD_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 20804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 495:
++#line 4806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 496:
++#line 4807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 497:
++#line 4812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->print_debug("( part_value_item", NULL);
++ /* Initialisation code needed for each list of value expressions */
++ if (!(part_info->part_type == LIST_PARTITION &&
++ part_info->num_columns == 1U) &&
++ part_info->init_column_part())
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 20832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 498:
++#line 4823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 499:
++#line 4825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->print_debug(") part_value_item", NULL);
++ if (part_info->num_columns == 0)
++ part_info->num_columns= part_info->curr_list_object;
++ if (part_info->num_columns != part_info->curr_list_object)
++ {
++ /*
++ All value items lists must be of equal length, in some cases
++ which is covered by the above if-statement we don't know yet
++ how many columns is in the partition so the assignment above
++ ensures that we only report errors when we know we have an
++ error.
++ */
++ part_info->print_debug("Kilroy I", NULL);
++ my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR));
++ MYSQL_YYABORT;
++ }
++ part_info->curr_list_object= 0;
++ }
++#line 20863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 500:
++#line 4848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 501:
++#line 4849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 502:
++#line 4854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->part_type == LIST_PARTITION)
++ {
++ my_parse_error(ER(ER_MAXVALUE_IN_VALUES_IN));
++ MYSQL_YYABORT;
++ }
++ if (part_info->add_max_value())
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 20892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 503:
++#line 4867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ partition_info *part_info= lex->part_info;
++ Item *part_expr= (yyvsp[0].item);
++
++ if (!lex->safe_to_cache_query)
++ {
++ my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (part_info->add_column_list_value(thd, part_expr))
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 20912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 504:
++#line 4887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->num_subparts != 0 &&
++ !part_info->use_default_subpartitions)
++ {
++ /*
++ We come here when we have defined subpartitions on the first
++ partition but not on all the subsequent partitions.
++ */
++ my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 20930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 505:
++#line 4901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ if (part_info->num_subparts != 0)
++ {
++ if (part_info->num_subparts !=
++ part_info->count_curr_subparts)
++ {
++ my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++ else if (part_info->count_curr_subparts > 0)
++ {
++ if (part_info->partitions.elements > 1)
++ {
++ my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++ MYSQL_YYABORT;
++ }
++ part_info->num_subparts= part_info->count_curr_subparts;
++ }
++ part_info->count_curr_subparts= 0;
++ }
++#line 20957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 506:
++#line 4926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 507:
++#line 4927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 20969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 508:
++#line 4932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ partition_element *curr_part= part_info->current_partition;
++ partition_element *sub_p_elem= new partition_element(curr_part);
++ if (part_info->use_default_subpartitions &&
++ part_info->partitions.elements >= 2)
++ {
++ /*
++ create table t1 (a int)
++ partition by list (a) subpartition by hash (a)
++ (partition p0 values in (1),
++ partition p1 values in (2) subpartition sp11);
++ causes use to arrive since we are on the second
++ partition, but still use_default_subpartitions
++ is set. When we come here we're processing at least
++ the second partition (the current partition processed
++ have already been put into the partitions list.
++ */
++ my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (!sub_p_elem ||
++ curr_part->subpartitions.push_back(sub_p_elem))
++ {
++ mem_alloc_error(sizeof(partition_element));
++ MYSQL_YYABORT;
++ }
++ part_info->curr_part_elem= sub_p_elem;
++ part_info->use_default_subpartitions= FALSE;
++ part_info->use_default_num_subpartitions= FALSE;
++ part_info->count_curr_subparts++;
++ }
++#line 21006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 509:
++#line 4964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 510:
++#line 4969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (check_ident_length(&(yyvsp[0].lex_str)))
++ MYSQL_YYABORT;
++ Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str;
++ }
++#line 21022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 511:
++#line 4977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 512:
++#line 4978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 513:
++#line 4982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 514:
++#line 4983 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 515:
++#line 4988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; }
++#line 21052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 516:
++#line 4990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->curr_part_elem->engine_type= (yyvsp[0].db_type);
++ part_info->default_engine_type= (yyvsp[0].db_type);
++ }
++#line 21062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 517:
++#line 4996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->part_info->curr_part_elem->connect_string.str= (yyvsp[0].lex_str).str;
++ lex->part_info->curr_part_elem->connect_string.length= (yyvsp[0].lex_str).length;
++ }
++#line 21072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 518:
++#line 5002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); }
++#line 21078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 519:
++#line 5004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
++#line 21084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 520:
++#line 5006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
++#line 21090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 521:
++#line 5008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; }
++#line 21096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 522:
++#line 5010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; }
++#line 21102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 523:
++#line 5012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; }
++#line 21108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 524:
++#line 5021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->sql_command == SQLCOM_INSERT)
++ lex->sql_command= SQLCOM_INSERT_SELECT;
++ else if (lex->sql_command == SQLCOM_REPLACE)
++ lex->sql_command= SQLCOM_REPLACE_SELECT;
++ /*
++ The following work only with the local list, the global list
++ is created correctly in this case
++ */
++ lex->current_select->table_list.save_and_clear(&lex->save_list);
++ mysql_init_select(lex);
++ lex->current_select->parsing_place= SELECT_LIST;
++ }
++#line 21127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 525:
++#line 5036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= NO_MATTER;
++ }
++#line 21135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 526:
++#line 5040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ The following work only with the local list, the global list
++ is created correctly in this case
++ */
++ Lex->current_select->table_list.push_front(&Lex->save_list);
++ }
++#line 21147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 527:
++#line 5050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 528:
++#line 5051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 529:
++#line 5055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 530:
++#line 5056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 531:
++#line 5060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 532:
++#line 5061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 533:
++#line 5065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 534:
++#line 5066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 535:
++#line 5070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 21201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 536:
++#line 5071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (yyvsp[0].num);}
++#line 21207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 537:
++#line 5075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=(yyvsp[0].num); }
++#line 21213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 538:
++#line 5076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
++#line 21219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 539:
++#line 5080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; }
++#line 21225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 540:
++#line 5084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 21231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 541:
++#line 5085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; }
++#line 21237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 549:
++#line 5106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.db_type= (yyvsp[0].db_type);
++ Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
++ }
++#line 21246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 550:
++#line 5111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.max_rows= (yyvsp[0].ulonglong_number);
++ Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS;
++ }
++#line 21255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 551:
++#line 5116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.min_rows= (yyvsp[0].ulonglong_number);
++ Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS;
++ }
++#line 21264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 552:
++#line 5121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.avg_row_length=(yyvsp[0].ulong_num);
++ Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH;
++ }
++#line 21273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 553:
++#line 5126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.password=(yyvsp[0].lex_str).str;
++ Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD;
++ }
++#line 21282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 554:
++#line 5131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.comment=(yyvsp[0].lex_str);
++ Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT;
++ }
++#line 21291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 555:
++#line 5136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number);
++ Lex->create_info.used_fields|= HA_CREATE_USED_AUTO;
++ }
++#line 21300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 556:
++#line 5141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ switch((yyvsp[0].ulong_num)) {
++ case 0:
++ Lex->create_info.table_options|= HA_OPTION_NO_PACK_KEYS;
++ break;
++ case 1:
++ Lex->create_info.table_options|= HA_OPTION_PACK_KEYS;
++ break;
++ default:
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
++ }
++#line 21319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 557:
++#line 5156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.table_options&=
++ ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS);
++ Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
++ }
++#line 21329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 558:
++#line 5162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
++ Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
++ }
++#line 21338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 559:
++#line 5167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
++ Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
++ }
++#line 21347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 560:
++#line 5172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.used_fields|= HA_CREATE_USED_PAGE_CHECKSUM;
++ Lex->create_info.page_checksum= (yyvsp[0].choice);
++ }
++#line 21356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 561:
++#line 5177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE;
++ Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE;
++ }
++#line 21365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 562:
++#line 5182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.row_type= (yyvsp[0].row_type);
++ Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
++ }
++#line 21374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 563:
++#line 5187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->select_lex.table_list.save_and_clear(&Lex->save_list);
++ }
++#line 21382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 564:
++#line 5191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Move the union list to the merge_list and exclude its tables
++ from the global list.
++ */
++ LEX *lex=Lex;
++ lex->create_info.merge_list= lex->select_lex.table_list;
++ lex->select_lex.table_list= lex->save_list;
++ /*
++ When excluding union list from the global list we assume that
++ elements of the former immediately follow elements which represent
++ table being created/altered and parent tables.
++ */
++ TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table;
++ DBUG_ASSERT(last_non_sel_table->next_global ==
++ lex->create_info.merge_list.first);
++ last_non_sel_table->next_global= 0;
++ Lex->query_tables_last= &last_non_sel_table->next_global;
++
++ lex->create_info.used_fields|= HA_CREATE_USED_UNION;
++ }
++#line 21408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 567:
++#line 5215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num);
++ Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;
++ }
++#line 21417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 568:
++#line 5220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.data_file_name= (yyvsp[0].lex_str).str;
++ Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR;
++ }
++#line 21426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 569:
++#line 5225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.index_file_name= (yyvsp[0].lex_str).str;
++ Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR;
++ }
++#line 21435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 570:
++#line 5230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {Lex->create_info.tablespace= (yyvsp[0].lex_str).str;}
++#line 21441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 571:
++#line 5232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {Lex->create_info.storage_media= HA_SM_DISK;}
++#line 21447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 572:
++#line 5234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {Lex->create_info.storage_media= HA_SM_MEMORY;}
++#line 21453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 573:
++#line 5236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str;
++ Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length;
++ Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION;
++ }
++#line 21463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 574:
++#line 5242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE;
++ Lex->create_info.key_block_size= (yyvsp[0].ulong_num);
++ }
++#line 21472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 575:
++#line 5247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.used_fields|= HA_CREATE_USED_TRANSACTIONAL;
++ Lex->create_info.transactional= (yyvsp[0].choice);
++ }
++#line 21481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 576:
++#line 5252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->create_info.option_list,
++ &Lex->option_list_last);
++ }
++#line 21491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 577:
++#line 5258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->create_info.option_list,
++ &Lex->option_list_last);
++ }
++#line 21501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 578:
++#line 5264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->create_info.option_list,
++ &Lex->option_list_last, thd->mem_root);
++ }
++#line 21511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 579:
++#line 5270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), &Lex->create_info.option_list,
++ &Lex->option_list_last);
++ }
++#line 21521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 580:
++#line 5279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ HA_CREATE_INFO *cinfo= &Lex->create_info;
++ if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
++ cinfo->default_table_charset && (yyvsp[0].charset) &&
++ !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset)))
++ {
++ my_error(ER_CONFLICTING_DECLARATIONS, MYF(0),
++ "CHARACTER SET ", cinfo->default_table_charset->csname,
++ "CHARACTER SET ", (yyvsp[0].charset)->csname);
++ MYSQL_YYABORT;
++ }
++ Lex->create_info.default_table_charset= (yyvsp[0].charset);
++ Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
++ }
++#line 21540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 581:
++#line 5297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ HA_CREATE_INFO *cinfo= &Lex->create_info;
++ if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
++ cinfo->default_table_charset && (yyvsp[0].charset) &&
++ !((yyvsp[0].charset)= merge_charset_and_collation(cinfo->default_table_charset,
++ (yyvsp[0].charset))))
++ {
++ MYSQL_YYABORT;
++ }
++
++ Lex->create_info.default_table_charset= (yyvsp[0].charset);
++ Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
++ }
++#line 21558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 582:
++#line 5314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ plugin_ref plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str));
++
++ if (plugin)
++ (yyval.db_type)= plugin_data(plugin, handlerton*);
++ else
++ {
++ if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
++ {
++ my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ (yyval.db_type)= 0;
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++ ER_UNKNOWN_STORAGE_ENGINE,
++ ER(ER_UNKNOWN_STORAGE_ENGINE),
++ (yyvsp[0].lex_str).str);
++ }
++ }
++#line 21582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 583:
++#line 5337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ plugin_ref plugin;
++ if ((plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str))))
++ (yyval.db_type)= plugin_data(plugin, handlerton*);
++ else
++ {
++ my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++#line 21597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 584:
++#line 5350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_DEFAULT; }
++#line 21603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 585:
++#line 5351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_FIXED; }
++#line 21609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 586:
++#line 5352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_DYNAMIC; }
++#line 21615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 587:
++#line 5353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_COMPRESSED; }
++#line 21621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 588:
++#line 5354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_REDUNDANT; }
++#line 21627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 589:
++#line 5355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_COMPACT; }
++#line 21633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 590:
++#line 5356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.row_type)= ROW_TYPE_PAGE; }
++#line 21639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 591:
++#line 5360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulong_num)= MERGE_INSERT_DISABLED; }
++#line 21645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 592:
++#line 5361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; }
++#line 21651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 593:
++#line 5362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; }
++#line 21657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 594:
++#line 5366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 596:
++#line 5371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.num) = (int) STRING_RESULT; }
++#line 21669 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 597:
++#line 5372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.num) = (int) REAL_RESULT; }
++#line 21675 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 598:
++#line 5373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.num) = (int) DECIMAL_RESULT; }
++#line 21681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 599:
++#line 5374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.num) = (int) INT_RESULT; }
++#line 21687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 600:
++#line 5380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_last_non_select_table= Lex->last_table();
++ }
++#line 21695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 606:
++#line 5398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->col_list.empty(); /* Alloced by sql_alloc */
++ }
++#line 21703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 607:
++#line 5405 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->option_list= NULL; }
++#line 21709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 608:
++#line 5407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-6].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 21718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 609:
++#line 5413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->option_list= NULL; }
++#line 21724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 610:
++#line 5415 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index (Lex, (yyvsp[-8].key_type), (yyvsp[-6].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 21733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 611:
++#line 5421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->option_list= NULL; }
++#line 21739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 612:
++#line 5423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index (Lex, (yyvsp[-8].key_type), (yyvsp[-6].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 21748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 613:
++#line 5429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->option_list= NULL; }
++#line 21754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 614:
++#line 5431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-6].lex_str).str ? (yyvsp[-6].lex_str) : (yyvsp[-8].lex_str)))
++ MYSQL_YYABORT;
++ }
++#line 21763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 615:
++#line 5436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Key *key= new Foreign_key((yyvsp[-4].lex_str).str ? (yyvsp[-4].lex_str) : (yyvsp[-7].lex_str), lex->col_list,
++ (yyvsp[0].table),
++ lex->ref_list,
++ lex->fk_delete_opt,
++ lex->fk_update_opt,
++ lex->fk_match_option);
++ if (key == NULL)
++ MYSQL_YYABORT;
++ lex->alter_info.key_list.push_back(key);
++ lex->option_list= NULL;
++ if (add_create_index (lex, Key::MULTIPLE, (yyvsp[-7].lex_str).str ? (yyvsp[-7].lex_str) : (yyvsp[-4].lex_str),
++ &default_key_create_info, 1))
++ MYSQL_YYABORT;
++ /* Only used for ALTER TABLE. Ignored otherwise. */
++ lex->alter_info.flags|= ALTER_FOREIGN_KEY;
++ }
++#line 21786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 616:
++#line 5455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->col_list.empty(); /* Alloced by sql_alloc */
++ }
++#line 21794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 620:
++#line 5470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= null_lex_str; }
++#line 21800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 621:
++#line 5471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 21806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 622:
++#line 5475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 21812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 623:
++#line 5480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->length=lex->dec=0;
++ lex->type=0;
++ lex->default_value= lex->on_update_value= 0;
++ lex->comment=null_lex_str;
++ lex->charset=NULL;
++ lex->vcol_info= 0;
++ lex->option_list= NULL;
++ }
++#line 21827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 624:
++#line 5491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (add_field_to_list(lex->thd, &(yyvsp[-2].lex_str), (yyvsp[0].lex_type).type,
++ (yyvsp[0].lex_type).length, (yyvsp[0].lex_type).dec, lex->type,
++ lex->default_value, lex->on_update_value,
++ &lex->comment,
++ lex->change, &lex->interval_list, (yyvsp[0].lex_type).charset,
++ lex->uint_geom_type,
++ lex->vcol_info, lex->option_list))
++ MYSQL_YYABORT;
++ }
++#line 21843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 625:
++#line 5506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_type).set((yyvsp[-1].num), Lex->length, Lex->dec, Lex->charset); }
++#line 21849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 626:
++#line 5508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_type).set((yyvsp[-2].num), Lex->length, Lex->dec, Lex->charset); }
++#line 21855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 627:
++#line 5510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_type)= (yyvsp[-5].lex_type);
++ Lex->vcol_info->set_field_type((yyval.lex_type).type);
++ (yyval.lex_type).type= (enum enum_field_types)MYSQL_TYPE_VIRTUAL;
++ }
++#line 21865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 629:
++#line 5519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 630:
++#line 5524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->vcol_info->set_stored_in_db_flag(FALSE);
++ }
++#line 21879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 631:
++#line 5528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->vcol_info->set_stored_in_db_flag(FALSE);
++ }
++#line 21887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 632:
++#line 5532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->vcol_info->set_stored_in_db_flag(TRUE);
++ }
++#line 21895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 633:
++#line 5538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 634:
++#line 5539 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 635:
++#line 5543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 21913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 637:
++#line 5549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type|= UNIQUE_FLAG;
++ lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 21923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 638:
++#line 5555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type|= UNIQUE_KEY_FLAG;
++ lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 21933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 639:
++#line 5560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->comment= (yyvsp[0].lex_str); }
++#line 21939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 640:
++#line 5565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ "PARSE_VCOL_EXPR" can only be used by the SQL server
++ when reading a '*.frm' file.
++ Prevent the end user from invoking this command.
++ */
++ if (!Lex->parse_vcol_expr)
++ {
++ my_message(ER_SYNTAX_ERROR, ER(ER_SYNTAX_ERROR), MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 21956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 641:
++#line 5581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->vcol_info= new Virtual_column_info();
++ if (!Lex->vcol_info)
++ {
++ mem_alloc_error(sizeof(Virtual_column_info));
++ MYSQL_YYABORT;
++ }
++ uint expr_len= (uint)((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)) - 1;
++ Lex->vcol_info->expr_str.str= (char* ) sql_memdup((yyvsp[-2].simple_string) + 1, expr_len);
++ Lex->vcol_info->expr_str.length= expr_len;
++ Lex->vcol_info->expr_item= (yyvsp[-1].item);
++ }
++#line 21973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 642:
++#line 5596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=(yyvsp[-2].num); }
++#line 21979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 643:
++#line 5597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=(yyvsp[-2].num); }
++#line 21985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 644:
++#line 5598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_FLOAT; }
++#line 21991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 645:
++#line 5600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= (char*) "1";
++ (yyval.num)=MYSQL_TYPE_BIT;
++ }
++#line 22000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 646:
++#line 5605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)=MYSQL_TYPE_BIT;
++ }
++#line 22008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 647:
++#line 5609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= (char*) "1";
++ (yyval.num)=MYSQL_TYPE_TINY;
++ }
++#line 22017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 648:
++#line 5614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= (char*) "1";
++ (yyval.num)=MYSQL_TYPE_TINY;
++ }
++#line 22026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 649:
++#line 5619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)=MYSQL_TYPE_STRING;
++ }
++#line 22034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 650:
++#line 5623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= (char*) "1";
++ (yyval.num)=MYSQL_TYPE_STRING;
++ }
++#line 22043 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 651:
++#line 5628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)=MYSQL_TYPE_STRING;
++ Lex->charset=national_charset_info;
++ }
++#line 22052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 652:
++#line 5633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= (char*) "1";
++ (yyval.num)=MYSQL_TYPE_STRING;
++ Lex->charset=national_charset_info;
++ }
++#line 22062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 653:
++#line 5639 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_STRING;
++ }
++#line 22071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 654:
++#line 5644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= (char*) "1";
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_STRING;
++ }
++#line 22081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 655:
++#line 5650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= MYSQL_TYPE_VARCHAR;
++ }
++#line 22089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 656:
++#line 5654 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= MYSQL_TYPE_VARCHAR;
++ Lex->charset=national_charset_info;
++ }
++#line 22098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 657:
++#line 5659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)= MYSQL_TYPE_VARCHAR;
++ }
++#line 22107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 658:
++#line 5664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->length)
++ {
++ errno= 0;
++ ulong length= strtoul(Lex->length, NULL, 10);
++ if (errno == 0 && length <= MAX_FIELD_BLOBLENGTH && length != 4)
++ {
++ char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1];
++ my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length);
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
++ ER_WARN_DEPRECATED_SYNTAX,
++ ER(ER_WARN_DEPRECATED_SYNTAX),
++ buff, "YEAR(4)");
++ }
++ }
++ (yyval.num)=MYSQL_TYPE_YEAR;
++ }
++#line 22129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 659:
++#line 5682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_DATE; }
++#line 22135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 660:
++#line 5684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_TIME; }
++#line 22141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 661:
++#line 5686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (thd->variables.sql_mode & MODE_MAXDB)
++ (yyval.num)=MYSQL_TYPE_DATETIME;
++ else
++ {
++ /*
++ Unlike other types TIMESTAMP fields are NOT NULL by default.
++ */
++ Lex->type|= NOT_NULL_FLAG;
++ (yyval.num)=MYSQL_TYPE_TIMESTAMP;
++ }
++ }
++#line 22158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 662:
++#line 5699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_DATETIME; }
++#line 22164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 663:
++#line 5701 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_TINY_BLOB;
++ }
++#line 22173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 664:
++#line 5706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_BLOB;
++ }
++#line 22182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 665:
++#line 5711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++#ifdef HAVE_SPATIAL
++ Lex->charset=&my_charset_bin;
++ Lex->uint_geom_type= (uint)(yyvsp[0].num);
++ (yyval.num)=MYSQL_TYPE_GEOMETRY;
++#else
++ my_error(ER_FEATURE_DISABLED, MYF(0),
++ sym_group_geom.name, sym_group_geom.needed_define);
++ MYSQL_YYABORT;
++#endif
++ }
++#line 22198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 666:
++#line 5723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB;
++ }
++#line 22207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 667:
++#line 5728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_LONG_BLOB;
++ }
++#line 22216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 668:
++#line 5733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset=&my_charset_bin;
++ (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB;
++ }
++#line 22225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 669:
++#line 5738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
++#line 22231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 670:
++#line 5740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_TINY_BLOB; }
++#line 22237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 671:
++#line 5742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_BLOB; }
++#line 22243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 672:
++#line 5744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
++#line 22249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 673:
++#line 5746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_LONG_BLOB; }
++#line 22255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 674:
++#line 5748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
++#line 22261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 675:
++#line 5750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
++#line 22267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 676:
++#line 5752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
++#line 22273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 677:
++#line 5754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {Lex->interval_list.empty();}
++#line 22279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 678:
++#line 5756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_ENUM; }
++#line 22285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 679:
++#line 5758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->interval_list.empty();}
++#line 22291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 680:
++#line 5760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_SET; }
++#line 22297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 681:
++#line 5762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
++#line 22303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 682:
++#line 5764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)=MYSQL_TYPE_LONGLONG;
++ Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG |
++ UNIQUE_FLAG);
++ }
++#line 22313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 683:
++#line 5772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_GEOMETRY; }
++#line 22319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 684:
++#line 5773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; }
++#line 22325 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 685:
++#line 5775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->length= const_cast<char*>(STRINGIFY_ARG
++ (MAX_LEN_GEOM_POINT_FIELD));
++ (yyval.num)= Field::GEOM_POINT;
++ }
++#line 22335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 686:
++#line 5780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_MULTIPOINT; }
++#line 22341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 687:
++#line 5781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_LINESTRING; }
++#line 22347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 688:
++#line 5782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_MULTILINESTRING; }
++#line 22353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 689:
++#line 5783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_POLYGON; }
++#line 22359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 690:
++#line 5784 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= Field::GEOM_MULTIPOLYGON; }
++#line 22365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 691:
++#line 5788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 692:
++#line 5792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 693:
++#line 5793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 694:
++#line 5797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 695:
++#line 5798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 696:
++#line 5802 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 697:
++#line 5803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 698:
++#line 5804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 699:
++#line 5805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 700:
++#line 5806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 701:
++#line 5810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_LONG; }
++#line 22431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 702:
++#line 5811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_TINY; }
++#line 22437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 703:
++#line 5812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_SHORT; }
++#line 22443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 704:
++#line 5813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_INT24; }
++#line 22449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 705:
++#line 5814 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_LONGLONG; }
++#line 22455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 706:
++#line 5819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ?
++ MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE;
++ }
++#line 22464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 707:
++#line 5824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_DOUBLE; }
++#line 22470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 708:
++#line 5826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=MYSQL_TYPE_DOUBLE; }
++#line 22476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 709:
++#line 5831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->dec=Lex->length= (char*)0; }
++#line 22482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 710:
++#line 5833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->dec= (char*)0; }
++#line 22488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 711:
++#line 5835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 712:
++#line 5840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->length=(yyvsp[-3].lex_str).str;
++ lex->dec=(yyvsp[-1].lex_str).str;
++ }
++#line 22504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 713:
++#line 5848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 714:
++#line 5849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 715:
++#line 5853 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 716:
++#line 5854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 717:
++#line 5858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 718:
++#line 5859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= UNSIGNED_FLAG;}
++#line 22540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 719:
++#line 5860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
++#line 22546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 720:
++#line 5864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 721:
++#line 5865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 722:
++#line 5866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 723:
++#line 5867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 724:
++#line 5870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->length=(char*) 0; /* use default length */ }
++#line 22576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 725:
++#line 5871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 22582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 726:
++#line 5875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 727:
++#line 5876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 728:
++#line 5880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 729:
++#line 5881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 730:
++#line 5885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 732:
++#line 5890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type&= ~ NOT_NULL_FLAG; }
++#line 22618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 733:
++#line 5891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= NOT_NULL_FLAG; }
++#line 22624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 734:
++#line 5892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->default_value=(yyvsp[0].item); }
++#line 22630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 735:
++#line 5894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root) Item_func_now_local(6);
++ if (item == NULL)
++ MYSQL_YYABORT;
++ Lex->on_update_value= item;
++ }
++#line 22641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 736:
++#line 5900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; }
++#line 22647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 737:
++#line 5902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG;
++ lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 22657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 738:
++#line 5908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG;
++ lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 22667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 739:
++#line 5914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type|= UNIQUE_FLAG;
++ lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 22677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 740:
++#line 5920 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type|= UNIQUE_KEY_FLAG;
++ lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 22687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 741:
++#line 5925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->comment= (yyvsp[0].lex_str); }
++#line 22693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 742:
++#line 5927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))
++ {
++ my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
++ (yyvsp[0].charset)->name,Lex->charset->csname);
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ Lex->charset=(yyvsp[0].charset);
++ }
++ }
++#line 22710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 743:
++#line 5940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
++ &Lex->option_list_last);
++ }
++#line 22720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 744:
++#line 5946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
++ &Lex->option_list_last);
++ }
++#line 22730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 745:
++#line 5952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
++ &Lex->option_list_last, thd->mem_root);
++ }
++#line 22740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 746:
++#line 5958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
++ }
++#line 22749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 747:
++#line 5967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= (yyvsp[-1].num);
++
++ if (Lex->charset) /* Lex->charset is scanned in "type" */
++ {
++ if (!(Lex->charset= merge_charset_and_collation(Lex->charset, (yyvsp[0].charset))))
++ MYSQL_YYABORT;
++ }
++ else if ((yyvsp[0].charset))
++ {
++ my_error(ER_NOT_SUPPORTED_YET, MYF(0),
++ "COLLATE with no CHARACTER SET "
++ "in SP parameters, RETURNS, DECLARE");
++ MYSQL_YYABORT;
++ }
++ }
++#line 22770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 748:
++#line 5988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_now_local(6);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 22780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 749:
++#line 5994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)=(yyvsp[0].item); }
++#line 22786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 750:
++#line 5998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 751:
++#line 5999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 752:
++#line 6003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 753:
++#line 6004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 754:
++#line 6009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))
++ {
++ my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++#line 22822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 755:
++#line 6016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)= &my_charset_bin; }
++#line 22828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 756:
++#line 6020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=(yyvsp[0].charset); }
++#line 22834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 757:
++#line 6021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=NULL; }
++#line 22840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 758:
++#line 6025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)= NULL; }
++#line 22846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 759:
++#line 6026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)= (yyvsp[0].charset); }
++#line 22852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 760:
++#line 6031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
++ !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))
++ {
++ my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++#line 22865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 761:
++#line 6039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)= &my_charset_bin; }
++#line 22871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 762:
++#line 6043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=(yyvsp[0].charset); }
++#line 22877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 763:
++#line 6044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=NULL; }
++#line 22883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 764:
++#line 6049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.charset)=get_charset_by_name((yyvsp[0].lex_str).str,MYF(0))))
++ {
++ my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++#line 22895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 765:
++#line 6059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=NULL; }
++#line 22901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 766:
++#line 6060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=(yyvsp[0].charset); }
++#line 22907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 767:
++#line 6064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=(yyvsp[0].charset); }
++#line 22913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 768:
++#line 6065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.charset)=NULL; }
++#line 22919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 769:
++#line 6069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 770:
++#line 6070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 22931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 771:
++#line 6075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->charset= &my_charset_latin1; }
++#line 22937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 772:
++#line 6077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset= &my_charset_latin1_bin;
++ }
++#line 22945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 773:
++#line 6081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset= &my_charset_latin1_bin;
++ }
++#line 22953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 774:
++#line 6088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!(Lex->charset=get_charset_by_csname("ucs2",
++ MY_CS_PRIMARY,MYF(0))))
++ {
++ my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2");
++ MYSQL_YYABORT;
++ }
++ }
++#line 22966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 775:
++#line 6097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0))))
++ {
++ my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin");
++ MYSQL_YYABORT;
++ }
++ }
++#line 22978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 776:
++#line 6105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0))))
++ {
++ my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin");
++ MYSQL_YYABORT;
++ }
++ }
++#line 22990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 777:
++#line 6115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->charset=NULL; }
++#line 22996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 780:
++#line 6118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->charset=&my_charset_bin; }
++#line 23002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 781:
++#line 6119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->charset=(yyvsp[-1].charset); }
++#line 23008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 782:
++#line 6121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset= NULL;
++ Lex->type|= BINCMP_FLAG;
++ }
++#line 23017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 783:
++#line 6126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->charset= (yyvsp[0].charset);
++ Lex->type|= BINCMP_FLAG;
++ }
++#line 23026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 784:
++#line 6133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 23032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 785:
++#line 6134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= BINCMP_FLAG; }
++#line 23038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 788:
++#line 6149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.table)=(yyvsp[-3].table);
++ }
++#line 23046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 789:
++#line 6156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ref_list.empty(); }
++#line 23052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 791:
++#line 6162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0);
++ if (key == NULL)
++ MYSQL_YYABORT;
++ Lex->ref_list.push_back(key);
++ }
++#line 23063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 792:
++#line 6169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0);
++ if (key == NULL)
++ MYSQL_YYABORT;
++ LEX *lex= Lex;
++ lex->ref_list.empty();
++ lex->ref_list.push_back(key);
++ }
++#line 23076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 793:
++#line 6181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; }
++#line 23082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 794:
++#line 6183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; }
++#line 23088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 795:
++#line 6185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; }
++#line 23094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 796:
++#line 6187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; }
++#line 23100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 797:
++#line 6192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
++ lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
++ }
++#line 23110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 798:
++#line 6198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->fk_update_opt= (yyvsp[0].m_fk_option);
++ lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
++ }
++#line 23120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 799:
++#line 6204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
++ lex->fk_delete_opt= (yyvsp[0].m_fk_option);
++ }
++#line 23130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 800:
++#line 6211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->fk_update_opt= (yyvsp[-3].m_fk_option);
++ lex->fk_delete_opt= (yyvsp[0].m_fk_option);
++ }
++#line 23140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 801:
++#line 6218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->fk_update_opt= (yyvsp[0].m_fk_option);
++ lex->fk_delete_opt= (yyvsp[-3].m_fk_option);
++ }
++#line 23150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 802:
++#line 6226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; }
++#line 23156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 803:
++#line 6227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; }
++#line 23162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 804:
++#line 6228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; }
++#line 23168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 805:
++#line 6229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; }
++#line 23174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 806:
++#line 6230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT; }
++#line 23180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 807:
++#line 6234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_type)= Key::MULTIPLE; }
++#line 23186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 808:
++#line 6238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_type)= Key::PRIMARY; }
++#line 23192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 809:
++#line 6239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_type)= Key::UNIQUE; }
++#line 23198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 810:
++#line 6243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 811:
++#line 6244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 812:
++#line 6248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 814:
++#line 6253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 815:
++#line 6254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 816:
++#line 6255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 817:
++#line 6259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_type)= Key::MULTIPLE; }
++#line 23240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 818:
++#line 6260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_type)= Key::UNIQUE; }
++#line 23246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 819:
++#line 6264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_type)= Key::FULLTEXT;}
++#line 23252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 820:
++#line 6269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++#ifdef HAVE_SPATIAL
++ (yyval.key_type)= Key::SPATIAL;
++#else
++ my_error(ER_FEATURE_DISABLED, MYF(0),
++ sym_group_geom.name, sym_group_geom.needed_define);
++ MYSQL_YYABORT;
++#endif
++ }
++#line 23266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 821:
++#line 6281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->key_create_info= default_key_create_info;
++ }
++#line 23274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 824:
++#line 6298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 826:
++#line 6303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 828:
++#line 6308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 836:
++#line 6328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); }
++#line 23298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 837:
++#line 6329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); }
++#line 23304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 838:
++#line 6334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->key_create_info.block_size= (yyvsp[0].ulong_num); }
++#line 23310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 839:
++#line 6335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->key_create_info.comment= (yyvsp[0].lex_str); }
++#line 23316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 840:
++#line 6337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
++ &Lex->option_list_last);
++ }
++#line 23326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 841:
++#line 6343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
++ &Lex->option_list_last);
++ }
++#line 23336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 842:
++#line 6349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
++ &Lex->option_list_last, thd->mem_root);
++ }
++#line 23346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 843:
++#line 6355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ new (thd->mem_root)
++ engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
++ }
++#line 23355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 848:
++#line 6373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (plugin_is_ready(&(yyvsp[0].lex_str), MYSQL_FTPARSER_PLUGIN))
++ Lex->key_create_info.parser_name= (yyvsp[0].lex_str);
++ else
++ {
++ my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ }
++#line 23369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 849:
++#line 6385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
++#line 23375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 850:
++#line 6386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_alg)= HA_KEY_ALG_RTREE; }
++#line 23381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 851:
++#line 6387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.key_alg)= HA_KEY_ALG_HASH; }
++#line 23387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 852:
++#line 6391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->col_list.push_back((yyvsp[-1].key_part)); }
++#line 23393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 853:
++#line 6392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->col_list.push_back((yyvsp[-1].key_part)); }
++#line 23399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 854:
++#line 6397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.key_part)= new Key_part_spec((yyvsp[0].lex_str), 0);
++ if ((yyval.key_part) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 855:
++#line 6403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ int key_part_len= atoi((yyvsp[-1].lex_str).str);
++ if (!key_part_len)
++ {
++ my_error(ER_KEY_PART_0, MYF(0), (yyvsp[-3].lex_str).str);
++ }
++ (yyval.key_part)= new Key_part_spec((yyvsp[-3].lex_str), (uint) key_part_len);
++ if ((yyval.key_part) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 856:
++#line 6416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= null_lex_str; }
++#line 23430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 857:
++#line 6417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 23436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 858:
++#line 6421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= null_lex_str; }
++#line 23442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 859:
++#line 6422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 23448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 860:
++#line 6426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->interval_list.push_back((yyvsp[0].string)); }
++#line 23454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 861:
++#line 6427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->interval_list.push_back((yyvsp[0].string)); }
++#line 23460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 862:
++#line 6435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->name.str= 0;
++ lex->name.length= 0;
++ lex->sql_command= SQLCOM_ALTER_TABLE;
++ lex->duplicates= DUP_ERROR;
++ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
++ TL_OPTION_UPDATING,
++ TL_READ_NO_INSERT,
++ MDL_SHARED_NO_WRITE))
++ MYSQL_YYABORT;
++ lex->col_list.empty();
++ lex->select_lex.init_order();
++ lex->select_lex.db= (lex->select_lex.table_list.first)->db;
++ bzero((char*) &lex->create_info,sizeof(lex->create_info));
++ lex->create_info.db_type= 0;
++ lex->create_info.default_table_charset= NULL;
++ lex->create_info.row_type= ROW_TYPE_NOT_USED;
++ lex->alter_info.reset();
++ lex->no_write_to_binlog= 0;
++ lex->create_info.storage_media= HA_SM_DEFAULT;
++ lex->create_last_non_select_table= lex->last_table();
++ DBUG_ASSERT(!lex->m_stmt);
++ }
++#line 23489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 863:
++#line 6460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ if (!lex->m_stmt)
++ {
++ /* Create a generic ALTER TABLE statment. */
++ lex->m_stmt= new (thd->mem_root) Alter_table_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++ }
++#line 23504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 864:
++#line 6471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_info.default_table_charset= NULL;
++ Lex->create_info.used_fields= 0;
++ }
++#line 23513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 865:
++#line 6476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command=SQLCOM_ALTER_DB;
++ lex->name= (yyvsp[-2].lex_str);
++ if (lex->name.str == NULL &&
++ lex->copy_db_to(&lex->name.str, &lex->name.length))
++ MYSQL_YYABORT;
++ }
++#line 23526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 866:
++#line 6485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_DROP_SP, MYF(0), "DATABASE");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_ALTER_DB_UPGRADE;
++ lex->name= (yyvsp[-4].lex_str);
++ }
++#line 23541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 867:
++#line 6496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE");
++ MYSQL_YYABORT;
++ }
++ bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++ }
++#line 23556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 868:
++#line 6507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++
++ lex->sql_command= SQLCOM_ALTER_PROCEDURE;
++ lex->spname= (yyvsp[-2].spname);
++ }
++#line 23567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 869:
++#line 6514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
++ MYSQL_YYABORT;
++ }
++ bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++ }
++#line 23582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 870:
++#line 6525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++
++ lex->sql_command= SQLCOM_ALTER_FUNCTION;
++ lex->spname= (yyvsp[-2].spname);
++ }
++#line 23593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 871:
++#line 6532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW");
++ MYSQL_YYABORT;
++ }
++ lex->create_view_mode= VIEW_ALTER;
++ }
++#line 23608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 872:
++#line 6543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 873:
++#line 6550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW");
++ MYSQL_YYABORT;
++ }
++ lex->create_view_algorithm= VIEW_ALGORITHM_INHERIT;
++ lex->create_view_mode= VIEW_ALTER;
++ }
++#line 23630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 874:
++#line 6562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 875:
++#line 6564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ It is safe to use Lex->spname because
++ ALTER EVENT xxx RENATE TO yyy DO ALTER EVENT RENAME TO
++ is not allowed. Lex->spname is used in the case of RENAME TO
++ If it had to be supported spname had to be added to
++ Event_parse_data.
++ */
++
++ if (!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))
++ MYSQL_YYABORT;
++ Lex->event_parse_data->identifier= (yyvsp[0].spname);
++
++ Lex->sql_command= SQLCOM_ALTER_EVENT;
++ }
++#line 23656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 876:
++#line 6584 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ /*
++ sql_command is set here because some rules in ev_sql_stmt
++ can overwrite it
++ */
++ Lex->sql_command= SQLCOM_ALTER_EVENT;
++ }
++#line 23673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 877:
++#line 6597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE;
++ }
++#line 23682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 878:
++#line 6602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP;
++ }
++#line 23691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 879:
++#line 6607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE;
++ }
++#line 23700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 880:
++#line 6612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE;
++ }
++#line 23709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 881:
++#line 6617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_ALTER_SERVER;
++ lex->server_options.server_name= (yyvsp[-4].lex_str).str;
++ lex->server_options.server_name_length= (yyvsp[-4].lex_str).length;
++ }
++#line 23720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 882:
++#line 6626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0;}
++#line 23726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 883:
++#line 6627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 23732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 884:
++#line 6628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 23738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 885:
++#line 6629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 23744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 886:
++#line 6633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0;}
++#line 23750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 887:
++#line 6635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Use lex's spname to hold the new name.
++ The original name is in the Event_parse_data object
++ */
++ Lex->spname= (yyvsp[0].spname);
++ (yyval.num)= 1;
++ }
++#line 23763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 888:
++#line 6646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0;}
++#line 23769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 889:
++#line 6647 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 23775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 890:
++#line 6651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; }
++#line 23781 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 891:
++#line 6652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 23787 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 893:
++#line 6657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; }
++#line 23793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 894:
++#line 6658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; }
++#line 23799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 900:
++#line 6675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_DROP_PARTITION;
++ }
++#line 23807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 901:
++#line 6680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_info.flags|= ALTER_REBUILD_PARTITION;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ }
++#line 23817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 902:
++#line 6687 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ lex->check_opt.init();
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root)
++ Alter_table_optimize_partition_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 904:
++#line 6700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ lex->check_opt.init();
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root)
++ Alter_table_analyze_partition_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 905:
++#line 6711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->check_opt.init();
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root)
++ Alter_table_check_partition_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23861 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 907:
++#line 6723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ lex->check_opt.init();
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root)
++ Alter_table_repair_partition_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 909:
++#line 6735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_info.flags|= ALTER_COALESCE_PARTITION;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ lex->alter_info.num_parts= (yyvsp[0].ulong_num);
++ }
++#line 23887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 910:
++#line 6742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->check_opt.init();
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root)
++ Alter_table_truncate_partition_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 23901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 912:
++#line 6756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_REMOVE_PARTITIONING;
++ }
++#line 23909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 913:
++#line 6763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_ALL_PARTITION;
++ }
++#line 23917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 915:
++#line 6771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->part_info= new partition_info();
++ if (!lex->part_info)
++ {
++ mem_alloc_error(sizeof(partition_info));
++ MYSQL_YYABORT;
++ }
++ lex->alter_info.flags|= ALTER_ADD_PARTITION;
++ lex->no_write_to_binlog= (yyvsp[0].num);
++ }
++#line 23933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 916:
++#line 6783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 23939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 918:
++#line 6789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->part_info->num_parts= lex->part_info->partitions.elements;
++ }
++#line 23948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 919:
++#line 6794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->part_info->num_parts= (yyvsp[0].ulong_num);
++ }
++#line 23956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 920:
++#line 6801 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->part_info= new partition_info();
++ if (!lex->part_info)
++ {
++ mem_alloc_error(sizeof(partition_info));
++ MYSQL_YYABORT;
++ }
++ lex->no_write_to_binlog= (yyvsp[0].num);
++ }
++#line 23971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 922:
++#line 6816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_TABLE_REORG;
++ }
++#line 23979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 923:
++#line 6820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_REORGANIZE_PARTITION;
++ }
++#line 23987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 924:
++#line 6824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ partition_info *part_info= Lex->part_info;
++ part_info->num_parts= part_info->partitions.elements;
++ }
++#line 23996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 925:
++#line 6831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 926:
++#line 6832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 927:
++#line 6837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->alter_info.partition_names.push_back((yyvsp[0].lex_str).str))
++ {
++ mem_alloc_error(1);
++ MYSQL_YYABORT;
++ }
++ }
++#line 24020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 930:
++#line 6857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->change=0;
++ lex->alter_info.flags|= ALTER_ADD_COLUMN;
++ }
++#line 24030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 931:
++#line 6866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_last_non_select_table= Lex->last_table();
++ }
++#line 24038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 932:
++#line 6870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_last_non_select_table= Lex->last_table();
++ Lex->alter_info.flags|= ALTER_ADD_INDEX;
++ }
++#line 24047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 933:
++#line 6875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_ADD_COLUMN | ALTER_ADD_INDEX;
++ }
++#line 24055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 934:
++#line 6879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->change= (yyvsp[0].lex_str).str;
++ lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
++ lex->option_list= NULL;
++ }
++#line 24066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 935:
++#line 6886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_last_non_select_table= Lex->last_table();
++ }
++#line 24074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 936:
++#line 6890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->length=lex->dec=0; lex->type=0;
++ lex->default_value= lex->on_update_value= 0;
++ lex->comment=null_lex_str;
++ lex->charset= NULL;
++ lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
++ lex->vcol_info= 0;
++ lex->option_list= NULL;
++ }
++#line 24089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 937:
++#line 6901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (add_field_to_list(lex->thd,&(yyvsp[-2].lex_str),
++ (yyvsp[0].lex_type).type,
++ (yyvsp[0].lex_type).length, (yyvsp[0].lex_type).dec, lex->type,
++ lex->default_value, lex->on_update_value,
++ &lex->comment,
++ (yyvsp[-2].lex_str).str, &lex->interval_list, (yyvsp[0].lex_type).charset,
++ lex->uint_geom_type,
++ lex->vcol_info, lex->option_list))
++ MYSQL_YYABORT;
++ }
++#line 24106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 938:
++#line 6914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->create_last_non_select_table= Lex->last_table();
++ }
++#line 24114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 939:
++#line 6918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str);
++ if (ad == NULL)
++ MYSQL_YYABORT;
++ lex->alter_info.drop_list.push_back(ad);
++ lex->alter_info.flags|= ALTER_DROP_COLUMN;
++ }
++#line 24127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 940:
++#line 6927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_DROP_INDEX | ALTER_FOREIGN_KEY;
++ }
++#line 24135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 941:
++#line 6931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Alter_drop *ad= new Alter_drop(Alter_drop::KEY, primary_key_name);
++ if (ad == NULL)
++ MYSQL_YYABORT;
++ lex->alter_info.drop_list.push_back(ad);
++ lex->alter_info.flags|= ALTER_DROP_INDEX;
++ }
++#line 24148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 942:
++#line 6940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str);
++ if (ad == NULL)
++ MYSQL_YYABORT;
++ lex->alter_info.drop_list.push_back(ad);
++ lex->alter_info.flags|= ALTER_DROP_INDEX;
++ }
++#line 24161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 943:
++#line 6949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->alter_info.keys_onoff= DISABLE;
++ lex->alter_info.flags|= ALTER_KEYS_ONOFF;
++ }
++#line 24171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 944:
++#line 6955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->alter_info.keys_onoff= ENABLE;
++ lex->alter_info.flags|= ALTER_KEYS_ONOFF;
++ }
++#line 24181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 945:
++#line 6961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Alter_column *ac= new Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item));
++ if (ac == NULL)
++ MYSQL_YYABORT;
++ lex->alter_info.alter_list.push_back(ac);
++ lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT;
++ }
++#line 24194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 946:
++#line 6970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Alter_column *ac= new Alter_column((yyvsp[-2].lex_str).str, (Item*) 0);
++ if (ac == NULL)
++ MYSQL_YYABORT;
++ lex->alter_info.alter_list.push_back(ac);
++ lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT;
++ }
++#line 24207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 947:
++#line 6979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ size_t dummy;
++ lex->select_lex.db=(yyvsp[0].table)->db.str;
++ if (lex->select_lex.db == NULL &&
++ lex->copy_db_to(&lex->select_lex.db, &dummy))
++ {
++ MYSQL_YYABORT;
++ }
++ if (check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length, FALSE) ||
++ ((yyvsp[0].table)->db.str && check_db_name(&(yyvsp[0].table)->db)))
++ {
++ my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[0].table)->table.str);
++ MYSQL_YYABORT;
++ }
++ lex->name= (yyvsp[0].table)->table;
++ lex->alter_info.flags|= ALTER_RENAME;
++ }
++#line 24230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 948:
++#line 6998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!(yyvsp[-1].charset))
++ {
++ (yyvsp[-1].charset)= thd->variables.collation_database;
++ }
++ (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset);
++ if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))
++ {
++ my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
++ (yyvsp[0].charset)->name, (yyvsp[-1].charset)->csname);
++ MYSQL_YYABORT;
++ }
++ LEX *lex= Lex;
++ lex->create_info.table_charset=
++ lex->create_info.default_table_charset= (yyvsp[0].charset);
++ lex->create_info.used_fields|= (HA_CREATE_USED_CHARSET |
++ HA_CREATE_USED_DEFAULT_CHARSET);
++ lex->alter_info.flags|= ALTER_CONVERT;
++ }
++#line 24254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 949:
++#line 7018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->alter_info.flags|= ALTER_OPTIONS;
++ if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
++ !lex->create_info.db_type)
++ {
++ lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE;
++ }
++ }
++#line 24268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 950:
++#line 7028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_RECREATE;
++ }
++#line 24276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 951:
++#line 7032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->alter_info.flags|= ALTER_ORDER;
++ }
++#line 24285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 952:
++#line 7039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 953:
++#line 7040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 954:
++#line 7044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ignore= 0;}
++#line 24303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 955:
++#line 7045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ignore= 1;}
++#line 24309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 956:
++#line 7049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ignore= Lex->online= 0;}
++#line 24315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 962:
++#line 7063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ignore= 1;}
++#line 24321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 963:
++#line 7064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->online= 1;}
++#line 24327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 964:
++#line 7068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->drop_mode= DROP_DEFAULT; }
++#line 24333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 965:
++#line 7069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->drop_mode= DROP_RESTRICT; }
++#line 24339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 966:
++#line 7070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->drop_mode= DROP_CASCADE; }
++#line 24345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 967:
++#line 7074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 968:
++#line 7075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { store_position_for_column((yyvsp[0].lex_str).str); }
++#line 24357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 969:
++#line 7076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { store_position_for_column(first_keyword); }
++#line 24363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 970:
++#line 7080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 971:
++#line 7081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 972:
++#line 7082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 973:
++#line 7083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 974:
++#line 7092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_SLAVE_START;
++ lex->type = 0;
++ /* If you change this code don't forget to update SLAVE START too */
++ }
++#line 24398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 975:
++#line 7099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 976:
++#line 7101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_SLAVE_STOP;
++ lex->type = 0;
++ /* If you change this code don't forget to update SLAVE STOP too */
++ }
++#line 24415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 977:
++#line 7108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_SLAVE_START;
++ lex->type = 0;
++ }
++#line 24425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 978:
++#line 7114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 979:
++#line 7116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_SLAVE_STOP;
++ lex->type = 0;
++ }
++#line 24441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 980:
++#line 7125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_BEGIN;
++ lex->start_transaction_opt= (yyvsp[0].num);
++ }
++#line 24451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 981:
++#line 7133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) = 0; }
++#line 24457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 982:
++#line 7135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
++ }
++#line 24465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 983:
++#line 7141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->slave_thd_opt= 0; }
++#line 24471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 984:
++#line 7143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 987:
++#line 7152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 988:
++#line 7153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->slave_thd_opt|=SLAVE_SQL; }
++#line 24489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 989:
++#line 7154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->slave_thd_opt|=SLAVE_IO; }
++#line 24495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 990:
++#line 7158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 991:
++#line 7160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (((lex->mi.log_file_name || lex->mi.pos) &&
++ (lex->mi.relay_log_name || lex->mi.relay_log_pos)) ||
++ !((lex->mi.log_file_name && lex->mi.pos) ||
++ (lex->mi.relay_log_name && lex->mi.relay_log_pos)))
++ {
++ my_message(ER_BAD_SLAVE_UNTIL_COND,
++ ER(ER_BAD_SLAVE_UNTIL_COND), MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 24518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 994:
++#line 7181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_CHECKSUM;
++ /* Will be overriden during execution. */
++ YYPS->m_lock_type= TL_UNLOCK;
++ }
++#line 24529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 995:
++#line 7188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 996:
++#line 7192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags= 0; }
++#line 24541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 997:
++#line 7193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags= T_QUICK; }
++#line 24547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 998:
++#line 7194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags= T_EXTEND; }
++#line 24553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1000:
++#line 7199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->only_view= TRUE; }
++#line 24559 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1002:
++#line 7204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_REPAIR;
++ lex->no_write_to_binlog= (yyvsp[0].num);
++ lex->check_opt.init();
++ lex->alter_info.reset();
++ /* Will be overriden during execution. */
++ YYPS->m_lock_type= TL_UNLOCK;
++ }
++#line 24573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1003:
++#line 7214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX* lex= thd->lex;
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root) Repair_table_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 24585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1004:
++#line 7224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags = T_MEDIUM; }
++#line 24591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1005:
++#line 7225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1006:
++#line 7229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1007:
++#line 7230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1008:
++#line 7234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_QUICK; }
++#line 24615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1009:
++#line 7235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_EXTEND; }
++#line 24621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1010:
++#line 7236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.sql_flags|= TT_USEFRM; }
++#line 24627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1011:
++#line 7240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 24633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1012:
++#line 7241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; }
++#line 24639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1013:
++#line 7246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_ANALYZE;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ lex->check_opt.init();
++ lex->alter_info.reset();
++ /* Will be overriden during execution. */
++ YYPS->m_lock_type= TL_UNLOCK;
++ }
++#line 24653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1014:
++#line 7256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX* lex= thd->lex;
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root) Analyze_table_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 24665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1015:
++#line 7267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT;
++ Lex->comment= (yyvsp[0].lex_str);
++ }
++#line 24674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1017:
++#line 7275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->only_view= TRUE; }
++#line 24680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1019:
++#line 7279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++
++ lex->sql_command = SQLCOM_CHECK;
++ lex->check_opt.init();
++ lex->alter_info.reset();
++ /* Will be overriden during execution. */
++ YYPS->m_lock_type= TL_UNLOCK;
++ }
++#line 24694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1020:
++#line 7289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX* lex= thd->lex;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "CHECK");
++ MYSQL_YYABORT;
++ }
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root) Check_table_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 24711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1021:
++#line 7304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags = T_MEDIUM; }
++#line 24717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1022:
++#line 7305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1023:
++#line 7309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1024:
++#line 7310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1025:
++#line 7314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_QUICK; }
++#line 24741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1026:
++#line 7315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_FAST; }
++#line 24747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1027:
++#line 7316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_MEDIUM; }
++#line 24753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1028:
++#line 7317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_EXTEND; }
++#line 24759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1029:
++#line 7318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; }
++#line 24765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1030:
++#line 7319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
++#line 24771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1031:
++#line 7323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 24777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1032:
++#line 7324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
++#line 24783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1033:
++#line 7329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_OPTIMIZE;
++ lex->no_write_to_binlog= (yyvsp[-1].num);
++ lex->check_opt.init();
++ lex->alter_info.reset();
++ /* Will be overriden during execution. */
++ YYPS->m_lock_type= TL_UNLOCK;
++ }
++#line 24797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1034:
++#line 7339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX* lex= thd->lex;
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root) Optimize_table_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 24809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1035:
++#line 7349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 24815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1036:
++#line 7350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 24821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1037:
++#line 7351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 24827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1038:
++#line 7356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command= SQLCOM_RENAME_TABLE;
++ }
++#line 24835 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1039:
++#line 7360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1040:
++#line 7362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_RENAME_USER;
++ }
++#line 24849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1041:
++#line 7369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
++ MYSQL_YYABORT;
++ }
++#line 24858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1042:
++#line 7374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
++ MYSQL_YYABORT;
++ }
++#line 24867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1045:
++#line 7387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ SELECT_LEX *sl= lex->current_select;
++ if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING,
++ TL_IGNORE, MDL_EXCLUSIVE) ||
++ !sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING,
++ TL_IGNORE, MDL_EXCLUSIVE))
++ MYSQL_YYABORT;
++ }
++#line 24881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1046:
++#line 7400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.reset();
++ }
++#line 24889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1047:
++#line 7404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE;
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 24899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1052:
++#line 7423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, 0, TL_READ,
++ MDL_SHARED_READ,
++ Select->pop_index_hints()))
++ MYSQL_YYABORT;
++ }
++#line 24910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1053:
++#line 7433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, 0, TL_READ,
++ MDL_SHARED_READ,
++ Select->pop_index_hints()))
++ MYSQL_YYABORT;
++ }
++#line 24921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1054:
++#line 7442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 24927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1055:
++#line 7443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str) = default_key_cache_base; }
++#line 24933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1056:
++#line 7448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command=SQLCOM_PRELOAD_KEYS;
++ lex->alter_info.reset();
++ }
++#line 24943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1057:
++#line 7454 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 24949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1062:
++#line 7469 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ,
++ MDL_SHARED_READ,
++ Select->pop_index_hints()))
++ MYSQL_YYABORT;
++ }
++#line 24960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1063:
++#line 7479 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ,
++ MDL_SHARED_READ,
++ Select->pop_index_hints()))
++ MYSQL_YYABORT;
++ }
++#line 24971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1064:
++#line 7489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->alter_info.flags|= ALTER_ADMIN_PARTITION;
++ }
++#line 24979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1066:
++#line 7496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->select_lex.alloc_index_hints(thd);
++ Select->set_index_hint_type(INDEX_HINT_USE,
++ INDEX_HINT_MASK_ALL);
++ }
++#line 24989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1068:
++#line 7505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 24995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1070:
++#line 7511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 25001 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1071:
++#line 7512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= TL_OPTION_IGNORE_LEAVES; }
++#line 25007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1072:
++#line 7522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SELECT;
++ }
++#line 25016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1075:
++#line 7536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (setup_select_in_parentheses(Lex))
++ MYSQL_YYABORT;
++ }
++#line 25025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1077:
++#line 7546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (setup_select_in_parentheses(Lex))
++ MYSQL_YYABORT;
++ }
++#line 25034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1079:
++#line 7555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX * sel= lex->current_select;
++ if (lex->current_select->set_braces(0))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (sel->linkage == UNION_TYPE &&
++ sel->master_unit()->first_select()->braces)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 25054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1081:
++#line 7574 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX *sel= lex->current_select;
++ if (sel->linkage != UNION_TYPE)
++ mysql_init_select(lex);
++ lex->current_select->parsing_place= SELECT_LIST;
++ }
++#line 25066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1082:
++#line 7582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= NO_MATTER;
++ }
++#line 25074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1084:
++#line 7589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 25080 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1089:
++#line 7599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->context.table_list=
++ Select->context.first_name_resolution_table=
++ Select->table_list.first;
++ }
++#line 25090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1092:
++#line 7614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Select->options & SELECT_DISTINCT && Select->options & SELECT_ALL)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT");
++ MYSQL_YYABORT;
++ }
++ }
++#line 25102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1096:
++#line 7631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Allow this flag only on the first top-level SELECT statement, if
++ SQL_CACHE wasn't specified, and only once per query.
++ */
++ if (Lex->current_select != &Lex->select_lex)
++ {
++ my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_NO_CACHE");
++ MYSQL_YYABORT;
++ }
++ else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_CACHE)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "SQL_CACHE", "SQL_NO_CACHE");
++ MYSQL_YYABORT;
++ }
++ else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_NO_CACHE)
++ {
++ my_error(ER_DUP_ARGUMENT, MYF(0), "SQL_NO_CACHE");
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ Lex->safe_to_cache_query=0;
++ Lex->select_lex.options&= ~OPTION_TO_QUERY_CACHE;
++ Lex->select_lex.sql_cache= SELECT_LEX::SQL_NO_CACHE;
++ }
++ }
++#line 25134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1097:
++#line 7659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Allow this flag only on the first top-level SELECT statement, if
++ SQL_NO_CACHE wasn't specified, and only once per query.
++ */
++ if (Lex->current_select != &Lex->select_lex)
++ {
++ my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_CACHE");
++ MYSQL_YYABORT;
++ }
++ else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_NO_CACHE)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "SQL_NO_CACHE", "SQL_CACHE");
++ MYSQL_YYABORT;
++ }
++ else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_CACHE)
++ {
++ my_error(ER_DUP_ARGUMENT, MYF(0), "SQL_CACHE");
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ Lex->safe_to_cache_query=1;
++ Lex->select_lex.options|= OPTION_TO_QUERY_CACHE;
++ Lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE;
++ }
++ }
++#line 25166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1099:
++#line 7691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->current_select->set_lock_for_tables(TL_WRITE);
++ lex->safe_to_cache_query=0;
++ }
++#line 25176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1100:
++#line 7697 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->current_select->
++ set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
++ lex->safe_to_cache_query=0;
++ }
++#line 25187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1103:
++#line 7709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root)
++ Item_field(&thd->lex->current_select->context,
++ NULL, NULL, "*");
++ if (item == NULL)
++ MYSQL_YYABORT;
++ if (add_item_to_list(thd, item))
++ MYSQL_YYABORT;
++ (thd->lex->current_select->with_wild)++;
++ }
++#line 25202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1104:
++#line 7723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_item_to_list(thd, (yyvsp[-1].item)))
++ MYSQL_YYABORT;
++ }
++#line 25211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1105:
++#line 7728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT((yyvsp[-3].simple_string) < (yyvsp[-1].simple_string));
++
++ if (add_item_to_list(thd, (yyvsp[-2].item)))
++ MYSQL_YYABORT;
++ if ((yyvsp[0].lex_str).str)
++ {
++ if (Lex->sql_command == SQLCOM_CREATE_VIEW &&
++ check_column_name((yyvsp[0].lex_str).str))
++ {
++ my_error(ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ (yyvsp[-2].item)->is_autogenerated_name= FALSE;
++ (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info);
++ }
++ else if (!(yyvsp[-2].item)->name)
++ {
++ (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
++ }
++ }
++#line 25237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1106:
++#line 7752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start();
++ }
++#line 25245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1107:
++#line 7758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end();
++ }
++#line 25253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1108:
++#line 7764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=null_lex_str;}
++#line 25259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1109:
++#line 7765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1110:
++#line 7766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1111:
++#line 7767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25277 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1112:
++#line 7768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1113:
++#line 7772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 25289 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1114:
++#line 7773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 25295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1115:
++#line 7774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (yyvsp[-1].ulong_num); }
++#line 25301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1116:
++#line 7778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 25307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1117:
++#line 7779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 25313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1118:
++#line 7785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Design notes:
++ Do not use a manually maintained stack like thd->lex->xxx_list,
++ but use the internal bison stack ($$, $1 and $3) instead.
++ Using the bison stack is:
++ - more robust to changes in the grammar,
++ - guaranteed to be in sync with the parser state,
++ - better for performances (no memory allocation).
++ */
++ Item_cond_or *item1;
++ Item_cond_or *item3;
++ if (is_cond_or((yyvsp[-2].item)))
++ {
++ item1= (Item_cond_or*) (yyvsp[-2].item);
++ if (is_cond_or((yyvsp[0].item)))
++ {
++ item3= (Item_cond_or*) (yyvsp[0].item);
++ /*
++ (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2)
++ */
++ item3->add_at_head(item1->argument_list());
++ (yyval.item) = (yyvsp[0].item);
++ }
++ else
++ {
++ /*
++ (X1 OR X2) OR Y ==> OR (X1, X2, Y)
++ */
++ item1->add((yyvsp[0].item));
++ (yyval.item) = (yyvsp[-2].item);
++ }
++ }
++ else if (is_cond_or((yyvsp[0].item)))
++ {
++ item3= (Item_cond_or*) (yyvsp[0].item);
++ /*
++ X OR (Y1 OR Y2) ==> OR (X, Y1, Y2)
++ */
++ item3->add_at_head((yyvsp[-2].item));
++ (yyval.item) = (yyvsp[0].item);
++ }
++ else
++ {
++ /* X OR Y */
++ (yyval.item) = new (thd->mem_root) Item_cond_or((yyvsp[-2].item), (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++ }
++#line 25368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1119:
++#line 7836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* XOR is a proprietary extension */
++ (yyval.item) = new (thd->mem_root) Item_func_xor((yyvsp[-2].item), (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1120:
++#line 7843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* See comments in rule expr: expr or expr */
++ Item_cond_and *item1;
++ Item_cond_and *item3;
++ if (is_cond_and((yyvsp[-2].item)))
++ {
++ item1= (Item_cond_and*) (yyvsp[-2].item);
++ if (is_cond_and((yyvsp[0].item)))
++ {
++ item3= (Item_cond_and*) (yyvsp[0].item);
++ /*
++ (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2)
++ */
++ item3->add_at_head(item1->argument_list());
++ (yyval.item) = (yyvsp[0].item);
++ }
++ else
++ {
++ /*
++ (X1 AND X2) AND Y ==> AND (X1, X2, Y)
++ */
++ item1->add((yyvsp[0].item));
++ (yyval.item) = (yyvsp[-2].item);
++ }
++ }
++ else if (is_cond_and((yyvsp[0].item)))
++ {
++ item3= (Item_cond_and*) (yyvsp[0].item);
++ /*
++ X AND (Y1 AND Y2) ==> AND (X, Y1, Y2)
++ */
++ item3->add_at_head((yyvsp[-2].item));
++ (yyval.item) = (yyvsp[0].item);
++ }
++ else
++ {
++ /* X AND Y */
++ (yyval.item) = new (thd->mem_root) Item_cond_and((yyvsp[-2].item), (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++ }
++#line 25426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1121:
++#line 7886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= negate_expression(thd, (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1122:
++#line 7892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_istrue((yyvsp[-2].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1123:
++#line 7898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isnottrue((yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1124:
++#line 7904 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isfalse((yyvsp[-2].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1125:
++#line 7910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isnotfalse((yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1126:
++#line 7916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[-2].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1127:
++#line 7922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1129:
++#line 7932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[-2].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1130:
++#line 7938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1131:
++#line 7944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_equal((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1132:
++#line 7950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1133:
++#line 7956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= all_any_subquery_creator((yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].select_lex));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1135:
++#line 7966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_in_subselect((yyvsp[-4].item), (yyvsp[-1].select_lex));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1136:
++#line 7972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root) Item_in_subselect((yyvsp[-5].item), (yyvsp[-1].select_lex));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= negate_expression(thd, item);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1137:
++#line 7981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-4].item), true, (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1138:
++#line 7987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++ (yyvsp[-1].item_list)->push_front((yyvsp[-6].item));
++ (yyval.item)= new (thd->mem_root) Item_func_in(*(yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1139:
++#line 7995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-5].item), false, (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25601 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1140:
++#line 8001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++ (yyvsp[-1].item_list)->push_front((yyvsp[-7].item));
++ Item_func_in *item = new (thd->mem_root) Item_func_in(*(yyvsp[-1].item_list));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ item->negate();
++ (yyval.item)= item;
++ }
++#line 25615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1141:
++#line 8011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25625 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1142:
++#line 8017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item_func_between *item;
++ item= new (thd->mem_root) Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ item->negate();
++ (yyval.item)= item;
++ }
++#line 25638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1143:
++#line 8026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item1= new (thd->mem_root) Item_func_soundex((yyvsp[-3].item));
++ Item *item4= new (thd->mem_root) Item_func_soundex((yyvsp[0].item));
++ if ((item1 == NULL) || (item4 == NULL))
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_func_eq(item1, item4);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1144:
++#line 8036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item),Lex->escape_used);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1145:
++#line 8042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root) Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item),
++ Lex->escape_used);
++ if (item == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_func_not(item);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1146:
++#line 8052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_regex((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1147:
++#line 8058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root) Item_func_regex((yyvsp[-3].item),(yyvsp[0].item));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= negate_expression(thd, item);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25699 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1149:
++#line 8071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1150:
++#line 8077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1151:
++#line 8083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1152:
++#line 8089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1153:
++#line 8095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_plus((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1154:
++#line 8101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_minus((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1155:
++#line 8107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].interval),0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1156:
++#line 8113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].interval),1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1157:
++#line 8119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_mul((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1158:
++#line 8125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_div((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1159:
++#line 8131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1160:
++#line 8137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25819 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1161:
++#line 8143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1162:
++#line 8149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 25839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1172:
++#line 8178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.boolfunc2creator) = &comp_eq_creator; }
++#line 25845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1173:
++#line 8179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.boolfunc2creator) = &comp_ge_creator; }
++#line 25851 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1174:
++#line 8180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.boolfunc2creator) = &comp_gt_creator; }
++#line 25857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1175:
++#line 8181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.boolfunc2creator) = &comp_le_creator; }
++#line 25863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1176:
++#line 8182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.boolfunc2creator) = &comp_lt_creator; }
++#line 25869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1177:
++#line 8183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.boolfunc2creator) = &comp_ne_creator; }
++#line 25875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1178:
++#line 8187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) = 1; }
++#line 25881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1179:
++#line 8188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) = 0; }
++#line 25887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1180:
++#line 8193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_NULL; /* automatic type */
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 25898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1181:
++#line 8199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (yyvsp[0].num); }
++#line 25904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1182:
++#line 8204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_INT;
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 25915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1183:
++#line 8211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_UINT;
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 25926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1184:
++#line 8218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_DOUBLE;
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 25937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1185:
++#line 8225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_DOUBLE;
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 25948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1186:
++#line 8232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_DOUBLE;
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 25959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1187:
++#line 8239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= DYN_COL_DECIMAL;
++ Lex->charset= NULL;
++ }
++#line 25968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1188:
++#line 8244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_STRING;
++ lex->length= lex->dec= 0;
++ }
++#line 25978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1189:
++#line 8250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_STRING;
++ lex->charset= national_charset_info;
++ lex->length= lex->dec= 0;
++ }
++#line 25989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1190:
++#line 8257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_DATE;
++ lex->charset= NULL;
++ lex->length= lex->dec= 0;
++ }
++#line 26000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1191:
++#line 8264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_TIME;
++ lex->charset= NULL;
++ lex->dec= lex->length;
++ lex->length= 0;
++ }
++#line 26012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1192:
++#line 8272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.num)= DYN_COL_DATETIME;
++ lex->charset= NULL;
++ lex->dec= lex->length;
++ lex->length= 0;
++ }
++#line 26024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1193:
++#line 8283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.dyncol_def)= (DYNCALL_CREATE_DEF *)
++ alloc_root(thd->mem_root, sizeof(DYNCALL_CREATE_DEF));
++ if ((yyval.dyncol_def) == NULL)
++ MYSQL_YYABORT;
++ (yyval.dyncol_def)->num= (yyvsp[-3].item);
++ (yyval.dyncol_def)->value= (yyvsp[-1].item);
++ (yyval.dyncol_def)->type= (DYNAMIC_COLUMN_TYPE)(yyvsp[0].num);
++ (yyval.dyncol_def)->cs= lex->charset;
++ if (lex->length)
++ (yyval.dyncol_def)->len= strtoul(lex->length, NULL, 10);
++ else
++ (yyval.dyncol_def)->len= 0;
++ if (lex->dec)
++ (yyval.dyncol_def)->frac= strtoul(lex->dec, NULL, 10);
++ else
++ (yyval.dyncol_def)->len= 0;
++ }
++#line 26048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1194:
++#line 8305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.dyncol_def_list)= new (thd->mem_root) List<DYNCALL_CREATE_DEF>;
++ if ((yyval.dyncol_def_list) == NULL)
++ MYSQL_YYABORT;
++ (yyval.dyncol_def_list)->push_back((yyvsp[0].dyncol_def));
++ }
++#line 26059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1195:
++#line 8312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-2].dyncol_def_list)->push_back((yyvsp[0].dyncol_def));
++ (yyval.dyncol_def_list)= (yyvsp[-2].dyncol_def_list);
++ }
++#line 26068 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1201:
++#line 8325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *i1= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length,
++ thd->charset());
++ if (i1 == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_func_set_collation((yyvsp[-2].item), i1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26083 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1206:
++#line 8340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_concat((yyvsp[-2].item), (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1207:
++#line 8346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= (yyvsp[0].item);
++ }
++#line 26101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1208:
++#line 8350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_neg((yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1209:
++#line 8356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_bit_neg((yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1210:
++#line 8362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= negate_expression(thd, (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1211:
++#line 8368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_singlerow_subselect((yyvsp[-1].select_lex));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1212:
++#line 8374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[-1].item); }
++#line 26147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1213:
++#line 8376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++ (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1214:
++#line 8383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++ (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1215:
++#line 8390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_exists_subselect((yyvsp[-1].select_lex));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1216:
++#line 8396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[-1].item); }
++#line 26185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1217:
++#line 8398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-5].item_list)->push_front((yyvsp[-2].item));
++ Item_func_match *i1= new (thd->mem_root) Item_func_match(*(yyvsp[-5].item_list), (yyvsp[-1].num));
++ if (i1 == NULL)
++ MYSQL_YYABORT;
++ Select->add_ftfunc_to_list(i1);
++ (yyval.item)= i1;
++ }
++#line 26198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1218:
++#line 8407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= create_func_cast(thd, (yyvsp[0].item), ITEM_CAST_CHAR, NULL, NULL,
++ &my_charset_bin);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1219:
++#line 8414 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), lex->length, lex->dec,
++ lex->charset);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1220:
++#line 8422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_case(* (yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item) );
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1221:
++#line 8428 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), Lex->length, Lex->dec,
++ Lex->charset);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1222:
++#line 8435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_conv_charset((yyvsp[-3].item),(yyvsp[-1].charset));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1223:
++#line 8441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if ((yyvsp[-1].item)->is_splocal())
++ {
++ Item_splocal *il= static_cast<Item_splocal *>((yyvsp[-1].item));
++
++ my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str);
++ MYSQL_YYABORT;
++ }
++ (yyval.item)= new (thd->mem_root) Item_default_value(Lex->current_context(),
++ (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1224:
++#line 8455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_insert_value(Lex->current_context(),
++ (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1225:
++#line 8463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[0].item),(yyvsp[-3].item),(yyvsp[-2].interval),0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1226:
++#line 8478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1227:
++#line 8484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[-3].item_list), (yyvsp[-1].charset));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1228:
++#line 8490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_current_user(Lex->current_context());
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
++ Lex->safe_to_cache_query= 0;
++ }
++#line 26323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1229:
++#line 8498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_typecast((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1230:
++#line 8504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_dayofmonth((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1231:
++#line 8510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_hour((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1232:
++#line 8516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_insert((yyvsp[-7].item),(yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1233:
++#line 8522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ List<Item> *list= new (thd->mem_root) List<Item>;
++ if (list == NULL)
++ MYSQL_YYABORT;
++ list->push_front((yyvsp[-1].item));
++ list->push_front((yyvsp[-3].item));
++ Item_row *item= new (thd->mem_root) Item_row(*list);
++ if (item == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_func_interval(item);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1234:
++#line 8536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++ (yyvsp[-1].item_list)->push_front((yyvsp[-5].item));
++ Item_row *item= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_func_interval(item);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1235:
++#line 8547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_left((yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1236:
++#line 8553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_minute((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1237:
++#line 8559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_month((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1238:
++#line 8565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_right((yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1239:
++#line 8571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_second((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1240:
++#line 8577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_time_typecast((yyvsp[-1].item), AUTO_SEC_PART_DIGITS);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1241:
++#line 8583 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_datetime_typecast((yyvsp[-1].item), AUTO_SEC_PART_DIGITS);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1242:
++#line 8589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_add_time((yyvsp[-3].item), (yyvsp[-1].item), 1, 0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1243:
++#line 8595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1244:
++#line 8601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[-1].item),(yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1245:
++#line 8607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[-1].item),(yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1246:
++#line 8613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1247:
++#line 8619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1248:
++#line 8625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1249:
++#line 8631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1250:
++#line 8637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1251:
++#line 8643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_user();
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
++ Lex->safe_to_cache_query=0;
++ }
++#line 26568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1252:
++#line 8651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_year((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1253:
++#line 8672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item),
++ INTERVAL_DAY, 0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1254:
++#line 8679 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1255:
++#line 8685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_curdate_local();
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1256:
++#line 8692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_curtime_local((yyvsp[0].num));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1257:
++#line 8700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[-1].interval),0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26631 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1258:
++#line 8707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[-1].interval),1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1259:
++#line 8713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)=new (thd->mem_root) Item_extract( (yyvsp[-3].interval), (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1260:
++#line 8719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_get_format((yyvsp[-3].date_time_type), (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1261:
++#line 8725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[0].num));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1262:
++#line 8732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item) = new (thd->mem_root) Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1263:
++#line 8738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item),
++ INTERVAL_DAY, 1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1264:
++#line 8745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1265:
++#line 8751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1266:
++#line 8757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1267:
++#line 8763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1268:
++#line 8769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1269:
++#line 8775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Unlike other time-related functions, SYSDATE() is
++ replication-unsafe because it is not affected by the
++ TIMESTAMP variable. It is unsafe even if
++ sysdate_is_now=1, because the slave may have
++ sysdate_is_now=0.
++ */
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
++ if (global_system_variables.sysdate_is_now == 0)
++ (yyval.item)= new (thd->mem_root) Item_func_sysdate_local((yyvsp[0].num));
++ else
++ (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[0].num));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1270:
++#line 8793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-1].item),(yyvsp[-3].item),(yyvsp[-5].interval_time_st),0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1271:
++#line 8799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[-5].interval_time_st));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1272:
++#line 8805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_curdate_utc();
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1273:
++#line 8812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_curtime_utc((yyvsp[0].num));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1274:
++#line 8819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_now_utc((yyvsp[0].num));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1275:
++#line 8827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= create_func_dyncol_add(thd, (yyvsp[-3].item), *(yyvsp[-1].dyncol_def_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1276:
++#line 8834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[-3].item), *(yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1277:
++#line 8841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_dyncol_exists((yyvsp[-3].item), (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1278:
++#line 8848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_dyncol_list((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1279:
++#line 8855 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[-1].dyncol_def_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1280:
++#line 8862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ (yyval.item)= create_func_dyncol_get(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].cast_type),
++ lex->length, lex->dec,
++ lex->charset);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1281:
++#line 8879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_ascii((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1282:
++#line 8885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_charset((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1283:
++#line 8891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_coalesce(* (yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1284:
++#line 8897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_collation((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1285:
++#line 8903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_database();
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ Lex->safe_to_cache_query=0;
++ }
++#line 26932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1286:
++#line 8910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_if((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1287:
++#line 8916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_last_value(* (yyvsp[-1].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1288:
++#line 8922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_microsecond((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1289:
++#line 8928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item) = new (thd->mem_root) Item_func_mod((yyvsp[-3].item), (yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1290:
++#line 8934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_old_password((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 26982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1291:
++#line 8940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item* i1;
++ if (thd->variables.old_passwords)
++ i1= new (thd->mem_root) Item_func_old_password((yyvsp[-1].item));
++ else
++ i1= new (thd->mem_root) Item_func_password((yyvsp[-1].item));
++ if (i1 == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= i1;
++ }
++#line 26997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1292:
++#line 8951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item) = new (thd->mem_root) Item_func_quarter((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1293:
++#line 8957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_repeat((yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1294:
++#line 8963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_replace((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1295:
++#line 8969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1296:
++#line 8975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *i1= new (thd->mem_root) Item_int((char*) "0",
++ thd->variables.default_week_format,
++ 1);
++ if (i1 == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[-1].item), i1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1297:
++#line 8986 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[-3].item),(yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1298:
++#line 8992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++#ifdef HAVE_SPATIAL
++ (yyval.item)= (yyvsp[0].item);
++ /* $1 may be NULL, GEOM_NEW not tested for out of memory */
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++#else
++ my_error(ER_FEATURE_DISABLED, MYF(0),
++ sym_group_geom.name, sym_group_geom.needed_define);
++ MYSQL_YYABORT;
++#endif
++ }
++#line 27079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1299:
++#line 9008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_rel((yyvsp[-3].item), (yyvsp[-1].item),
++ Item_func::SP_CONTAINS_FUNC));
++ }
++#line 27089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1300:
++#line 9014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_collection(* (yyvsp[-1].item_list),
++ Geometry::wkb_geometrycollection,
++ Geometry::wkb_point));
++ }
++#line 27100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1301:
++#line 9021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_collection(* (yyvsp[-1].item_list),
++ Geometry::wkb_linestring,
++ Geometry::wkb_point));
++ }
++#line 27111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1302:
++#line 9028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_collection(* (yyvsp[-1].item_list),
++ Geometry::wkb_multilinestring,
++ Geometry::wkb_linestring));
++ }
++#line 27122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1303:
++#line 9035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_collection(* (yyvsp[-1].item_list),
++ Geometry::wkb_multipoint,
++ Geometry::wkb_point));
++ }
++#line 27133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1304:
++#line 9042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_collection(* (yyvsp[-1].item_list),
++ Geometry::wkb_multipolygon,
++ Geometry::wkb_polygon));
++ }
++#line 27144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1305:
++#line 9049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd, Item_func_point((yyvsp[-3].item),(yyvsp[-1].item)));
++ }
++#line 27152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1306:
++#line 9053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= GEOM_NEW(thd,
++ Item_func_spatial_collection(* (yyvsp[-1].item_list),
++ Geometry::wkb_polygon,
++ Geometry::wkb_linestring));
++ }
++#line 27163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1307:
++#line 9072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++#ifdef HAVE_DLOPEN
++ udf_func *udf= 0;
++ LEX *lex= Lex;
++ if (using_udf_functions &&
++ (udf= find_udf((yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length)) &&
++ udf->type == UDFTYPE_AGGREGATE)
++ {
++ if (lex->current_select->inc_in_sum_expr())
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++ /* Temporary placing the result of find_udf in $3 */
++ (yyval.udf)= udf;
++#endif
++ }
++#line 27186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1308:
++#line 9091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Create_func *builder;
++ Item *item= NULL;
++
++ if (check_routine_name(&(yyvsp[-4].lex_str)))
++ {
++ MYSQL_YYABORT;
++ }
++
++ /*
++ Implementation note:
++ names are resolved with the following order:
++ - MySQL native functions,
++ - User Defined Functions,
++ - Stored Functions (assuming the current <use> database)
++
++ This will be revised with WL#2128 (SQL PATH)
++ */
++ builder= find_native_function_builder(thd, (yyvsp[-4].lex_str));
++ if (builder)
++ {
++ item= builder->create_func(thd, (yyvsp[-4].lex_str), (yyvsp[-1].item_list));
++ }
++ else
++ {
++#ifdef HAVE_DLOPEN
++ /* Retrieving the result of find_udf */
++ udf_func *udf= (yyvsp[-2].udf);
++
++ if (udf)
++ {
++ if (udf->type == UDFTYPE_AGGREGATE)
++ {
++ Select->in_sum_expr--;
++ }
++
++ item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[-1].item_list));
++ }
++ else
++#endif
++ {
++ builder= find_qualified_function_builder(thd);
++ DBUG_ASSERT(builder);
++ item= builder->create_func(thd, (yyvsp[-4].lex_str), (yyvsp[-1].item_list));
++ }
++ }
++
++ if (! ((yyval.item)= item))
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 27243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1309:
++#line 9144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Create_qfunc *builder;
++ Item *item= NULL;
++
++ /*
++ The following in practice calls:
++ <code>Create_sp_func::create()</code>
++ and builds a stored function.
++
++ However, it's important to maintain the interface between the
++ parser and the implementation in item_create.cc clean,
++ since this will change with WL#2128 (SQL PATH):
++ - INFORMATION_SCHEMA.version() is the SQL 99 syntax for the native
++ function version(),
++ - MySQL.version() is the SQL 2003 syntax for the native function
++ version() (a vendor can specify any schema).
++ */
++
++ if (!(yyvsp[-5].lex_str).str || check_db_name(&(yyvsp[-5].lex_str)))
++ {
++ my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-5].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (check_routine_name(&(yyvsp[-3].lex_str)))
++ {
++ MYSQL_YYABORT;
++ }
++
++ builder= find_qualified_function_builder(thd);
++ DBUG_ASSERT(builder);
++ item= builder->create_with_db(thd, (yyvsp[-5].lex_str), (yyvsp[-3].lex_str), true, (yyvsp[-1].item_list));
++
++ if (! ((yyval.item)= item))
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 27285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1310:
++#line 9185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
++#line 27291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1311:
++#line 9187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= FT_BOOL; }
++#line 27297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1312:
++#line 9191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= FT_NL; }
++#line 27303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1313:
++#line 9192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= FT_NL; }
++#line 27309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1314:
++#line 9196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 27315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1315:
++#line 9197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= FT_EXPAND; }
++#line 27321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1316:
++#line 9201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item_list)= NULL; }
++#line 27327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1317:
++#line 9202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item_list)= (yyvsp[0].item_list); }
++#line 27333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1318:
++#line 9207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_list)= new (thd->mem_root) List<Item>;
++ if ((yyval.item_list) == NULL)
++ MYSQL_YYABORT;
++ (yyval.item_list)->push_back((yyvsp[0].item));
++ }
++#line 27344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1319:
++#line 9214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
++ (yyval.item_list)= (yyvsp[-2].item_list);
++ }
++#line 27353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1320:
++#line 9222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Use Item::name as a storage for the attribute value of user
++ defined function argument. It is safe to use Item::name
++ because the syntax will not allow having an explicit name here.
++ See WL#1017 re. udf attributes.
++ */
++ if ((yyvsp[0].lex_str).str)
++ {
++ (yyvsp[-2].item)->is_autogenerated_name= FALSE;
++ (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info);
++ }
++ /*
++ A field has to have its proper name in order for name
++ resolution to work, something we are only guaranteed if we
++ parse it out. If we hijack the input stream with
++ remember_name we may get quoted or escaped names.
++ */
++ else if ((yyvsp[-2].item)->type() != Item::FIELD_ITEM &&
++ (yyvsp[-2].item)->type() != Item::REF_ITEM /* For HAVING */ )
++ (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
++ (yyval.item)= (yyvsp[-2].item);
++ }
++#line 27381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1321:
++#line 9249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[-1].item), FALSE);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1322:
++#line 9255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[-1].item), TRUE);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1323:
++#line 9261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_and((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1324:
++#line 9267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_or((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1325:
++#line 9273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_xor((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1326:
++#line 9279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *item= new (thd->mem_root) Item_int((int32) 0L,1);
++ if (item == NULL)
++ MYSQL_YYABORT;
++ (yyval.item)= new (thd->mem_root) Item_sum_count(item);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1327:
++#line 9288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_count((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1328:
++#line 9294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->in_sum_expr++; }
++#line 27460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1329:
++#line 9296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->in_sum_expr--; }
++#line 27466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1330:
++#line 9298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_count(* (yyvsp[-2].item_list));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1331:
++#line 9304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1332:
++#line 9315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1333:
++#line 9321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1334:
++#line 9327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[-1].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1335:
++#line 9333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[-1].item), 0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1336:
++#line 9339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[-1].item), 0);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1337:
++#line 9345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[-1].item), 1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1338:
++#line 9351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[-1].item), 1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1339:
++#line 9357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[-1].item), FALSE);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1340:
++#line 9363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[-1].item), TRUE);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1341:
++#line 9369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->in_sum_expr++; }
++#line 27582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1342:
++#line 9373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->in_sum_expr--;
++ (yyval.item)= new (thd->mem_root)
++ Item_func_group_concat(Lex->current_context(), (yyvsp[-5].num), (yyvsp[-3].item_list),
++ sel->gorder_list, (yyvsp[-1].string));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ (yyvsp[-3].item_list)->empty();
++ sel->gorder_list.empty();
++ }
++#line 27598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1343:
++#line 9388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (! Lex->parsing_options.allows_variable)
++ {
++ my_error(ER_VIEW_SELECT_VARIABLE, MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 27610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1344:
++#line 9396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= (yyvsp[0].item);
++ }
++#line 27618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1345:
++#line 9403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item_func_set_user_var *item;
++ (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var((yyvsp[-2].lex_str), (yyvsp[0].item));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ LEX *lex= Lex;
++ lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++ lex->set_var_list.push_back(item);
++ }
++#line 27632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1346:
++#line 9413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_func_get_user_var((yyvsp[0].lex_str));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ LEX *lex= Lex;
++ lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++ }
++#line 27644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1347:
++#line 9421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* disallow "SELECT @@global.global.variable" */
++ if ((yyvsp[-1].lex_str).str && (yyvsp[0].lex_str).str && check_reserved_words(&(yyvsp[-1].lex_str)))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (!((yyval.item)= get_system_var(thd, (yyvsp[-2].var_type), (yyvsp[-1].lex_str), (yyvsp[0].lex_str))))
++ MYSQL_YYABORT;
++ if (!((Item_func_get_system_var*) (yyval.item))->is_written_to_binlog())
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_VARIABLE);
++ }
++#line 27661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1348:
++#line 9436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) = 0; }
++#line 27667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1349:
++#line 9437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) = 1; }
++#line 27673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1350:
++#line 9442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.string)= new (thd->mem_root) String(",", 1, &my_charset_latin1);
++ if ((yyval.string) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 27683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1351:
++#line 9447 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.string) = (yyvsp[0].string); }
++#line 27689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1353:
++#line 9453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX *sel= lex->current_select;
++ if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
++ sel->olap != UNSPECIFIED_OLAP_TYPE &&
++ (sel->linkage != UNION_TYPE || sel->braces))
++ {
++ my_error(ER_WRONG_USAGE, MYF(0),
++ "CUBE/ROLLUP", "ORDER BY");
++ MYSQL_YYABORT;
++ }
++ }
++#line 27706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1355:
++#line 9470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 27712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1356:
++#line 9472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 27718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1357:
++#line 9477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->current_select->inc_in_sum_expr())
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 27731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1358:
++#line 9486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->in_sum_expr--;
++ (yyval.item)= (yyvsp[0].item);
++ }
++#line 27740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1359:
++#line 9494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; }
++#line 27746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1360:
++#line 9496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; }
++#line 27752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1361:
++#line 9498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; }
++#line 27758 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1362:
++#line 9500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1363:
++#line 9502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1364:
++#line 9504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1365:
++#line 9506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1366:
++#line 9508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1367:
++#line 9510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1368:
++#line 9512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.cast_type)=ITEM_CAST_TIME;
++ LEX *lex= Lex;
++ lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
++ }
++#line 27804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1369:
++#line 9518 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.cast_type)=ITEM_CAST_DATETIME;
++ LEX *lex= Lex;
++ lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
++ }
++#line 27814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1370:
++#line 9524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; }
++#line 27820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1371:
++#line 9526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->charset= NULL; Lex->length= Lex->dec= 0;}
++#line 27826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1372:
++#line 9528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.cast_type)=ITEM_CAST_DOUBLE; }
++#line 27832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1373:
++#line 9531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item_list)= NULL; }
++#line 27838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1374:
++#line 9532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item_list)= (yyvsp[0].item_list);}
++#line 27844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1375:
++#line 9537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_list)= new (thd->mem_root) List<Item>;
++ if ((yyval.item_list) == NULL)
++ MYSQL_YYABORT;
++ (yyval.item_list)->push_back((yyvsp[0].item));
++ }
++#line 27855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1376:
++#line 9544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
++ (yyval.item_list)= (yyvsp[-2].item_list);
++ }
++#line 27864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1377:
++#line 9551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item_list)= (yyvsp[0].item_list); }
++#line 27870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1378:
++#line 9552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item_list)= (yyvsp[-1].item_list); }
++#line 27876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1379:
++#line 9557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_list)= new (thd->mem_root) List<Item>;
++ if ((yyval.item_list) == NULL)
++ MYSQL_YYABORT;
++ (yyval.item_list)->push_back((yyvsp[0].item));
++ }
++#line 27887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1380:
++#line 9564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
++ (yyval.item_list)= (yyvsp[-2].item_list);
++ }
++#line 27896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1381:
++#line 9571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= NULL; }
++#line 27902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1382:
++#line 9572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item); }
++#line 27908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1383:
++#line 9576 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= NULL; }
++#line 27914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1384:
++#line 9577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item); }
++#line 27920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1385:
++#line 9582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_list)= new List<Item>;
++ if ((yyval.item_list) == NULL)
++ MYSQL_YYABORT;
++ (yyval.item_list)->push_back((yyvsp[-2].item));
++ (yyval.item_list)->push_back((yyvsp[0].item));
++ }
++#line 27932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1386:
++#line 9590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-4].item_list)->push_back((yyvsp[-2].item));
++ (yyvsp[-4].item_list)->push_back((yyvsp[0].item));
++ (yyval.item_list)= (yyvsp[-4].item_list);
++ }
++#line 27942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1387:
++#line 9600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.table_list)=(yyvsp[0].table_list); }
++#line 27948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1388:
++#line 9602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->thd)))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 27961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1389:
++#line 9613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); }
++#line 27967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1390:
++#line 9624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.table_list)=(yyvsp[0].table_list); }
++#line 27973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1391:
++#line 9625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.table_list)=(yyvsp[-1].table_list); }
++#line 27979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1392:
++#line 9631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.table_list)=(yyvsp[0].table_list); }
++#line 27985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1393:
++#line 9633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
++ }
++#line 27993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1394:
++#line 9653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); }
++#line 27999 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1395:
++#line 9655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); (yyvsp[0].table_list)->straight=1; }
++#line 28005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1396:
++#line 9658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
++ /* Change the current name resolution context to a local context. */
++ if (push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))
++ MYSQL_YYABORT;
++ Select->parsing_place= IN_ON;
++ }
++#line 28017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1397:
++#line 9666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
++ Lex->pop_context();
++ Select->parsing_place= NO_MATTER;
++ }
++#line 28027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1398:
++#line 9673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
++ /* Change the current name resolution context to a local context. */
++ if (push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))
++ MYSQL_YYABORT;
++ Select->parsing_place= IN_ON;
++ }
++#line 28039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1399:
++#line 9681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[-3].table_list)->straight=1;
++ add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
++ Lex->pop_context();
++ Select->parsing_place= NO_MATTER;
++ }
++#line 28050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1400:
++#line 9689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
++ }
++#line 28058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1401:
++#line 9693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { add_join_natural((yyvsp[-7].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); (yyval.table_list)=(yyvsp[-5].table_list); }
++#line 28064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1402:
++#line 9695 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
++ add_join_natural((yyvsp[-3].table_list),(yyvsp[0].table_list),NULL,Select);
++ }
++#line 28073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1403:
++#line 9703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
++ /* Change the current name resolution context to a local context. */
++ if (push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))
++ MYSQL_YYABORT;
++ Select->parsing_place= IN_ON;
++ }
++#line 28085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1404:
++#line 9711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
++ Lex->pop_context();
++ (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT;
++ (yyval.table_list)=(yyvsp[-3].table_list);
++ Select->parsing_place= NO_MATTER;
++ }
++#line 28097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1405:
++#line 9719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
++ }
++#line 28105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1406:
++#line 9723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ add_join_natural((yyvsp[-9].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select);
++ (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT;
++ (yyval.table_list)=(yyvsp[-5].table_list);
++ }
++#line 28115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1407:
++#line 9729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
++ add_join_natural((yyvsp[-5].table_list),(yyvsp[0].table_list),NULL,Select);
++ (yyvsp[0].table_list)->outer_join|=JOIN_TYPE_LEFT;
++ (yyval.table_list)=(yyvsp[0].table_list);
++ }
++#line 28126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1408:
++#line 9739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
++ /* Change the current name resolution context to a local context. */
++ if (push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))
++ MYSQL_YYABORT;
++ Select->parsing_place= IN_ON;
++ }
++#line 28138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1409:
++#line 9747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (!((yyval.table_list)= lex->current_select->convert_right_join()))
++ MYSQL_YYABORT;
++ add_join_on((yyval.table_list), (yyvsp[0].item));
++ Lex->pop_context();
++ Select->parsing_place= NO_MATTER;
++ }
++#line 28151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1410:
++#line 9756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
++ }
++#line 28159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1411:
++#line 9760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (!((yyval.table_list)= lex->current_select->convert_right_join()))
++ MYSQL_YYABORT;
++ add_join_natural((yyval.table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select);
++ }
++#line 28170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1412:
++#line 9767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
++ add_join_natural((yyvsp[0].table_list),(yyvsp[-5].table_list),NULL,Select);
++ LEX *lex= Lex;
++ if (!((yyval.table_list)= lex->current_select->convert_right_join()))
++ MYSQL_YYABORT;
++ }
++#line 28182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1413:
++#line 9777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1414:
++#line 9778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1415:
++#line 9779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1416:
++#line 9791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->table_join_options= 0;
++ }
++#line 28209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1417:
++#line 9796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr),
++ Select->get_table_join_options(),
++ YYPS->m_lock_type,
++ YYPS->m_mdl_type,
++ Select->pop_index_hints())))
++ MYSQL_YYABORT;
++ Select->add_joined_table((yyval.table_list));
++ }
++#line 28223 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1418:
++#line 9806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX *sel= lex->current_select;
++ if ((yyvsp[-2].num))
++ {
++ if (sel->set_braces(1))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ /* select in braces, can't contain global parameters */
++ if (sel->master_unit()->fake_select_lex)
++ sel->master_unit()->global_parameters=
++ sel->master_unit()->fake_select_lex;
++ }
++ if ((yyvsp[-1].select_lex)->init_nested_join(lex->thd))
++ MYSQL_YYABORT;
++ (yyval.table_list)= 0;
++ /* incomplete derived tables return NULL, we must be
++ nested in select_derived rule to be here. */
++ }
++#line 28249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1419:
++#line 9846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* Use $2 instead of Lex->current_select as derived table will
++ alter value of Lex->current_select. */
++ if (!((yyvsp[-2].table_list) || (yyvsp[0].lex_str_ptr)) && (yyvsp[-3].select_lex)->embedding &&
++ !(yyvsp[-3].select_lex)->embedding->nested_join->join_list.elements)
++ {
++ /* we have a derived table ($3 == NULL) but no alias,
++ Since we are nested in further parentheses so we
++ can pass NULL to the outer level parentheses
++ Permits parsing of "((((select ...))) as xyz)" */
++ (yyval.table_list)= 0;
++ }
++ else if (!(yyvsp[-2].table_list))
++ {
++ /* Handle case of derived table, alias may be NULL if there
++ are no outer parentheses, add_table_to_list() will throw
++ error in this case */
++ LEX *lex=Lex;
++ SELECT_LEX *sel= lex->current_select;
++ SELECT_LEX_UNIT *unit= sel->master_unit();
++ lex->current_select= sel= unit->outer_select();
++ Table_ident *ti= new Table_ident(unit);
++ if (ti == NULL)
++ MYSQL_YYABORT;
++ if (!((yyval.table_list)= sel->add_table_to_list(lex->thd,
++ new Table_ident(unit), (yyvsp[0].lex_str_ptr), 0,
++ TL_READ, MDL_SHARED_READ)))
++
++ MYSQL_YYABORT;
++ sel->add_joined_table((yyval.table_list));
++ lex->pop_context();
++ lex->nest_level--;
++ }
++ /*else if (($3->select_lex &&
++ $3->select_lex->master_unit()->is_union() &&
++ ($3->select_lex->master_unit()->first_select() ==
++ $3->select_lex || !$3->lifted)) || $5)*/
++ else if ((yyvsp[0].lex_str_ptr) != NULL)
++ {
++ /*
++ Tables with or without joins within parentheses cannot
++ have aliases, and we ruled out derived tables above.
++ */
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ /* nested join: FROM (t1 JOIN t2 ...),
++ nest_level is the same as in the outer query */
++ (yyval.table_list)= (yyvsp[-2].table_list);
++ }
++ /*
++ Fields in derived table can be used in upper select in
++ case of merge. We do not add HAVING fields because we do
++ not merge such derived. We do not add union because
++ also do not merge them
++ */
++ if ((yyval.table_list) && (yyval.table_list)->derived &&
++ !(yyval.table_list)->derived->first_select()->next_select())
++ (yyval.table_list)->select_lex->add_where_field((yyval.table_list)->derived->first_select());
++ }
++#line 28316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1420:
++#line 9931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if ((yyvsp[-1].table_list) && (yyvsp[0].is_not_empty))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 28328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1421:
++#line 9941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
++ MYSQL_YYABORT;
++ }
++#line 28337 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1422:
++#line 9946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Remove from the name resolution context stack the context of the
++ last select in the union.
++ */
++ Lex->pop_context();
++ }
++#line 28349 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1423:
++#line 9954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if ((yyvsp[-6].table_list) != NULL)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 28361 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1424:
++#line 9966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX * sel= lex->current_select;
++ if (lex->current_select->set_braces(0))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (sel->linkage == UNION_TYPE &&
++ sel->master_unit()->first_select()->braces)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 28381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1425:
++#line 9985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX *sel= lex->current_select;
++ if (sel->linkage != UNION_TYPE)
++ mysql_init_select(lex);
++ lex->current_select->parsing_place= SELECT_LIST;
++ }
++#line 28393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1426:
++#line 9993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= NO_MATTER;
++ }
++#line 28401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1428:
++#line 10002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if ((yyvsp[0].select_lex)->init_nested_join(lex->thd))
++ MYSQL_YYABORT;
++ }
++#line 28411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1429:
++#line 10008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ /* for normal joins, $3 != NULL and end_nested_join() != NULL,
++ for derived tables, both must equal NULL */
++
++ if (!((yyval.table_list)= (yyvsp[-2].select_lex)->end_nested_join(lex->thd)) && (yyvsp[0].table_list))
++ MYSQL_YYABORT;
++ if (!(yyvsp[0].table_list) && (yyval.table_list))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ }
++#line 28429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1430:
++#line 10024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->derived_tables|= DERIVED_SUBQUERY;
++ if (!lex->expr_allows_subselect ||
++ lex->sql_command == (int)SQLCOM_PURGE)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
++ mysql_new_select(lex, 1))
++ MYSQL_YYABORT;
++ mysql_init_select(lex);
++ lex->current_select->linkage= DERIVED_TABLE_TYPE;
++ lex->current_select->parsing_place= SELECT_LIST;
++ }
++#line 28450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1431:
++#line 10041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= NO_MATTER;
++ }
++#line 28458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1433:
++#line 10048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.select_lex)= Select; }
++#line 28464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1434:
++#line 10053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (! lex->parsing_options.allows_derived)
++ {
++ my_error(ER_VIEW_SELECT_DERIVED, MYF(0));
++ MYSQL_YYABORT;
++ }
++
++ SELECT_LEX *sel= lex->current_select;
++ TABLE_LIST *embedding;
++ if (!sel->embedding || sel->end_nested_join(lex->thd))
++ {
++ /* we are not in parentheses */
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ embedding= Select->embedding;
++ (yyval.num)= embedding &&
++ !embedding->nested_join->join_list.elements;
++ /* return true if we are deeply nested */
++ }
++#line 28491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1435:
++#line 10078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1436:
++#line 10079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1437:
++#line 10084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= thd->variables.old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL;
++ }
++#line 28511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1438:
++#line 10087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= INDEX_HINT_MASK_JOIN; }
++#line 28517 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1439:
++#line 10088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= INDEX_HINT_MASK_ORDER; }
++#line 28523 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1440:
++#line 10089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= INDEX_HINT_MASK_GROUP; }
++#line 28529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1441:
++#line 10093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.index_hint)= INDEX_HINT_FORCE; }
++#line 28535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1442:
++#line 10094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.index_hint)= INDEX_HINT_IGNORE; }
++#line 28541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1443:
++#line 10099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->set_index_hint_type((yyvsp[-2].index_hint), (yyvsp[0].num));
++ }
++#line 28549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1445:
++#line 10104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[0].num));
++ }
++#line 28557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1450:
++#line 10117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->alloc_index_hints(thd); }
++#line 28563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1452:
++#line 10121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->clear_index_hints(); }
++#line 28569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1454:
++#line 10126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->add_index_hint(thd, NULL, 0); }
++#line 28575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1455:
++#line 10127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1456:
++#line 10132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->add_index_hint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
++#line 28587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1457:
++#line 10134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->add_index_hint(thd, (char *)"PRIMARY", 7); }
++#line 28593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1460:
++#line 10144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.string_list)= new List<String>))
++ MYSQL_YYABORT;
++ String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length,
++ system_charset_info);
++ if (s == NULL)
++ MYSQL_YYABORT;
++ (yyval.string_list)->push_back(s);
++ }
++#line 28608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1461:
++#line 10155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length,
++ system_charset_info);
++ if (s == NULL)
++ MYSQL_YYABORT;
++ (yyvsp[-2].string_list)->push_back(s);
++ (yyval.string_list)= (yyvsp[-2].string_list);
++ }
++#line 28622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1462:
++#line 10167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1463:
++#line 10168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_DAY_HOUR; }
++#line 28634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1464:
++#line 10169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
++#line 28640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1465:
++#line 10170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_DAY_MINUTE; }
++#line 28646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1466:
++#line 10171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_DAY_SECOND; }
++#line 28652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1467:
++#line 10172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
++#line 28658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1468:
++#line 10173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
++#line 28664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1469:
++#line 10174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_HOUR_SECOND; }
++#line 28670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1470:
++#line 10175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
++#line 28676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1471:
++#line 10176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
++#line 28682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1472:
++#line 10177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
++#line 28688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1473:
++#line 10178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval)=INTERVAL_YEAR_MONTH; }
++#line 28694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1474:
++#line 10182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_DAY; }
++#line 28700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1475:
++#line 10183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_WEEK; }
++#line 28706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1476:
++#line 10184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_HOUR; }
++#line 28712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1477:
++#line 10185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_MINUTE; }
++#line 28718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1478:
++#line 10186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_MONTH; }
++#line 28724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1479:
++#line 10187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_QUARTER; }
++#line 28730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1480:
++#line 10188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_SECOND; }
++#line 28736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1481:
++#line 10189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
++#line 28742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1482:
++#line 10190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.interval_time_st)=INTERVAL_YEAR; }
++#line 28748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1483:
++#line 10194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;}
++#line 28754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1484:
++#line 10195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;}
++#line 28760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1485:
++#line 10196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
++#line 28766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1486:
++#line 10197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
++#line 28772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1490:
++#line 10207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str_ptr)=0; }
++#line 28778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1491:
++#line 10209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING));
++ if ((yyval.lex_str_ptr) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 28788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1494:
++#line 10222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->where= 0; }
++#line 28794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1495:
++#line 10224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= IN_WHERE;
++ }
++#line 28802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1496:
++#line 10228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *select= Select;
++ select->where= normalize_cond((yyvsp[0].item));
++ select->parsing_place= NO_MATTER;
++ if ((yyvsp[0].item))
++ (yyvsp[0].item)->top_level_item();
++ }
++#line 28814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1498:
++#line 10240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= IN_HAVING;
++ }
++#line 28822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1499:
++#line 10244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->having= normalize_cond((yyvsp[0].item));
++ sel->parsing_place= NO_MATTER;
++ if ((yyvsp[0].item))
++ (yyvsp[0].item)->top_level_item();
++ }
++#line 28834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1500:
++#line 10255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->escape_used= TRUE;
++ (yyval.item)= (yyvsp[0].item);
++ }
++#line 28843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1501:
++#line 10260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->escape_used= FALSE;
++ (yyval.item)= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ?
++ new (thd->mem_root) Item_string("", 0, &my_charset_latin1) :
++ new (thd->mem_root) Item_string("\\", 1, &my_charset_latin1));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 28856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1504:
++#line 10281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1505:
++#line 10283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1506:
++#line 10287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 28874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1507:
++#line 10289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ 'WITH CUBE' is reserved in the MySQL syntax, but not implemented,
++ and cause LALR(2) conflicts.
++ This syntax is not standard.
++ MySQL syntax: GROUP BY col1, col2, col3 WITH CUBE
++ SQL-2003: GROUP BY ... CUBE(col1, col2, col3)
++ */
++ LEX *lex=Lex;
++ if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "WITH CUBE",
++ "global union parameters");
++ MYSQL_YYABORT;
++ }
++ lex->current_select->olap= CUBE_TYPE;
++ my_error(ER_NOT_SUPPORTED_YET, MYF(0), "CUBE");
++ MYSQL_YYABORT;
++ }
++#line 28898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1508:
++#line 10309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ 'WITH ROLLUP' is needed for backward compatibility,
++ and cause LALR(2) conflicts.
++ This syntax is not standard.
++ MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP
++ SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3)
++ */
++ LEX *lex= Lex;
++ if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "WITH ROLLUP",
++ "global union parameters");
++ MYSQL_YYABORT;
++ }
++ lex->current_select->olap= ROLLUP_TYPE;
++ }
++#line 28920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1512:
++#line 10343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ bool ascending= ((yyvsp[0].num) == 1) ? true : false;
++ if (add_order_to_list(thd, (yyvsp[-1].item), ascending))
++ MYSQL_YYABORT;
++ }
++#line 28930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1515:
++#line 10361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ SELECT_LEX *sel= lex->current_select;
++ SELECT_LEX_UNIT *unit= sel-> master_unit();
++ if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
++ sel->olap != UNSPECIFIED_OLAP_TYPE &&
++ (sel->linkage != UNION_TYPE || sel->braces))
++ {
++ my_error(ER_WRONG_USAGE, MYF(0),
++ "CUBE/ROLLUP", "ORDER BY");
++ MYSQL_YYABORT;
++ }
++ if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex)
++ {
++ /*
++ A query of the of the form (SELECT ...) ORDER BY order_list is
++ executed in the same way as the query
++ SELECT ... ORDER BY order_list
++ unless the SELECT construct contains ORDER BY or LIMIT clauses.
++ Otherwise we create a fake SELECT_LEX if it has not been created
++ yet.
++ */
++ SELECT_LEX *first_sl= unit->first_select();
++ if (!unit->is_union() &&
++ (first_sl->order_list.elements ||
++ first_sl->select_limit) &&
++ unit->add_fake_select_lex(lex->thd))
++ MYSQL_YYABORT;
++ }
++ }
++#line 28965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1517:
++#line 10396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1518:
++#line 10398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1519:
++#line 10402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) = 1; }
++#line 28983 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1520:
++#line 10403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) =1; }
++#line 28989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1521:
++#line 10404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num) =0; }
++#line 28995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1522:
++#line 10409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ SELECT_LEX *sel= lex->current_select;
++ sel->offset_limit= 0;
++ sel->select_limit= 0;
++ lex->limit_rows_examined= 0;
++ }
++#line 29007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1523:
++#line 10416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29013 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1524:
++#line 10420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29019 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1525:
++#line 10421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1526:
++#line 10426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++ }
++#line 29033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1527:
++#line 10430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++ }
++#line 29041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1528:
++#line 10434 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++ }
++#line 29049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1529:
++#line 10441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->select_limit= (yyvsp[0].item);
++ sel->offset_limit= 0;
++ sel->explicit_limit= 1;
++ }
++#line 29060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1530:
++#line 10448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->select_limit= (yyvsp[0].item);
++ sel->offset_limit= (yyvsp[-2].item);
++ sel->explicit_limit= 1;
++ }
++#line 29071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1531:
++#line 10455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->select_limit= (yyvsp[-2].item);
++ sel->offset_limit= (yyvsp[0].item);
++ sel->explicit_limit= 1;
++ }
++#line 29082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1532:
++#line 10465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item_splocal *splocal;
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= & thd->m_parser_state->m_lip;
++ sp_variable_t *spv;
++ sp_pcontext *spc = lex->spcont;
++ if (spc && (spv = spc->find_variable(&(yyvsp[0].lex_str))))
++ {
++ splocal= new (thd->mem_root)
++ Item_splocal((yyvsp[0].lex_str), spv->offset, spv->type,
++ lip->get_tok_start() - lex->sphead->m_tmp_query,
++ lip->get_ptr() - lip->get_tok_start());
++ if (splocal == NULL)
++ MYSQL_YYABORT;
++#ifndef DBUG_OFF
++ splocal->m_sp= lex->sphead;
++#endif
++ lex->safe_to_cache_query=0;
++ }
++ else
++ {
++ my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (splocal->type() != Item::INT_ITEM)
++ {
++ my_error(ER_WRONG_SPVAR_TYPE_IN_LIMIT, MYF(0));
++ MYSQL_YYABORT;
++ }
++ splocal->limit_clause_param= TRUE;
++ (yyval.item)= splocal;
++ }
++#line 29119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1533:
++#line 10498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ ((Item_param *) (yyvsp[0].item))->limit_clause_param= TRUE;
++ }
++#line 29127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1534:
++#line 10502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 29137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1535:
++#line 10508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 29147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1536:
++#line 10514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 29157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1537:
++#line 10523 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->limit_rows_examined= (yyvsp[0].item);
++ }
++#line 29166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1538:
++#line 10530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->current_select->select_limit= 0;
++ }
++#line 29175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1539:
++#line 10535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ sel->select_limit= (yyvsp[0].item);
++ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++ sel->explicit_limit= 1;
++ }
++#line 29186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1540:
++#line 10541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; }
++#line 29192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1541:
++#line 10542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; }
++#line 29198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1542:
++#line 10546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.num)= (int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1543:
++#line 10547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1544:
++#line 10548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1545:
++#line 10552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1546:
++#line 10553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
++#line 29228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1547:
++#line 10554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1548:
++#line 10555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1549:
++#line 10556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1550:
++#line 10557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1551:
++#line 10561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1552:
++#line 10562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
++#line 29264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1553:
++#line 10563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1554:
++#line 10564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1555:
++#line 10565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { MYSQL_YYABORT; }
++#line 29282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1556:
++#line 10569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1557:
++#line 10570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1558:
++#line 10571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1559:
++#line 10572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1560:
++#line 10573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1561:
++#line 10577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1562:
++#line 10578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1563:
++#line 10579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ulonglong_number)= strtoull((yyvsp[0].lex_str).str, (char**) 0, 16); }
++#line 29330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1564:
++#line 10580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1565:
++#line 10581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { MYSQL_YYABORT; }
++#line 29342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1566:
++#line 10586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { my_parse_error(ER(ER_ONLY_INTEGERS_ALLOWED)); }
++#line 29348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1569:
++#line 10595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.choice)= (yyvsp[0].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; }
++#line 29354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1570:
++#line 10596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.choice)= HA_CHOICE_UNDEF; }
++#line 29360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1572:
++#line 10602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++
++ if (! lex->parsing_options.allows_select_procedure)
++ {
++ my_error(ER_VIEW_SELECT_CLAUSE, MYF(0), "PROCEDURE");
++ MYSQL_YYABORT;
++ }
++
++ if (&lex->select_lex != lex->current_select)
++ {
++ my_error(ER_WRONG_USAGE, MYF(0), "PROCEDURE", "subquery");
++ MYSQL_YYABORT;
++ }
++ lex->proc_list.elements=0;
++ lex->proc_list.first=0;
++ lex->proc_list.next= &lex->proc_list.first;
++ Item_field *item= new (thd->mem_root)
++ Item_field(&lex->current_select->context,
++ NULL, NULL, (yyvsp[0].lex_str).str);
++ if (item == NULL)
++ MYSQL_YYABORT;
++ if (add_proc_to_list(lex->thd, item))
++ MYSQL_YYABORT;
++ Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++
++ /*
++ PROCEDURE CLAUSE cannot handle subquery as one of its parameter,
++ so set expr_allows_subselect as false to disallow any subqueries
++ further. Reset expr_allows_subselect back to true once the
++ parameters are reduced.
++ */
++ Lex->expr_allows_subselect= false;
++ }
++#line 29399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1573:
++#line 10637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* Subqueries are allowed from now.*/
++ Lex->expr_allows_subselect= true;
++ }
++#line 29408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1574:
++#line 10644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1575:
++#line 10645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1578:
++#line 10655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_proc_to_list(thd, (yyvsp[-1].item)))
++ MYSQL_YYABORT;
++ if (!(yyvsp[-1].item)->name)
++ (yyvsp[-1].item)->set_name((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
++ }
++#line 29431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1579:
++#line 10664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (!lex->describe && (!(lex->result= new select_dumpvar())))
++ MYSQL_YYABORT;
++ }
++#line 29441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1580:
++#line 10670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1582:
++#line 10675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1583:
++#line 10680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->result)
++ {
++ my_var *var= new my_var((yyvsp[0].lex_str),0,0,(enum_field_types)0);
++ if (var == NULL)
++ MYSQL_YYABORT;
++ ((select_dumpvar *)lex->result)->var_list.push_back(var);
++ }
++ else
++ {
++ /*
++ The parser won't create select_result instance only
++ if it's an EXPLAIN.
++ */
++ DBUG_ASSERT(lex->describe);
++ }
++ }
++#line 29476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1584:
++#line 10699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ sp_variable_t *t;
++
++ if (!lex->spcont || !(t=lex->spcont->find_variable(&(yyvsp[0].lex_str))))
++ {
++ my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (lex->result)
++ {
++ my_var *var= new my_var((yyvsp[0].lex_str),1,t->offset,t->type);
++ if (var == NULL)
++ MYSQL_YYABORT;
++ ((select_dumpvar *)lex->result)->var_list.push_back(var);
++#ifndef DBUG_OFF
++ var->sp= lex->sphead;
++#endif
++ }
++ else
++ {
++ /*
++ The parser won't create select_result instance only
++ if it's an EXPLAIN.
++ */
++ DBUG_ASSERT(lex->describe);
++ }
++ }
++#line 29509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1585:
++#line 10731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (! Lex->parsing_options.allows_select_into)
++ {
++ my_error(ER_VIEW_SELECT_CLAUSE, MYF(0), "INTO");
++ MYSQL_YYABORT;
++ }
++ }
++#line 29521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1587:
++#line 10743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++ if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0)) ||
++ !(lex->result= new select_export(lex->exchange)))
++ MYSQL_YYABORT;
++ }
++#line 29533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1588:
++#line 10751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->exchange->cs= (yyvsp[0].charset); }
++#line 29539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1590:
++#line 10754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (!lex->describe)
++ {
++ lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++ if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,1)))
++ MYSQL_YYABORT;
++ if (!(lex->result= new select_dump(lex->exchange)))
++ MYSQL_YYABORT;
++ }
++ }
++#line 29555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1591:
++#line 10766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++ }
++#line 29563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1592:
++#line 10777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_DO;
++ mysql_init_select(lex);
++ }
++#line 29573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1593:
++#line 10783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->insert_list= (yyvsp[0].item_list);
++ }
++#line 29581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1594:
++#line 10794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_DROP_TABLE;
++ lex->drop_temporary= (yyvsp[-2].num);
++ lex->drop_if_exists= (yyvsp[0].num);
++ YYPS->m_lock_type= TL_UNLOCK;
++ YYPS->m_mdl_type= MDL_EXCLUSIVE;
++ }
++#line 29594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1595:
++#line 10803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1596:
++#line 10804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1597:
++#line 10805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[-3].lex_str).str);
++ if (ad == NULL)
++ MYSQL_YYABORT;
++ lex->sql_command= SQLCOM_DROP_INDEX;
++ lex->alter_info.reset();
++ lex->alter_info.flags= ALTER_DROP_INDEX;
++ lex->alter_info.drop_list.push_back(ad);
++ if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL,
++ TL_OPTION_UPDATING,
++ TL_READ_NO_INSERT,
++ MDL_SHARED_NO_WRITE))
++ MYSQL_YYABORT;
++ }
++#line 29626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1598:
++#line 10821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_DROP_DB;
++ lex->drop_if_exists=(yyvsp[-1].num);
++ lex->name= (yyvsp[0].lex_str);
++ }
++#line 29637 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1599:
++#line 10828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ sp_name *spname;
++ if ((yyvsp[-2].lex_str).str && check_db_name(&(yyvsp[-2].lex_str)))
++ {
++ my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command = SQLCOM_DROP_FUNCTION;
++ lex->drop_if_exists= (yyvsp[-3].num);
++ spname= new sp_name((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true);
++ if (spname == NULL)
++ MYSQL_YYABORT;
++ spname->init_qname(thd);
++ lex->spname= spname;
++ }
++#line 29663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1600:
++#line 10850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ LEX_STRING db= {0, 0};
++ sp_name *spname;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
++ MYSQL_YYABORT;
++ }
++ if (thd->db && lex->copy_db_to(&db.str, &db.length))
++ MYSQL_YYABORT;
++ lex->sql_command = SQLCOM_DROP_FUNCTION;
++ lex->drop_if_exists= (yyvsp[-1].num);
++ spname= new sp_name(db, (yyvsp[0].lex_str), false);
++ if (spname == NULL)
++ MYSQL_YYABORT;
++ spname->init_qname(thd);
++ lex->spname= spname;
++ }
++#line 29687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1601:
++#line 10870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command = SQLCOM_DROP_PROCEDURE;
++ lex->drop_if_exists= (yyvsp[-1].num);
++ lex->spname= (yyvsp[0].spname);
++ }
++#line 29703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1602:
++#line 10882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_DROP_USER;
++ }
++#line 29711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1603:
++#line 10886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_DROP_VIEW;
++ lex->drop_if_exists= (yyvsp[0].num);
++ YYPS->m_lock_type= TL_UNLOCK;
++ YYPS->m_mdl_type= MDL_EXCLUSIVE;
++ }
++#line 29723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1604:
++#line 10894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1605:
++#line 10896 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->drop_if_exists= (yyvsp[-1].num);
++ Lex->spname= (yyvsp[0].spname);
++ Lex->sql_command = SQLCOM_DROP_EVENT;
++ }
++#line 29739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1606:
++#line 10902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_DROP_TRIGGER;
++ lex->drop_if_exists= (yyvsp[-1].num);
++ lex->spname= (yyvsp[0].spname);
++ }
++#line 29750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1607:
++#line 10909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE;
++ }
++#line 29759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1608:
++#line 10914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP;
++ }
++#line 29768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1609:
++#line 10919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_DROP_SERVER;
++ Lex->drop_if_exists= (yyvsp[-1].num);
++ Lex->server_options.server_name= (yyvsp[0].lex_str).str;
++ Lex->server_options.server_name_length= (yyvsp[0].lex_str).length;
++ }
++#line 29779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1612:
++#line 10934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
++ TL_OPTION_UPDATING,
++ YYPS->m_lock_type,
++ YYPS->m_mdl_type))
++ MYSQL_YYABORT;
++ }
++#line 29791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1615:
++#line 10950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
++ TL_OPTION_UPDATING | TL_OPTION_ALIAS,
++ YYPS->m_lock_type,
++ YYPS->m_mdl_type))
++ MYSQL_YYABORT;
++ }
++#line 29803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1616:
++#line 10960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 29809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1617:
++#line 10961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 29815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1618:
++#line 10965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 29821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1619:
++#line 10966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 29827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1620:
++#line 10974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_INSERT;
++ lex->duplicates= DUP_ERROR;
++ mysql_init_select(lex);
++ }
++#line 29838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1621:
++#line 10982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->set_lock_for_tables((yyvsp[-2].lock_type));
++ Lex->current_select= &Lex->select_lex;
++ }
++#line 29847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1622:
++#line 10987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1623:
++#line 10992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_REPLACE;
++ lex->duplicates= DUP_REPLACE;
++ mysql_init_select(lex);
++ }
++#line 29864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1624:
++#line 10999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->set_lock_for_tables((yyvsp[-1].lock_type));
++ Lex->current_select= &Lex->select_lex;
++ }
++#line 29873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1625:
++#line 11004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1626:
++#line 11009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ If it is SP we do not allow insert optimisation when result of
++ insert visible only after the table unlocking but everyone can
++ read table.
++ */
++ (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
++ }
++#line 29892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1627:
++#line 11017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
++#line 29898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1628:
++#line 11019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
++ thd->query());
++ Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset +
++ YYLIP->yyLength() + 1;
++ (yyval.lock_type)= TL_WRITE_DELAYED;
++ }
++#line 29910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1629:
++#line 11026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= TL_WRITE; }
++#line 29916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1630:
++#line 11030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= (yyvsp[0].lock_type); }
++#line 29922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1631:
++#line 11032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
++ thd->query());
++ Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset +
++ YYLIP->yyLength() + 1;
++ (yyval.lock_type)= TL_WRITE_DELAYED;
++ }
++#line 29934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1632:
++#line 11042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1633:
++#line 11043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1634:
++#line 11048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->field_list.empty();
++ lex->many_values.empty();
++ lex->insert_list=0;
++ }
++#line 29957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1635:
++#line 11056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1636:
++#line 11057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1637:
++#line 11058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 29975 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1638:
++#line 11060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (!(lex->insert_list = new List_item) ||
++ lex->many_values.push_back(lex->insert_list))
++ MYSQL_YYABORT;
++ }
++#line 29986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1640:
++#line 11070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 29992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1641:
++#line 11071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 29998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1642:
++#line 11075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1643:
++#line 11076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1644:
++#line 11078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->set_braces(0);}
++#line 30016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1645:
++#line 11079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1646:
++#line 11081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->set_braces(1);}
++#line 30028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1647:
++#line 11082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1652:
++#line 11097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->field_list.push_back((yyvsp[-2].item)) ||
++ lex->insert_list->push_back((yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++#line 30045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1653:
++#line 11106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1654:
++#line 11107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1655:
++#line 11111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1656:
++#line 11112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1657:
++#line 11117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!(Lex->insert_list = new List_item))
++ MYSQL_YYABORT;
++ }
++#line 30078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1658:
++#line 11122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->many_values.push_back(lex->insert_list))
++ MYSQL_YYABORT;
++ }
++#line 30088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1659:
++#line 11130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1661:
++#line 11136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->insert_list->push_back((yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++#line 30103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1662:
++#line 11141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->insert_list->push_back((yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++#line 30112 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1663:
++#line 11148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item);}
++#line 30118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1664:
++#line 11150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_default_value(Lex->current_context());
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 30128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1666:
++#line 11159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->duplicates= DUP_UPDATE; }
++#line 30134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1668:
++#line 11167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ mysql_init_select(lex);
++ lex->sql_command= SQLCOM_UPDATE;
++ lex->duplicates= DUP_ERROR;
++ }
++#line 30145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1669:
++#line 11175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->select_lex.table_list.elements > 1)
++ lex->sql_command= SQLCOM_UPDATE_MULTI;
++ else if (lex->select_lex.get_table_list()->derived)
++ {
++ /* it is single table update and it is update of derived table */
++ my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
++ lex->select_lex.get_table_list()->alias, "UPDATE");
++ MYSQL_YYABORT;
++ }
++ /*
++ In case of multi-update setting write lock for all tables may
++ be too pessimistic. We will decrease lock level if possible in
++ mysql_multi_update().
++ */
++ Select->set_lock_for_tables((yyvsp[-4].lock_type));
++ }
++#line 30168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1670:
++#line 11193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1673:
++#line 11203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, (yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++#line 30183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1676:
++#line 11216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->update_list.push_back((yyvsp[-2].item)) ||
++ lex->value_list.push_back((yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++#line 30194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1677:
++#line 11225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= TL_WRITE_DEFAULT; }
++#line 30200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1678:
++#line 11226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
++#line 30206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1679:
++#line 11233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_DELETE;
++ mysql_init_select(lex);
++ YYPS->m_lock_type= TL_WRITE_DEFAULT;
++ YYPS->m_mdl_type= MDL_SHARED_WRITE;
++
++ lex->ignore= 0;
++ lex->select_lex.init_order();
++ }
++#line 30221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1681:
++#line 11248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
++ YYPS->m_lock_type,
++ YYPS->m_mdl_type))
++ MYSQL_YYABORT;
++ YYPS->m_lock_type= TL_READ_DEFAULT;
++ YYPS->m_mdl_type= MDL_SHARED_READ;
++ }
++#line 30234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1682:
++#line 11257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1683:
++#line 11259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ mysql_init_multi_delete(Lex);
++ YYPS->m_lock_type= TL_READ_DEFAULT;
++ YYPS->m_mdl_type= MDL_SHARED_READ;
++ }
++#line 30250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1684:
++#line 11265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (multi_delete_set_locks_and_link_aux_tables(Lex))
++ MYSQL_YYABORT;
++ }
++#line 30259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1685:
++#line 11270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ mysql_init_multi_delete(Lex);
++ YYPS->m_lock_type= TL_READ_DEFAULT;
++ YYPS->m_mdl_type= MDL_SHARED_READ;
++ }
++#line 30269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1686:
++#line 11276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (multi_delete_set_locks_and_link_aux_tables(Lex))
++ MYSQL_YYABORT;
++ }
++#line 30278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1689:
++#line 11289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Table_ident *ti= new Table_ident((yyvsp[-1].lex_str));
++ if (ti == NULL)
++ MYSQL_YYABORT;
++ if (!Select->add_table_to_list(thd,
++ ti,
++ NULL,
++ TL_OPTION_UPDATING | TL_OPTION_ALIAS,
++ YYPS->m_lock_type,
++ YYPS->m_mdl_type))
++ MYSQL_YYABORT;
++ }
++#line 30295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1690:
++#line 11302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Table_ident *ti= new Table_ident(thd, (yyvsp[-3].lex_str), (yyvsp[-1].lex_str), 0);
++ if (ti == NULL)
++ MYSQL_YYABORT;
++ if (!Select->add_table_to_list(thd,
++ ti,
++ NULL,
++ TL_OPTION_UPDATING | TL_OPTION_ALIAS,
++ YYPS->m_lock_type,
++ YYPS->m_mdl_type))
++ MYSQL_YYABORT;
++ }
++#line 30312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1691:
++#line 11317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1692:
++#line 11318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1693:
++#line 11322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1694:
++#line 11323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 30336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1695:
++#line 11327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->options|= OPTION_QUICK; }
++#line 30342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1696:
++#line 11328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; }
++#line 30348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1697:
++#line 11329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ignore= 1; }
++#line 30354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1698:
++#line 11334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX* lex= Lex;
++ lex->sql_command= SQLCOM_TRUNCATE;
++ lex->alter_info.reset();
++ lex->select_lex.options= 0;
++ lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE_UNSPECIFIED;
++ lex->select_lex.init_order();
++ YYPS->m_lock_type= TL_WRITE;
++ YYPS->m_mdl_type= MDL_EXCLUSIVE;
++ }
++#line 30369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1699:
++#line 11345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX* lex= thd->lex;
++ DBUG_ASSERT(!lex->m_stmt);
++ lex->m_stmt= new (thd->mem_root) Truncate_statement(lex);
++ if (lex->m_stmt == NULL)
++ MYSQL_YYABORT;
++ }
++#line 30381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1706:
++#line 11369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_CPU;
++ }
++#line 30389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1707:
++#line 11373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_MEMORY;
++ }
++#line 30397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1708:
++#line 11377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_BLOCK_IO;
++ }
++#line 30405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1709:
++#line 11381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_CONTEXT;
++ }
++#line 30413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1710:
++#line 11385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_PAGE_FAULTS;
++ }
++#line 30421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1711:
++#line 11389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_IPC;
++ }
++#line 30429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1712:
++#line 11393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_SWAPS;
++ }
++#line 30437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1713:
++#line 11397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_SOURCE;
++ }
++#line 30445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1714:
++#line 11401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_options|= PROFILE_ALL;
++ }
++#line 30453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1715:
++#line 11408 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_query_id= 0;
++ }
++#line 30461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1716:
++#line 11412 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->profile_query_id= atoi((yyvsp[0].lex_str).str);
++ }
++#line 30469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1717:
++#line 11421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->wild=0;
++ mysql_init_select(lex);
++ lex->current_select->parsing_place= SELECT_LIST;
++ bzero((char*) &lex->create_info,sizeof(lex->create_info));
++ }
++#line 30481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1718:
++#line 11429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= NO_MATTER;
++ }
++#line 30489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1719:
++#line 11436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_DATABASES;
++ if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))
++ MYSQL_YYABORT;
++ }
++#line 30500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1720:
++#line 11443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_TABLES;
++ lex->select_lex.db= (yyvsp[-1].simple_string);
++ if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES))
++ MYSQL_YYABORT;
++ }
++#line 30512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1721:
++#line 11451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_TRIGGERS;
++ lex->select_lex.db= (yyvsp[-1].simple_string);
++ if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS))
++ MYSQL_YYABORT;
++ }
++#line 30524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1722:
++#line 11459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_EVENTS;
++ lex->select_lex.db= (yyvsp[-1].simple_string);
++ if (prepare_schema_table(thd, lex, 0, SCH_EVENTS))
++ MYSQL_YYABORT;
++ }
++#line 30536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1723:
++#line 11467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
++ lex->select_lex.db= (yyvsp[-1].simple_string);
++ if (prepare_schema_table(thd, lex, 0, SCH_TABLES))
++ MYSQL_YYABORT;
++ }
++#line 30548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1724:
++#line 11475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
++ lex->select_lex.db= (yyvsp[-1].simple_string);
++ if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES))
++ MYSQL_YYABORT;
++ }
++#line 30560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1725:
++#line 11483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_PLUGINS;
++ if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
++ MYSQL_YYABORT;
++ }
++#line 30571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1726:
++#line 11490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_info.db_type= (yyvsp[-1].db_type); }
++#line 30577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1727:
++#line 11492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_info.db_type= NULL; }
++#line 30583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1728:
++#line 11494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_FIELDS;
++ if ((yyvsp[-1].simple_string))
++ (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
++ if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_COLUMNS))
++ MYSQL_YYABORT;
++ }
++#line 30596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1729:
++#line 11503 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_SHOW_BINLOGS;
++ }
++#line 30604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1730:
++#line 11507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS;
++ }
++#line 30612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1731:
++#line 11511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
++ }
++#line 30621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1733:
++#line 11516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS;
++ }
++#line 30630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1735:
++#line 11521 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_KEYS;
++ if ((yyvsp[-1].simple_string))
++ (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
++ if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_STATISTICS))
++ MYSQL_YYABORT;
++ }
++#line 30643 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1736:
++#line 11530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
++ if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
++ MYSQL_YYABORT;
++ }
++#line 30654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1737:
++#line 11537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SHOW_AUTHORS;
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++ ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
++ ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
++ "SHOW AUTHORS");
++ }
++#line 30667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1738:
++#line 11546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS;
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++ ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
++ ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
++ "SHOW CONTRIBUTORS");
++ }
++#line 30680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1739:
++#line 11555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SHOW_PRIVILEGES;
++ }
++#line 30689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1740:
++#line 11560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (void) create_select_for_variable("warning_count"); }
++#line 30695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1741:
++#line 11562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (void) create_select_for_variable("error_count"); }
++#line 30701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1742:
++#line 11564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command = SQLCOM_SHOW_WARNS;}
++#line 30707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1743:
++#line 11566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command = SQLCOM_SHOW_ERRORS;}
++#line 30713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1744:
++#line 11568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command = SQLCOM_SHOW_PROFILES; }
++#line 30719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1745:
++#line 11570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_PROFILE;
++ if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0)
++ YYABORT;
++ }
++#line 30730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1746:
++#line 11577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_STATUS;
++ lex->option_type= (yyvsp[-2].var_type);
++ if (prepare_schema_table(thd, lex, 0, SCH_STATUS))
++ MYSQL_YYABORT;
++ }
++#line 30742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1747:
++#line 11585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;}
++#line 30748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1748:
++#line 11587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_VARIABLES;
++ lex->option_type= (yyvsp[-2].var_type);
++ if (prepare_schema_table(thd, lex, 0, SCH_VARIABLES))
++ MYSQL_YYABORT;
++ }
++#line 30760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1749:
++#line 11595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_CHARSETS;
++ if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS))
++ MYSQL_YYABORT;
++ }
++#line 30771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1750:
++#line 11602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_COLLATIONS;
++ if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))
++ MYSQL_YYABORT;
++ }
++#line 30782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1751:
++#line 11609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SHOW_GRANTS;
++ LEX_USER *curr_user;
++ if (!(curr_user= (LEX_USER*) lex->thd->alloc(sizeof(st_lex_user))))
++ MYSQL_YYABORT;
++ bzero(curr_user, sizeof(st_lex_user));
++ lex->grant_user= curr_user;
++ }
++#line 30796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1752:
++#line 11619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SHOW_GRANTS;
++ lex->grant_user=(yyvsp[0].lex_user);
++ lex->grant_user->password=null_lex_str;
++ }
++#line 30807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1753:
++#line 11626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
++ Lex->create_info.options=(yyvsp[-1].num);
++ Lex->name= (yyvsp[0].lex_str);
++ }
++#line 30817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1754:
++#line 11632 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command = SQLCOM_SHOW_CREATE;
++ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,0))
++ MYSQL_YYABORT;
++ lex->create_info.storage_media= HA_SM_DEFAULT;
++ }
++#line 30829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1755:
++#line 11640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command = SQLCOM_SHOW_CREATE;
++ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, 0))
++ MYSQL_YYABORT;
++ lex->only_view= 1;
++ }
++#line 30841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1756:
++#line 11648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
++ }
++#line 30849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1757:
++#line 11652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
++ }
++#line 30857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1758:
++#line 11656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_CLIENT_STATS;
++ if (prepare_schema_table(thd, lex, 0, SCH_CLIENT_STATS))
++ MYSQL_YYABORT;
++ }
++#line 30868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1759:
++#line 11663 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_USER_STATS;
++ if (prepare_schema_table(thd, lex, 0, SCH_USER_STATS))
++ MYSQL_YYABORT;
++ }
++#line 30879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1760:
++#line 11670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_TABLE_STATS;
++ if (prepare_schema_table(thd, lex, 0, SCH_TABLE_STATS))
++ MYSQL_YYABORT;
++ }
++#line 30890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1761:
++#line 11677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_INDEX_STATS;
++ if (prepare_schema_table(thd, lex, 0, SCH_INDEX_STATS))
++ MYSQL_YYABORT;
++ }
++#line 30901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1762:
++#line 11684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ lex->sql_command = SQLCOM_SHOW_CREATE_PROC;
++ lex->spname= (yyvsp[0].spname);
++ }
++#line 30912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1763:
++#line 11691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ lex->sql_command = SQLCOM_SHOW_CREATE_FUNC;
++ lex->spname= (yyvsp[0].spname);
++ }
++#line 30923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1764:
++#line 11698 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER;
++ lex->spname= (yyvsp[0].spname);
++ }
++#line 30933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1765:
++#line 11704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
++ if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
++ MYSQL_YYABORT;
++ }
++#line 30944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1766:
++#line 11711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
++ if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
++ MYSQL_YYABORT;
++ }
++#line 30955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1767:
++#line 11718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command= SQLCOM_SHOW_PROC_CODE;
++ Lex->spname= (yyvsp[0].spname);
++ }
++#line 30964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1768:
++#line 11723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command= SQLCOM_SHOW_FUNC_CODE;
++ Lex->spname= (yyvsp[0].spname);
++ }
++#line 30973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1769:
++#line 11728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->spname= (yyvsp[0].spname);
++ Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT;
++ }
++#line 30982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1770:
++#line 11736 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; }
++#line 30988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1771:
++#line 11738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; }
++#line 30994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1772:
++#line 11740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; }
++#line 31000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1777:
++#line 11754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.simple_string)= 0; }
++#line 31006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1778:
++#line 11755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.simple_string)= (yyvsp[0].lex_str).str; }
++#line 31012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1779:
++#line 11759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->verbose=0; }
++#line 31018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1780:
++#line 11760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->verbose=1; }
++#line 31024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1783:
++#line 11769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->mi.log_file_name = 0; }
++#line 31030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1784:
++#line 11770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; }
++#line 31036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1785:
++#line 11774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->mi.pos = 4; /* skip magic number */ }
++#line 31042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1786:
++#line 11775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->mi.pos = (yyvsp[0].ulonglong_number); }
++#line 31048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1788:
++#line 11781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->wild= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
++ system_charset_info);
++ if (Lex->wild == NULL)
++ MYSQL_YYABORT;
++ }
++#line 31059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1789:
++#line 11788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->where= normalize_cond((yyvsp[0].item));
++ if ((yyvsp[0].item))
++ (yyvsp[0].item)->top_level_item();
++ }
++#line 31069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1790:
++#line 11798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ mysql_init_select(lex);
++ lex->current_select->parsing_place= SELECT_LIST;
++ lex->sql_command= SQLCOM_SHOW_FIELDS;
++ lex->select_lex.db= 0;
++ lex->verbose= 0;
++ if (prepare_schema_table(thd, lex, (yyvsp[0].table), SCH_COLUMNS))
++ MYSQL_YYABORT;
++ }
++#line 31084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1791:
++#line 11809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Select->parsing_place= NO_MATTER;
++ }
++#line 31092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1792:
++#line 11813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->describe|= DESCRIBE_NORMAL; }
++#line 31098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1793:
++#line 11815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->select_lex.options|= SELECT_DESCRIBE;
++ }
++#line 31107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1796:
++#line 11827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1797:
++#line 11828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->describe|= DESCRIBE_EXTENDED; }
++#line 31119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1798:
++#line 11829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->describe|= DESCRIBE_PARTITIONS; }
++#line 31125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1799:
++#line 11833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1800:
++#line 11834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->wild= (yyvsp[0].string); }
++#line 31137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1801:
++#line 11836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length,
++ system_charset_info);
++ if (Lex->wild == NULL)
++ MYSQL_YYABORT;
++ }
++#line 31149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1802:
++#line 11850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_FLUSH;
++ lex->type= 0;
++ lex->no_write_to_binlog= (yyvsp[0].num);
++ }
++#line 31160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1803:
++#line 11857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1804:
++#line 11862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->type|= REFRESH_TABLES;
++ /*
++ Set type of metadata and table locks for
++ FLUSH TABLES table_list [WITH READ LOCK].
++ */
++ YYPS->m_lock_type= TL_READ_NO_INSERT;
++ YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO;
++ }
++#line 31180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1805:
++#line 11871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1806:
++#line 11872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1808:
++#line 11877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1809:
++#line 11879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ TABLE_LIST *tables= Lex->query_tables;
++ Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num);
++ for (; tables; tables= tables->next_global)
++ {
++ tables->mdl_request.set_type(MDL_SHARED_NO_WRITE);
++ tables->required_type= FRMTYPE_TABLE; /* Don't try to flush views. */
++ tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */
++ }
++ }
++#line 31213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1811:
++#line 11894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1812:
++#line 11899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_ERROR_LOG; }
++#line 31225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1813:
++#line 11901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_ENGINE_LOG; }
++#line 31231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1814:
++#line 11903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_GENERAL_LOG; }
++#line 31237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1815:
++#line 11905 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_SLOW_LOG; }
++#line 31243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1816:
++#line 11907 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_BINARY_LOG; }
++#line 31249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1817:
++#line 11909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_RELAY_LOG; }
++#line 31255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1818:
++#line 11911 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_QUERY_CACHE_FREE; }
++#line 31261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1819:
++#line 11913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_HOSTS; }
++#line 31267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1820:
++#line 11915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_GRANT; }
++#line 31273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1821:
++#line 11917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_LOG; }
++#line 31279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1822:
++#line 11919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_STATUS; }
++#line 31285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1823:
++#line 11921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->type|= REFRESH_SLAVE;
++ Lex->reset_slave_info.all= false;
++ }
++#line 31294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1824:
++#line 11926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_CLIENT_STATS; }
++#line 31300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1825:
++#line 11928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_USER_STATS; }
++#line 31306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1826:
++#line 11930 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_TABLE_STATS; }
++#line 31312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1827:
++#line 11932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_INDEX_STATS; }
++#line 31318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1828:
++#line 11934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_MASTER; }
++#line 31324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1829:
++#line 11936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_DES_KEY_FILE; }
++#line 31330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1830:
++#line 11938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_USER_RESOURCES; }
++#line 31336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1831:
++#line 11942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1832:
++#line 11943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1833:
++#line 11947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.num)= 0;}
++#line 31354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1834:
++#line 11948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.num)= REFRESH_CHECKPOINT; }
++#line 31360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1835:
++#line 11952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_RESET; lex->type=0;
++ }
++#line 31369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1836:
++#line 11957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1839:
++#line 11966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_SLAVE; }
++#line 31381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1840:
++#line 11967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 31387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1841:
++#line 11968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_MASTER; }
++#line 31393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1842:
++#line 11969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->type|= REFRESH_QUERY_CACHE;}
++#line 31399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1843:
++#line 11973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->reset_slave_info.all= false; }
++#line 31405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1844:
++#line 11974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->reset_slave_info.all= true; }
++#line 31411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1845:
++#line 11979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->type=0;
++ lex->sql_command = SQLCOM_PURGE;
++ }
++#line 31421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1846:
++#line 11985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1848:
++#line 11994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->to_log = (yyvsp[0].lex_str).str;
++ }
++#line 31435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1849:
++#line 11998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->value_list.empty();
++ lex->value_list.push_front((yyvsp[0].item));
++ lex->sql_command= SQLCOM_PURGE_BEFORE;
++ }
++#line 31446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1850:
++#line 12010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->value_list.empty();
++ lex->users_list.empty();
++ lex->sql_command= SQLCOM_KILL;
++ }
++#line 31457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1851:
++#line 12017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->kill_signal= (killed_state) ((yyvsp[-2].num) | (yyvsp[-1].num));
++ }
++#line 31465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1852:
++#line 12023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (int) KILL_HARD_BIT; }
++#line 31471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1853:
++#line 12024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (int) KILL_HARD_BIT; }
++#line 31477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1854:
++#line 12025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 31483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1855:
++#line 12028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (int) KILL_CONNECTION; }
++#line 31489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1856:
++#line 12029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (int) KILL_CONNECTION; }
++#line 31495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1857:
++#line 12030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= (int) KILL_QUERY; }
++#line 31501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1858:
++#line 12035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->value_list.push_front((yyval.item));
++ Lex->kill_type= KILL_TYPE_ID;
++ }
++#line 31510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1859:
++#line 12040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->users_list.push_back((yyvsp[0].lex_user));
++ Lex->kill_type= KILL_TYPE_USER;
++ }
++#line 31519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1860:
++#line 12050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command=SQLCOM_CHANGE_DB;
++ lex->select_lex.db= (yyvsp[0].lex_str).str;
++ }
++#line 31529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1861:
++#line 12061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0),
++ (yyvsp[0].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML");
++ MYSQL_YYABORT;
++ }
++ }
++#line 31544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1862:
++#line 12072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_LOAD;
++ lex->local_file= (yyvsp[-2].num);
++ lex->duplicates= DUP_ERROR;
++ lex->ignore= 0;
++ if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype))))
++ MYSQL_YYABORT;
++ }
++#line 31558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1863:
++#line 12082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
++ (yyvsp[-8].lock_type), MDL_SHARED_WRITE))
++ MYSQL_YYABORT;
++ lex->field_list.empty();
++ lex->update_list.empty();
++ lex->value_list.empty();
++ }
++#line 31572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1864:
++#line 12092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->exchange->cs= (yyvsp[0].charset); }
++#line 31578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1865:
++#line 12096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1866:
++#line 12100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.filetype)= FILETYPE_CSV; }
++#line 31590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1867:
++#line 12101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.filetype)= FILETYPE_XML; }
++#line 31596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1868:
++#line 12105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=0;}
++#line 31602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1869:
++#line 12106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=1;}
++#line 31608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1870:
++#line 12110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= TL_WRITE_DEFAULT; }
++#line 31614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1871:
++#line 12112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Ignore this option in SP to avoid problem with query cache and
++ triggers with non default priority locks
++ */
++ (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
++ }
++#line 31626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1872:
++#line 12119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
++#line 31632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1873:
++#line 12123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->duplicates=DUP_ERROR; }
++#line 31638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1874:
++#line 12124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->duplicates=DUP_REPLACE; }
++#line 31644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1875:
++#line 12125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ignore= 1; }
++#line 31650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1880:
++#line 12140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT(Lex->exchange != 0);
++ Lex->exchange->field_term= (yyvsp[0].string);
++ }
++#line 31659 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1881:
++#line 12145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ DBUG_ASSERT(lex->exchange != 0);
++ lex->exchange->enclosed= (yyvsp[0].string);
++ lex->exchange->opt_enclosed= 1;
++ }
++#line 31670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1882:
++#line 12152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT(Lex->exchange != 0);
++ Lex->exchange->enclosed= (yyvsp[0].string);
++ }
++#line 31679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1883:
++#line 12157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT(Lex->exchange != 0);
++ Lex->exchange->escaped= (yyvsp[0].string);
++ }
++#line 31688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1888:
++#line 12175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT(Lex->exchange != 0);
++ Lex->exchange->line_term= (yyvsp[0].string);
++ }
++#line 31697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1889:
++#line 12180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT(Lex->exchange != 0);
++ Lex->exchange->line_start= (yyvsp[0].string);
++ }
++#line 31706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1890:
++#line 12187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 31712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1891:
++#line 12189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->exchange->line_term = (yyvsp[0].string); }
++#line 31718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1893:
++#line 12194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ DBUG_ASSERT(Lex->exchange != 0);
++ Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str);
++ }
++#line 31727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1894:
++#line 12201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 31733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1895:
++#line 12203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 31739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1896:
++#line 12207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31745 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1897:
++#line 12208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1898:
++#line 12209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1899:
++#line 12214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 31763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1900:
++#line 12216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 31769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1901:
++#line 12220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {(yyval.item)= (yyvsp[0].item);}
++#line 31775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1902:
++#line 12222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param((yyvsp[0].lex_str));
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 31785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1903:
++#line 12230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1904:
++#line 12231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 31797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1907:
++#line 12241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->update_list.push_back((yyvsp[-4].item)) ||
++ lex->value_list.push_back((yyvsp[-1].item)))
++ MYSQL_YYABORT;
++ (yyvsp[-1].item)->set_name_no_truncate((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
++ }
++#line 31809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1908:
++#line 12254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX_STRING tmp;
++ CHARSET_INFO *cs_con= thd->variables.collation_connection;
++ CHARSET_INFO *cs_cli= thd->variables.character_set_client;
++ uint repertoire= thd->lex->text_string_is_7bit &&
++ my_charset_is_ascii_based(cs_cli) ?
++ MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
++ if (thd->charset_is_collation_connection ||
++ (repertoire == MY_REPERTOIRE_ASCII &&
++ my_charset_is_ascii_based(cs_con)))
++ tmp= (yyvsp[0].lex_str);
++ else
++ {
++ if (thd->convert_string(&tmp, cs_con, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, cs_cli))
++ MYSQL_YYABORT;
++ }
++ (yyval.item)= new (thd->mem_root) Item_string(tmp.str, tmp.length, cs_con,
++ DERIVATION_COERCIBLE,
++ repertoire);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 31836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1909:
++#line 12277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ uint repertoire= Lex->text_string_is_7bit ?
++ MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
++ DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info));
++ (yyval.item)= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
++ national_charset_info,
++ DERIVATION_COERCIBLE,
++ repertoire);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 31852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1910:
++#line 12289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item_string *str= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length, (yyvsp[-1].charset));
++ if (str == NULL)
++ MYSQL_YYABORT;
++ str->set_repertoire_from_value();
++ str->set_cs_specified(TRUE);
++
++ (yyval.item)= str;
++ }
++#line 31867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1911:
++#line 12300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item_string* item= (Item_string*) (yyvsp[-1].item);
++ item->append((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (!(item->collation.repertoire & MY_REPERTOIRE_EXTENDED))
++ {
++ /*
++ If the string has been pure ASCII so far,
++ check the new part.
++ */
++ CHARSET_INFO *cs= thd->variables.collation_connection;
++ item->collation.repertoire|= my_string_repertoire(cs,
++ (yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length);
++ }
++ }
++#line 31887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1912:
++#line 12319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.string)= new (thd->mem_root) String((yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).length,
++ thd->variables.collation_connection);
++ if ((yyval.string) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 31899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1913:
++#line 12327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *tmp= new (thd->mem_root) Item_hex_hybrid((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (tmp == NULL)
++ MYSQL_YYABORT;
++ /*
++ it is OK only emulate fix_fields, because we need only
++ value of constant
++ */
++ tmp->quick_fix_field();
++ (yyval.string)= tmp->val_str((String*) 0);
++ }
++#line 31915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1914:
++#line 12339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (tmp == NULL)
++ MYSQL_YYABORT;
++ tmp->quick_fix_field();
++ (yyval.string)= tmp->val_str((String*) 0);
++ }
++#line 31927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1915:
++#line 12347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (tmp == NULL)
++ MYSQL_YYABORT;
++ /*
++ it is OK only emulate fix_fields, because we need only
++ value of constant
++ */
++ tmp->quick_fix_field();
++ (yyval.string)= tmp->val_str((String*) 0);
++ }
++#line 31943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1916:
++#line 12362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++ Item_param *item;
++ if (! lex->parsing_options.allows_variable)
++ {
++ my_error(ER_VIEW_SELECT_VARIABLE, MYF(0));
++ MYSQL_YYABORT;
++ }
++ item= new (thd->mem_root) Item_param((uint) (lip->get_tok_start() - thd->query()));
++ if (!((yyval.item)= item) || lex->param_list.push_back(item))
++ {
++ my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 31964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1917:
++#line 12381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item); }
++#line 31970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1918:
++#line 12382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item_num); }
++#line 31976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1919:
++#line 12384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyvsp[0].item_num)->max_length++;
++ (yyval.item)= (yyvsp[0].item_num)->neg();
++ }
++#line 31985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1920:
++#line 12391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item); }
++#line 31991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1921:
++#line 12392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item_num); }
++#line 31997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1922:
++#line 12394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item) = new (thd->mem_root) Item_null();
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT;
++ }
++#line 32008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1923:
++#line 12401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_int((char*) "FALSE",0,1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1924:
++#line 12407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_int((char*) "TRUE",1,1);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1925:
++#line 12413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item) = new (thd->mem_root) Item_hex_hybrid((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1926:
++#line 12419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item) = new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1927:
++#line 12425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1928:
++#line 12431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (tmp == NULL)
++ MYSQL_YYABORT;
++ /*
++ it is OK only emulate fix_fieds, because we need only
++ value of constant
++ */
++ tmp->quick_fix_field();
++ String *str= tmp->val_str((String*) 0);
++
++ Item_string *item_str;
++ item_str= new (thd->mem_root)
++ Item_string(NULL, /* name will be set in select_item */
++ str ? str->ptr() : "",
++ str ? str->length() : 0,
++ (yyvsp[-1].charset));
++ if (!item_str ||
++ !item_str->check_well_formed_result(&item_str->str_value, TRUE))
++ {
++ MYSQL_YYABORT;
++ }
++
++ item_str->set_repertoire_from_value();
++ item_str->set_cs_specified(TRUE);
++
++ (yyval.item)= item_str;
++ }
++#line 32091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1929:
++#line 12460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (tmp == NULL)
++ MYSQL_YYABORT;
++ /*
++ it is OK only emulate fix_fieds, because we need only
++ value of constant
++ */
++ tmp->quick_fix_field();
++ String *str= tmp->val_str((String*) 0);
++
++ Item_string *item_str;
++ item_str= new (thd->mem_root)
++ Item_string(NULL, /* name will be set in select_item */
++ str ? str->ptr() : "",
++ str ? str->length() : 0,
++ (yyvsp[-1].charset));
++ if (!item_str ||
++ !item_str->check_well_formed_result(&item_str->str_value, TRUE))
++ {
++ MYSQL_YYABORT;
++ }
++
++ item_str->set_cs_specified(TRUE);
++
++ (yyval.item)= item_str;
++ }
++#line 32123 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1930:
++#line 12487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item); }
++#line 32129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1931:
++#line 12488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item); }
++#line 32135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1932:
++#line 12489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item) = (yyvsp[0].item); }
++#line 32141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1933:
++#line 12494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ int error;
++ (yyval.item_num)= new (thd->mem_root)
++ Item_int((yyvsp[0].lex_str).str,
++ (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error),
++ (yyvsp[0].lex_str).length);
++ if ((yyval.item_num) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1934:
++#line 12504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ int error;
++ (yyval.item_num)= new (thd->mem_root)
++ Item_int((yyvsp[0].lex_str).str,
++ (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error),
++ (yyvsp[0].lex_str).length);
++ if ((yyval.item_num) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1935:
++#line 12514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_num)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if ((yyval.item_num) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1936:
++#line 12520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_num)= new (thd->mem_root) Item_decimal((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
++ thd->charset());
++ if (((yyval.item_num) == NULL) || (thd->is_error()))
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 32192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1937:
++#line 12529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item_num)= new (thd->mem_root) Item_float((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (((yyval.item_num) == NULL) || (thd->is_error()))
++ {
++ MYSQL_YYABORT;
++ }
++ }
++#line 32204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1938:
++#line 12543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)=(yyvsp[0].item); }
++#line 32210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1939:
++#line 12544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)=(yyvsp[0].item); }
++#line 32216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1940:
++#line 12549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ NullS, (yyvsp[-2].lex_str).str, "*");
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ sel->with_wild++;
++ }
++#line 32229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1941:
++#line 12558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel= Select;
++ const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ?
++ NullS : (yyvsp[-4].lex_str).str;
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ schema,
++ (yyvsp[-2].lex_str).str,"*");
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ sel->with_wild++;
++ }
++#line 32245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1942:
++#line 12572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)=(yyvsp[0].item); }
++#line 32251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1943:
++#line 12577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++ sp_variable_t *spv;
++ sp_pcontext *spc = lex->spcont;
++ if (spc && (spv = spc->find_variable(&(yyvsp[0].lex_str))))
++ {
++ /* We're compiling a stored procedure and found a variable */
++ if (! lex->parsing_options.allows_variable)
++ {
++ my_error(ER_VIEW_SELECT_VARIABLE, MYF(0));
++ MYSQL_YYABORT;
++ }
++
++ Item_splocal *splocal;
++ splocal= new (thd->mem_root)
++ Item_splocal((yyvsp[0].lex_str), spv->offset, spv->type,
++ lip->get_tok_start_prev() - lex->sphead->m_tmp_query,
++ lip->get_tok_end() - lip->get_tok_start_prev());
++ if (splocal == NULL)
++ MYSQL_YYABORT;
++#ifndef DBUG_OFF
++ splocal->m_sp= lex->sphead;
++#endif
++ (yyval.item)= splocal;
++ lex->safe_to_cache_query=0;
++ }
++ else
++ {
++ SELECT_LEX *sel=Select;
++ if ((sel->parsing_place != IN_HAVING) ||
++ (sel->get_in_sum_expr() > 0))
++ {
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ NullS, NullS, (yyvsp[0].lex_str).str);
++ }
++ else
++ {
++ (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++ NullS, NullS, (yyvsp[0].lex_str).str);
++ }
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++ }
++#line 32301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1944:
++#line 12622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item); }
++#line 32307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1945:
++#line 12627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ SELECT_LEX *sel=Select;
++ if ((sel->parsing_place != IN_HAVING) ||
++ (sel->get_in_sum_expr() > 0))
++ {
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ NullS, NullS, (yyvsp[0].lex_str).str);
++ }
++ else
++ {
++ (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++ NullS, NullS, (yyvsp[0].lex_str).str);
++ }
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1946:
++#line 12643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)= (yyvsp[0].item); }
++#line 32334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1947:
++#line 12648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++
++ /*
++ FIXME This will work ok in simple_ident_nospvar case because
++ we can't meet simple_ident_nospvar in trigger now. But it
++ should be changed in future.
++ */
++ if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER &&
++ (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "NEW") ||
++ !my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "OLD")))
++ {
++ Item_trigger_field *trg_fld;
++ bool new_row= ((yyvsp[-2].lex_str).str[0]=='N' || (yyvsp[-2].lex_str).str[0]=='n');
++
++ if (lex->trg_chistics.event == TRG_EVENT_INSERT &&
++ !new_row)
++ {
++ my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "OLD", "on INSERT");
++ MYSQL_YYABORT;
++ }
++
++ if (lex->trg_chistics.event == TRG_EVENT_DELETE &&
++ new_row)
++ {
++ my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "NEW", "on DELETE");
++ MYSQL_YYABORT;
++ }
++
++ DBUG_ASSERT(!new_row ||
++ (lex->trg_chistics.event == TRG_EVENT_INSERT ||
++ lex->trg_chistics.event == TRG_EVENT_UPDATE));
++ const bool read_only=
++ !(new_row && lex->trg_chistics.action_time == TRG_ACTION_BEFORE);
++ trg_fld= new (thd->mem_root)
++ Item_trigger_field(Lex->current_context(),
++ new_row ?
++ Item_trigger_field::NEW_ROW:
++ Item_trigger_field::OLD_ROW,
++ (yyvsp[0].lex_str).str,
++ SELECT_ACL,
++ read_only);
++ if (trg_fld == NULL)
++ MYSQL_YYABORT;
++
++ /*
++ Let us add this item to list of all Item_trigger_field objects
++ in trigger.
++ */
++ lex->trg_table_fields.link_in_list(trg_fld,
++ &trg_fld->next_trg_field);
++
++ (yyval.item)= trg_fld;
++ }
++ else
++ {
++ SELECT_LEX *sel= lex->current_select;
++ if (sel->no_table_names_allowed)
++ {
++ my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
++ MYF(0), (yyvsp[-2].lex_str).str, thd->where);
++ }
++ if ((sel->parsing_place != IN_HAVING) ||
++ (sel->get_in_sum_expr() > 0))
++ {
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++ }
++ else
++ {
++ (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++ NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++ }
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++ }
++#line 32416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1948:
++#line 12726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ SELECT_LEX *sel= lex->current_select;
++ if (sel->no_table_names_allowed)
++ {
++ my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
++ MYF(0), (yyvsp[-2].lex_str).str, thd->where);
++ }
++ if ((sel->parsing_place != IN_HAVING) ||
++ (sel->get_in_sum_expr() > 0))
++ {
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++
++ }
++ else
++ {
++ (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++ NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++ }
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1949:
++#line 12750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ SELECT_LEX *sel= lex->current_select;
++ const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ?
++ NullS : (yyvsp[-4].lex_str).str);
++ if (sel->no_table_names_allowed)
++ {
++ my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
++ MYF(0), (yyvsp[-2].lex_str).str, thd->where);
++ }
++ if ((sel->parsing_place != IN_HAVING) ||
++ (sel->get_in_sum_expr() > 0))
++ {
++ (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++ schema,
++ (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++ }
++ else
++ {
++ (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++ schema,
++ (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++ }
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1950:
++#line 12779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1951:
++#line 12781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ TABLE_LIST *table= Select->table_list.first;
++ if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db))
++ {
++ my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-4].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str,
++ table->table_name))
++ {
++ my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ (yyval.lex_str)=(yyvsp[0].lex_str);
++ }
++#line 32501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1952:
++#line 12797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ TABLE_LIST *table= Select->table_list.first;
++ if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias))
++ {
++ my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ (yyval.lex_str)=(yyvsp[0].lex_str);
++ }
++#line 32515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1953:
++#line 12806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1954:
++#line 12811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.table)= new Table_ident((yyvsp[0].lex_str));
++ if ((yyval.table) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1955:
++#line 12817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.table)= new Table_ident(thd, (yyvsp[-2].lex_str),(yyvsp[0].lex_str),0);
++ if ((yyval.table) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1956:
++#line 12823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /* For Delphi */
++ (yyval.table)= new Table_ident((yyvsp[0].lex_str));
++ if ((yyval.table) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1957:
++#line 12833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.table)= new Table_ident((yyvsp[-1].lex_str));
++ if ((yyval.table) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1958:
++#line 12839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.table)= new Table_ident(thd, (yyvsp[-3].lex_str),(yyvsp[-1].lex_str),0);
++ if ((yyval.table) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1959:
++#line 12848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX_STRING db={(char*) any_db,3};
++ (yyval.table)= new Table_ident(thd, db,(yyvsp[0].lex_str),0);
++ if ((yyval.table) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 32583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1960:
++#line 12857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 32589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1961:
++#line 12859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (thd->charset_is_system_charset)
++ {
++ CHARSET_INFO *cs= system_charset_info;
++ int dummy_error;
++ uint wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lex_str).str,
++ (yyvsp[0].lex_str).str+(yyvsp[0].lex_str).length,
++ (yyvsp[0].lex_str).length, &dummy_error);
++ if (wlen < (yyvsp[0].lex_str).length)
++ {
++ ErrConvString err((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, &my_charset_bin);
++ my_error(ER_INVALID_CHARACTER_STRING, MYF(0),
++ cs->csname, err.ptr());
++ MYSQL_YYABORT;
++ }
++ (yyval.lex_str)= (yyvsp[0].lex_str);
++ }
++ else
++ {
++ if (thd->convert_string(&(yyval.lex_str), system_charset_info,
++ (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++ MYSQL_YYABORT;
++ }
++ }
++#line 32618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1962:
++#line 12887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (thd->charset_is_system_charset)
++ (yyval.lex_str)= (yyvsp[0].lex_str);
++ else
++ {
++ if (thd->convert_string(&(yyval.lex_str), system_charset_info,
++ (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++ MYSQL_YYABORT;
++ }
++ }
++#line 32633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1963:
++#line 12901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (thd->charset_is_collation_connection)
++ (yyval.lex_str)= (yyvsp[0].lex_str);
++ else
++ {
++ if (thd->convert_string(&(yyval.lex_str), thd->variables.collation_connection,
++ (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++ MYSQL_YYABORT;
++ }
++ }
++#line 32648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1964:
++#line 12915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (thd->charset_is_character_set_filesystem)
++ (yyval.lex_str)= (yyvsp[0].lex_str);
++ else
++ {
++ if (thd->convert_string(&(yyval.lex_str),
++ thd->variables.character_set_filesystem,
++ (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++ MYSQL_YYABORT;
++ }
++ }
++#line 32664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1965:
++#line 12929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 32670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1966:
++#line 12931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
++ if ((yyval.lex_str).str == NULL)
++ MYSQL_YYABORT;
++ (yyval.lex_str).length= (yyvsp[0].symbol).length;
++ }
++#line 32681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1967:
++#line 12940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 32687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1968:
++#line 12942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
++ if ((yyval.lex_str).str == NULL)
++ MYSQL_YYABORT;
++ (yyval.lex_str).length= (yyvsp[0].symbol).length;
++ }
++#line 32698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1969:
++#line 12951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1970:
++#line 12952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1971:
++#line 12953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1972:
++#line 12958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
++ MYSQL_YYABORT;
++ (yyval.lex_user)->user = (yyvsp[0].lex_str);
++ (yyval.lex_user)->host.str= (char *) "%";
++ (yyval.lex_user)->host.length= 1;
++ (yyval.lex_user)->password= null_lex_str;
++ (yyval.lex_user)->plugin= empty_lex_str;
++ (yyval.lex_user)->auth= empty_lex_str;
++
++ if (check_string_char_length(&(yyval.lex_user)->user, ER(ER_USERNAME),
++ username_char_length,
++ system_charset_info, 0))
++ MYSQL_YYABORT;
++ }
++#line 32736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1973:
++#line 12974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
++ MYSQL_YYABORT;
++ (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str);
++ (yyval.lex_user)->password= null_lex_str;
++ (yyval.lex_user)->plugin= empty_lex_str;
++ (yyval.lex_user)->auth= empty_lex_str;
++
++ if (check_string_char_length(&(yyval.lex_user)->user, ER(ER_USERNAME),
++ username_char_length,
++ system_charset_info, 0) ||
++ check_host_name(&(yyval.lex_user)->host))
++ MYSQL_YYABORT;
++ /*
++ Convert hostname part of username to lowercase.
++ It's OK to use in-place lowercase as long as
++ the character set is utf8.
++ */
++ my_casedn_str(system_charset_info, (yyval.lex_user)->host.str);
++ }
++#line 32761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1974:
++#line 12995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
++ MYSQL_YYABORT;
++ /*
++ empty LEX_USER means current_user and
++ will be handled in the get_current_user() function
++ later
++ */
++ bzero((yyval.lex_user), sizeof(LEX_USER));
++ }
++#line 32776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1975:
++#line 13009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1976:
++#line 13010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1977:
++#line 13011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1978:
++#line 13012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1979:
++#line 13013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1980:
++#line 13014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1981:
++#line 13015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1982:
++#line 13016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1983:
++#line 13017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32830 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1984:
++#line 13018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1985:
++#line 13019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1986:
++#line 13020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1987:
++#line 13021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1988:
++#line 13022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1989:
++#line 13023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1990:
++#line 13024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1991:
++#line 13025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1992:
++#line 13026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1993:
++#line 13027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1994:
++#line 13028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1995:
++#line 13029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1996:
++#line 13030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1997:
++#line 13031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1998:
++#line 13032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 1999:
++#line 13033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2000:
++#line 13034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2001:
++#line 13035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2002:
++#line 13036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2003:
++#line 13037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2004:
++#line 13038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2005:
++#line 13039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2006:
++#line 13040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2007:
++#line 13041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2008:
++#line 13042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2009:
++#line 13043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2010:
++#line 13044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2011:
++#line 13045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 32998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2012:
++#line 13046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2013:
++#line 13047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2014:
++#line 13048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2015:
++#line 13049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2016:
++#line 13050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2017:
++#line 13051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2018:
++#line 13052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2019:
++#line 13053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2020:
++#line 13054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2021:
++#line 13055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2022:
++#line 13056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2023:
++#line 13057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33070 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2024:
++#line 13058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2025:
++#line 13059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2026:
++#line 13060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2027:
++#line 13061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2028:
++#line 13062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2029:
++#line 13063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2030:
++#line 13064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33112 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2031:
++#line 13065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2032:
++#line 13066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33124 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2033:
++#line 13067 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2034:
++#line 13077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2035:
++#line 13078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2036:
++#line 13079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2037:
++#line 13080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2038:
++#line 13081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2039:
++#line 13082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2040:
++#line 13083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2041:
++#line 13084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33178 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2042:
++#line 13085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2043:
++#line 13086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2044:
++#line 13087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33196 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2045:
++#line 13088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2046:
++#line 13089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2047:
++#line 13090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33214 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2048:
++#line 13091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2049:
++#line 13092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33226 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2050:
++#line 13093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33232 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2051:
++#line 13094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2052:
++#line 13095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2053:
++#line 13096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2054:
++#line 13097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33256 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2055:
++#line 13098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2056:
++#line 13099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2057:
++#line 13100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2058:
++#line 13101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2059:
++#line 13102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2060:
++#line 13103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2061:
++#line 13104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2062:
++#line 13105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2063:
++#line 13106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2064:
++#line 13107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2065:
++#line 13108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33322 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2066:
++#line 13109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2067:
++#line 13110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2068:
++#line 13111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2069:
++#line 13112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2070:
++#line 13113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33352 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2071:
++#line 13114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2072:
++#line 13115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2073:
++#line 13116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33370 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2074:
++#line 13117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33376 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2075:
++#line 13118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2076:
++#line 13119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33388 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2077:
++#line 13120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2078:
++#line 13121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33400 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2079:
++#line 13122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2080:
++#line 13123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33412 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2081:
++#line 13124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2082:
++#line 13125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2083:
++#line 13126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2084:
++#line 13127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2085:
++#line 13128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2086:
++#line 13129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2087:
++#line 13130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2088:
++#line 13131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2089:
++#line 13132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2090:
++#line 13133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2091:
++#line 13134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2092:
++#line 13135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2093:
++#line 13136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2094:
++#line 13137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2095:
++#line 13138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2096:
++#line 13139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2097:
++#line 13140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2098:
++#line 13141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2099:
++#line 13142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2100:
++#line 13143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2101:
++#line 13144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2102:
++#line 13145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2103:
++#line 13146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2104:
++#line 13147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2105:
++#line 13148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2106:
++#line 13149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2107:
++#line 13150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2108:
++#line 13151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2109:
++#line 13152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2110:
++#line 13153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2111:
++#line 13154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2112:
++#line 13155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2113:
++#line 13156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2114:
++#line 13157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2115:
++#line 13158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2116:
++#line 13159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2117:
++#line 13160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2118:
++#line 13161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2119:
++#line 13162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2120:
++#line 13163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2121:
++#line 13164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2122:
++#line 13165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2123:
++#line 13166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2124:
++#line 13167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2125:
++#line 13168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2126:
++#line 13169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2127:
++#line 13170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2128:
++#line 13171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2129:
++#line 13172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2130:
++#line 13173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2131:
++#line 13174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2132:
++#line 13175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2133:
++#line 13176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2134:
++#line 13177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2135:
++#line 13178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2136:
++#line 13179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2137:
++#line 13180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2138:
++#line 13181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2139:
++#line 13182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2140:
++#line 13183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2141:
++#line 13184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2142:
++#line 13185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2143:
++#line 13186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2144:
++#line 13187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2145:
++#line 13188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2146:
++#line 13189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2147:
++#line 13190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2148:
++#line 13191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2149:
++#line 13192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2150:
++#line 13193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2151:
++#line 13194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2152:
++#line 13195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2153:
++#line 13196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2154:
++#line 13197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2155:
++#line 13198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2156:
++#line 13199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2157:
++#line 13200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2158:
++#line 13201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2159:
++#line 13202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2160:
++#line 13203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2161:
++#line 13204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2162:
++#line 13205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2163:
++#line 13206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2164:
++#line 13207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2165:
++#line 13208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2166:
++#line 13209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2167:
++#line 13210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2168:
++#line 13211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2169:
++#line 13212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2170:
++#line 13213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2171:
++#line 13214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2172:
++#line 13215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2173:
++#line 13216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2174:
++#line 13217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2175:
++#line 13218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2176:
++#line 13219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2177:
++#line 13220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 33994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2178:
++#line 13221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2179:
++#line 13222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2180:
++#line 13223 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2181:
++#line 13224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2182:
++#line 13225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2183:
++#line 13226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2184:
++#line 13227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2185:
++#line 13228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2186:
++#line 13229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2187:
++#line 13230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2188:
++#line 13231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2189:
++#line 13232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2190:
++#line 13233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2191:
++#line 13234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2192:
++#line 13235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2193:
++#line 13236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2194:
++#line 13237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2195:
++#line 13238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2196:
++#line 13239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2197:
++#line 13240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2198:
++#line 13241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2199:
++#line 13242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2200:
++#line 13243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2201:
++#line 13244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2202:
++#line 13245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2203:
++#line 13246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2204:
++#line 13247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2205:
++#line 13248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2206:
++#line 13249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2207:
++#line 13250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2208:
++#line 13251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2209:
++#line 13252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2210:
++#line 13253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2211:
++#line 13254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2212:
++#line 13255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2213:
++#line 13256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2214:
++#line 13257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2215:
++#line 13258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2216:
++#line 13259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2217:
++#line 13260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2218:
++#line 13261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2219:
++#line 13262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2220:
++#line 13263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2221:
++#line 13264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2222:
++#line 13265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2223:
++#line 13266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2224:
++#line 13267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2225:
++#line 13268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2226:
++#line 13269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2227:
++#line 13270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2228:
++#line 13271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2229:
++#line 13272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2230:
++#line 13273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2231:
++#line 13274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2232:
++#line 13275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2233:
++#line 13276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2234:
++#line 13277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2235:
++#line 13278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2236:
++#line 13279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2237:
++#line 13280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2238:
++#line 13281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2239:
++#line 13282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2240:
++#line 13283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2241:
++#line 13284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2242:
++#line 13285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2243:
++#line 13286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2244:
++#line 13287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2245:
++#line 13288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2246:
++#line 13289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2247:
++#line 13290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2248:
++#line 13291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2249:
++#line 13292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2250:
++#line 13293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2251:
++#line 13294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2252:
++#line 13295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2253:
++#line 13296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2254:
++#line 13297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2255:
++#line 13298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2256:
++#line 13299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2257:
++#line 13300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2258:
++#line 13301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2259:
++#line 13302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2260:
++#line 13303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2261:
++#line 13304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2262:
++#line 13305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2263:
++#line 13306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2264:
++#line 13307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2265:
++#line 13308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2266:
++#line 13309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2267:
++#line 13310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2268:
++#line 13311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2269:
++#line 13312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2270:
++#line 13313 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2271:
++#line 13314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2272:
++#line 13315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2273:
++#line 13316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2274:
++#line 13317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2275:
++#line 13318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2276:
++#line 13319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2277:
++#line 13320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2278:
++#line 13321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2279:
++#line 13322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2280:
++#line 13323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2281:
++#line 13324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2282:
++#line 13325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2283:
++#line 13326 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2284:
++#line 13327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2285:
++#line 13328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2286:
++#line 13329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2287:
++#line 13330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2288:
++#line 13331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2289:
++#line 13332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2290:
++#line 13333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2291:
++#line 13334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2292:
++#line 13335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2293:
++#line 13336 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2294:
++#line 13337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2295:
++#line 13338 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2296:
++#line 13339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2297:
++#line 13340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2298:
++#line 13341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2299:
++#line 13342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2300:
++#line 13343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2301:
++#line 13344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2302:
++#line 13345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2303:
++#line 13346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2304:
++#line 13347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2305:
++#line 13348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2306:
++#line 13349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2307:
++#line 13350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2308:
++#line 13351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2309:
++#line 13352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2310:
++#line 13353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2311:
++#line 13354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2312:
++#line 13355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2313:
++#line 13356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2314:
++#line 13357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2315:
++#line 13358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2316:
++#line 13359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2317:
++#line 13360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2318:
++#line 13361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2319:
++#line 13362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2320:
++#line 13363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2321:
++#line 13364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2322:
++#line 13365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2323:
++#line 13366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2324:
++#line 13367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2325:
++#line 13368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2326:
++#line 13369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2327:
++#line 13376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SET_OPTION;
++ mysql_init_select(lex);
++ lex->option_type=OPT_SESSION;
++ lex->var_list.empty();
++ lex->one_shot_set= 0;
++ lex->autocommit= 0;
++ }
++#line 34902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2328:
++#line 13386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2329:
++#line 13390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2330:
++#line 13391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 34920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2333:
++#line 13400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++
++ if (lex->sphead)
++ {
++ /*
++ If we are in SP we want have own LEX for each assignment.
++ This is mostly because it is hard for several sp_instr_set
++ and sp_instr_set_trigger instructions share one LEX.
++ (Well, it is theoretically possible but adds some extra
++ overhead on preparation for execution stage and IMO less
++ robust).
++
++ QQ: May be we should simply prohibit group assignments in SP?
++ */
++ lex->sphead->reset_lex(thd);
++ lex= thd->lex;
++
++ /* Set new LEX as if we at start of set rule. */
++ lex->sql_command= SQLCOM_SET_OPTION;
++ mysql_init_select(lex);
++ lex->option_type=OPT_SESSION;
++ lex->var_list.empty();
++ lex->one_shot_set= 0;
++ lex->autocommit= 0;
++ lex->sphead->m_tmp_query= lip->get_tok_start();
++ }
++ }
++#line 34954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2334:
++#line 13430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++
++ if (lex->sphead)
++ {
++ sp_head *sp= lex->sphead;
++
++ if (!lex->var_list.is_empty())
++ {
++ /*
++ We have assignment to user or system variable or
++ option setting, so we should construct sp_instr_stmt
++ for it.
++ */
++ LEX_STRING qbuff;
++ sp_instr_stmt *i;
++
++ if (!(i= new sp_instr_stmt(sp->instructions(), lex->spcont,
++ lex)))
++ MYSQL_YYABORT;
++
++ /*
++ Extract the query statement from the tokenizer. The
++ end is either lip->ptr, if there was no lookahead,
++ lip->tok_end otherwise.
++ */
++ if (yychar == YYEMPTY)
++ qbuff.length= lip->get_ptr() - sp->m_tmp_query;
++ else
++ qbuff.length= lip->get_tok_end() - sp->m_tmp_query;
++
++ if (!(qbuff.str= (char*) alloc_root(thd->mem_root,
++ qbuff.length + 5)))
++ MYSQL_YYABORT;
++
++ strmake(strmake(qbuff.str, "SET ", 4), sp->m_tmp_query,
++ qbuff.length);
++ qbuff.length+= 4;
++ i->m_query= qbuff;
++ if (sp->add_instr(i))
++ MYSQL_YYABORT;
++ }
++ if (lex->sphead->restore_lex(thd))
++ MYSQL_YYABORT;
++ }
++ }
++#line 35006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2335:
++#line 13480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2336:
++#line 13481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_GLOBAL; }
++#line 35018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2337:
++#line 13482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2338:
++#line 13483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2339:
++#line 13487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= OPT_DEFAULT; }
++#line 35036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2340:
++#line 13488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->one_shot_set= 1; (yyval.num)= OPT_SESSION; }
++#line 35042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2341:
++#line 13492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2342:
++#line 13493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_GLOBAL; }
++#line 35054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2343:
++#line 13494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2344:
++#line 13495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2345:
++#line 13499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_DEFAULT; }
++#line 35072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2346:
++#line 13500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_GLOBAL; }
++#line 35078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2347:
++#line 13501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2348:
++#line 13502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.var_type)=OPT_SESSION; }
++#line 35090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2351:
++#line 13512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ LEX_STRING *name= &(yyvsp[-2].variable).base_name;
++
++ if ((yyvsp[-2].variable).var == trg_new_row_fake_var)
++ {
++ /* We are in trigger and assigning value to field of new row */
++ if ((yyvsp[-3].var_type))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (set_trigger_new_row(thd, name, (yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++ else if ((yyvsp[-2].variable).var)
++ {
++ if ((yyvsp[-3].var_type))
++ lex->option_type= (yyvsp[-3].var_type);
++
++ /* It is a system variable. */
++ if (set_system_variable(thd, &(yyvsp[-2].variable), lex->option_type, (yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++ else
++ {
++ sp_pcontext *spc= lex->spcont;
++ sp_variable_t *spv= spc->find_variable(name);
++
++ if ((yyvsp[-3].var_type))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++
++ /* It is a local variable. */
++ if (set_local_variable(thd, spv, (yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++ }
++#line 35135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2352:
++#line 13553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->option_type= (yyvsp[-4].var_type);
++ Item *item= new (thd->mem_root) Item_int((int32) (yyvsp[0].tx_isolation));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ set_var *var= new set_var(lex->option_type,
++ find_sys_var(thd, "tx_isolation"),
++ &null_lex_str,
++ item);
++ if (var == NULL)
++ MYSQL_YYABORT;
++ lex->var_list.push_back(var);
++ }
++#line 35154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2353:
++#line 13571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Item_func_set_user_var *item;
++ item= new (thd->mem_root) Item_func_set_user_var((yyvsp[-2].lex_str), (yyvsp[0].item));
++ if (item == NULL)
++ MYSQL_YYABORT;
++ set_var_user *var= new set_var_user(item);
++ if (var == NULL)
++ MYSQL_YYABORT;
++ Lex->var_list.push_back(var);
++ }
++#line 35169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2354:
++#line 13582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ struct sys_var_with_base tmp= (yyvsp[-2].variable);
++ /* Lookup if necessary: must be a system variable. */
++ if (tmp.var == NULL)
++ {
++ if (find_sys_var_null_base(thd, &tmp))
++ MYSQL_YYABORT;
++ }
++ if (set_system_variable(thd, &tmp, (yyvsp[-3].var_type), (yyvsp[0].item)))
++ MYSQL_YYABORT;
++ }
++#line 35185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2355:
++#line 13594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ CHARSET_INFO *cs2;
++ cs2= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client;
++ set_var_collation_client *var;
++ var= new set_var_collation_client(cs2,
++ thd->variables.collation_database,
++ cs2);
++ if (var == NULL)
++ MYSQL_YYABORT;
++ lex->var_list.push_back(var);
++ }
++#line 35202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2356:
++#line 13607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_pcontext *spc= lex->spcont;
++ LEX_STRING names;
++
++ names.str= (char *)"names";
++ names.length= 5;
++ if (spc && spc->find_variable(&names))
++ my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), names.str);
++ else
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++
++ MYSQL_YYABORT;
++ }
++#line 35221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2357:
++#line 13622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ CHARSET_INFO *cs2;
++ CHARSET_INFO *cs3;
++ cs2= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client;
++ cs3= (yyvsp[0].charset) ? (yyvsp[0].charset) : cs2;
++ if (!my_charset_same(cs2, cs3))
++ {
++ my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
++ cs3->name, cs2->csname);
++ MYSQL_YYABORT;
++ }
++ set_var_collation_client *var;
++ var= new set_var_collation_client(cs3, cs3, cs3);
++ if (var == NULL)
++ MYSQL_YYABORT;
++ lex->var_list.push_back(var);
++ }
++#line 35244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2358:
++#line 13641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ LEX_USER *user;
++ sp_pcontext *spc= lex->spcont;
++ LEX_STRING pw;
++
++ pw.str= (char *)"password";
++ pw.length= 8;
++ if (spc && spc->find_variable(&pw))
++ {
++ my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), pw.str);
++ MYSQL_YYABORT;
++ }
++ if (!(user=(LEX_USER*) thd->alloc(sizeof(LEX_USER))))
++ MYSQL_YYABORT;
++ user->host=null_lex_str;
++ user->user.str=thd->security_ctx->user;
++ set_var_password *var= new set_var_password(user, (yyvsp[0].simple_string));
++ if (var == NULL)
++ MYSQL_YYABORT;
++ thd->lex->var_list.push_back(var);
++ thd->lex->autocommit= TRUE;
++ if (lex->sphead)
++ lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
++ }
++#line 35274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2359:
++#line 13667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ set_var_password *var= new set_var_password((yyvsp[-2].lex_user),(yyvsp[0].simple_string));
++ if (var == NULL)
++ MYSQL_YYABORT;
++ Lex->var_list.push_back(var);
++ Lex->autocommit= TRUE;
++ if (Lex->sphead)
++ Lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
++ }
++#line 35288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2360:
++#line 13680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ sp_pcontext *spc= thd->lex->spcont;
++ sp_variable_t *spv;
++
++ /* Best effort lookup for system variable. */
++ if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
++ {
++ struct sys_var_with_base tmp= {NULL, (yyvsp[0].lex_str)};
++
++ /* Not an SP local variable */
++ if (find_sys_var_null_base(thd, &tmp))
++ MYSQL_YYABORT;
++
++ (yyval.variable)= tmp;
++ }
++ else
++ {
++ /*
++ Possibly an SP local variable (or a shadowed sysvar).
++ Will depend on the context of the SET statement.
++ */
++ (yyval.variable).var= NULL;
++ (yyval.variable).base_name= (yyvsp[0].lex_str);
++ }
++ }
++#line 35318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2361:
++#line 13706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (check_reserved_words(&(yyvsp[-2].lex_str)))
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER &&
++ (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "NEW") ||
++ !my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "OLD")))
++ {
++ if ((yyvsp[-2].lex_str).str[0]=='O' || (yyvsp[-2].lex_str).str[0]=='o')
++ {
++ my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "OLD", "");
++ MYSQL_YYABORT;
++ }
++ if (lex->trg_chistics.event == TRG_EVENT_DELETE)
++ {
++ my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0),
++ "NEW", "on DELETE");
++ MYSQL_YYABORT;
++ }
++ if (lex->trg_chistics.action_time == TRG_ACTION_AFTER)
++ {
++ my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "NEW", "after ");
++ MYSQL_YYABORT;
++ }
++ /* This special combination will denote field of NEW row */
++ (yyval.variable).var= trg_new_row_fake_var;
++ (yyval.variable).base_name= (yyvsp[0].lex_str);
++ }
++ else
++ {
++ sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (!tmp)
++ MYSQL_YYABORT;
++ if (!tmp->is_struct())
++ my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[0].lex_str).str);
++ (yyval.variable).var= tmp;
++ (yyval.variable).base_name= (yyvsp[-2].lex_str);
++ }
++ }
++#line 35365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2362:
++#line 13749 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ if (!tmp)
++ MYSQL_YYABORT;
++ if (!tmp->is_struct())
++ my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[0].lex_str).str);
++ (yyval.variable).var= tmp;
++ (yyval.variable).base_name.str= (char*) "default";
++ (yyval.variable).base_name.length= 7;
++ }
++#line 35380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2363:
++#line 13762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
++#line 35386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2364:
++#line 13763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
++#line 35392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2365:
++#line 13764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
++#line 35398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2366:
++#line 13765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
++#line 35404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2367:
++#line 13769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.simple_string)=(yyvsp[0].lex_str).str;}
++#line 35410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2368:
++#line 13771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.simple_string)= (yyvsp[-1].lex_str).length ? thd->variables.old_passwords ?
++ Item_func_old_password::alloc(thd, (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length) :
++ Item_func_password::alloc(thd, (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length) :
++ (yyvsp[-1].lex_str).str;
++ if ((yyval.simple_string) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 35423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2369:
++#line 13780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.simple_string)= (yyvsp[-1].lex_str).length ? Item_func_old_password::alloc(thd, (yyvsp[-1].lex_str).str,
++ (yyvsp[-1].lex_str).length) :
++ (yyvsp[-1].lex_str).str;
++ if ((yyval.simple_string) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 35435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2370:
++#line 13791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)=(yyvsp[0].item); }
++#line 35441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2371:
++#line 13792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.item)=0; }
++#line 35447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2372:
++#line 13794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)=new (thd->mem_root) Item_string("ON", 2, system_charset_info);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 35457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2373:
++#line 13800 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)=new (thd->mem_root) Item_string("ALL", 3, system_charset_info);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 35467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2374:
++#line 13806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.item)=new (thd->mem_root) Item_string("binary", 6, system_charset_info);
++ if ((yyval.item) == NULL)
++ MYSQL_YYABORT;
++ }
++#line 35477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2375:
++#line 13817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "LOCK");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_LOCK_TABLES;
++ }
++#line 35492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2376:
++#line 13828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2377:
++#line 13832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 35504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2378:
++#line 13833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { }
++#line 35510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2381:
++#line 13843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num);
++ bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE);
++ if (!Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), 0, lock_type,
++ (lock_for_write ?
++ lock_type == TL_WRITE_CONCURRENT_INSERT ?
++ MDL_SHARED_WRITE :
++ MDL_SHARED_NO_READ_WRITE :
++ MDL_SHARED_READ)))
++ MYSQL_YYABORT;
++ }
++#line 35526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2382:
++#line 13857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= TL_READ_NO_INSERT; }
++#line 35532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2383:
++#line 13858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= TL_WRITE_DEFAULT; }
++#line 35538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2384:
++#line 13860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
++ }
++#line 35546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2385:
++#line 13864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= TL_WRITE_LOW_PRIORITY; }
++#line 35552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2386:
++#line 13865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= TL_READ; }
++#line 35558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2387:
++#line 13870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "UNLOCK");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_UNLOCK_TABLES;
++ }
++#line 35573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2388:
++#line 13881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2389:
++#line 13890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command = SQLCOM_HA_OPEN;
++ if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0))
++ MYSQL_YYABORT;
++ }
++#line 35595 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2390:
++#line 13902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER");
++ MYSQL_YYABORT;
++ }
++ lex->sql_command = SQLCOM_HA_CLOSE;
++ if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
++ MYSQL_YYABORT;
++ }
++#line 35611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2391:
++#line 13914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->sphead)
++ {
++ my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER");
++ MYSQL_YYABORT;
++ }
++ lex->expr_allows_subselect= FALSE;
++ lex->sql_command = SQLCOM_HA_READ;
++ lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */
++ Item *one= new (thd->mem_root) Item_int((int32) 1);
++ if (one == NULL)
++ MYSQL_YYABORT;
++ lex->current_select->select_limit= one;
++ lex->current_select->offset_limit= 0;
++ lex->limit_rows_examined= 0;
++ if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
++ MYSQL_YYABORT;
++ }
++#line 35635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2392:
++#line 13934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->expr_allows_subselect= TRUE;
++ /* Stored functions are not supported for HANDLER READ. */
++ if (Lex->uses_stored_routines())
++ {
++ my_error(ER_NOT_SUPPORTED_YET, MYF(0),
++ "stored functions in HANDLER ... READ");
++ MYSQL_YYABORT;
++ }
++ }
++#line 35650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2393:
++#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ident= null_lex_str; }
++#line 35656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2394:
++#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ident= (yyvsp[-1].lex_str); }
++#line 35662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2395:
++#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ha_read_mode = RFIRST; }
++#line 35668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2396:
++#line 13953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ha_read_mode = RNEXT; }
++#line 35674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2397:
++#line 13957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ha_read_mode = RFIRST; }
++#line 35680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2398:
++#line 13958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ha_read_mode = RNEXT; }
++#line 35686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2399:
++#line 13959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ha_read_mode = RPREV; }
++#line 35692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2400:
++#line 13960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->ha_read_mode = RLAST; }
++#line 35698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2401:
++#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->ha_read_mode = RKEY;
++ lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode);
++ if (!(lex->insert_list = new List_item))
++ MYSQL_YYABORT;
++ }
++#line 35710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2402:
++#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2403:
++#line 13974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; }
++#line 35722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2404:
++#line 13975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
++#line 35728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2405:
++#line 13976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
++#line 35734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2406:
++#line 13977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; }
++#line 35740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2407:
++#line 13978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; }
++#line 35746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2408:
++#line 13985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2409:
++#line 13990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_REVOKE;
++ lex->type= 0;
++ }
++#line 35762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2410:
++#line 13996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->columns.elements)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_REVOKE;
++ lex->type= TYPE_ENUM_FUNCTION;
++ }
++#line 35777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2411:
++#line 14007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->columns.elements)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_REVOKE;
++ lex->type= TYPE_ENUM_PROCEDURE;
++ }
++#line 35792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2412:
++#line 14018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_REVOKE_ALL;
++ }
++#line 35800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2413:
++#line 14022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->users_list.push_front ((yyvsp[-2].lex_user));
++ lex->sql_command= SQLCOM_REVOKE;
++ lex->type= TYPE_ENUM_PROXY;
++ }
++#line 35811 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2414:
++#line 14032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2415:
++#line 14038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_GRANT;
++ lex->type= 0;
++ }
++#line 35827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2416:
++#line 14045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->columns.elements)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_GRANT;
++ lex->type= TYPE_ENUM_FUNCTION;
++ }
++#line 35842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2417:
++#line 14057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ if (lex->columns.elements)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ lex->sql_command= SQLCOM_GRANT;
++ lex->type= TYPE_ENUM_PROCEDURE;
++ }
++#line 35857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2418:
++#line 14068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->users_list.push_front ((yyvsp[-3].lex_user));
++ lex->sql_command= SQLCOM_GRANT;
++ lex->type= TYPE_ENUM_PROXY;
++ }
++#line 35868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2421:
++#line 14082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2422:
++#line 14084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->all_privileges= 1;
++ Lex->grant= GLOBAL_ACLS;
++ }
++#line 35883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2427:
++#line 14102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->which_columns = SELECT_ACL;}
++#line 35889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2428:
++#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2429:
++#line 14105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->which_columns = INSERT_ACL;}
++#line 35901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2430:
++#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2431:
++#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->which_columns = UPDATE_ACL; }
++#line 35913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2432:
++#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2433:
++#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->which_columns = REFERENCES_ACL;}
++#line 35925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2434:
++#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2435:
++#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= DELETE_ACL;}
++#line 35937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2436:
++#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 35943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2437:
++#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= INDEX_ACL;}
++#line 35949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2438:
++#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= ALTER_ACL;}
++#line 35955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2439:
++#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= CREATE_ACL;}
++#line 35961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2440:
++#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= DROP_ACL;}
++#line 35967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2441:
++#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= EXECUTE_ACL;}
++#line 35973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2442:
++#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= RELOAD_ACL;}
++#line 35979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2443:
++#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= SHUTDOWN_ACL;}
++#line 35985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2444:
++#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= PROCESS_ACL;}
++#line 35991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2445:
++#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= FILE_ACL;}
++#line 35997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2446:
++#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= GRANT_ACL;}
++#line 36003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2447:
++#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= SHOW_DB_ACL;}
++#line 36009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2448:
++#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= SUPER_ACL;}
++#line 36015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2449:
++#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= CREATE_TMP_ACL;}
++#line 36021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2450:
++#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= LOCK_TABLES_ACL; }
++#line 36027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2451:
++#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= REPL_SLAVE_ACL; }
++#line 36033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2452:
++#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= REPL_CLIENT_ACL; }
++#line 36039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2453:
++#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= CREATE_VIEW_ACL; }
++#line 36045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2454:
++#line 14132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= SHOW_VIEW_ACL; }
++#line 36051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2455:
++#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= CREATE_PROC_ACL; }
++#line 36057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2456:
++#line 14134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= ALTER_PROC_ACL; }
++#line 36063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2457:
++#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= CREATE_USER_ACL; }
++#line 36069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2458:
++#line 14136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= EVENT_ACL;}
++#line 36075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2459:
++#line 14137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= TRIGGER_ACL; }
++#line 36081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2460:
++#line 14138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= CREATE_TABLESPACE_ACL; }
++#line 36087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2461:
++#line 14142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2462:
++#line 14143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2465:
++#line 14153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->x509_subject)
++ {
++ my_error(ER_DUP_ARGUMENT, MYF(0), "SUBJECT");
++ MYSQL_YYABORT;
++ }
++ lex->x509_subject=(yyvsp[0].lex_str).str;
++ }
++#line 36113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2466:
++#line 14163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->x509_issuer)
++ {
++ my_error(ER_DUP_ARGUMENT, MYF(0), "ISSUER");
++ MYSQL_YYABORT;
++ }
++ lex->x509_issuer=(yyvsp[0].lex_str).str;
++ }
++#line 36127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2467:
++#line 14173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (lex->ssl_cipher)
++ {
++ my_error(ER_DUP_ARGUMENT, MYF(0), "CIPHER");
++ MYSQL_YYABORT;
++ }
++ lex->ssl_cipher=(yyvsp[0].lex_str).str;
++ }
++#line 36141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2468:
++#line 14186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ size_t dummy;
++ if (lex->copy_db_to(&lex->current_select->db, &dummy))
++ MYSQL_YYABORT;
++ if (lex->grant == GLOBAL_ACLS)
++ lex->grant = DB_ACLS & ~GRANT_ACL;
++ else if (lex->columns.elements)
++ {
++ my_message(ER_ILLEGAL_GRANT_FOR_TABLE,
++ ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 36160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2469:
++#line 14201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->current_select->db = (yyvsp[-2].lex_str).str;
++ if (lex->grant == GLOBAL_ACLS)
++ lex->grant = DB_ACLS & ~GRANT_ACL;
++ else if (lex->columns.elements)
++ {
++ my_message(ER_ILLEGAL_GRANT_FOR_TABLE,
++ ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 36177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2470:
++#line 14214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->current_select->db = NULL;
++ if (lex->grant == GLOBAL_ACLS)
++ lex->grant= GLOBAL_ACLS & ~GRANT_ACL;
++ else if (lex->columns.elements)
++ {
++ my_message(ER_ILLEGAL_GRANT_FOR_TABLE,
++ ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0));
++ MYSQL_YYABORT;
++ }
++ }
++#line 36194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2471:
++#line 14227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,
++ TL_OPTION_UPDATING))
++ MYSQL_YYABORT;
++ if (lex->grant == GLOBAL_ACLS)
++ lex->grant = TABLE_ACLS & ~GRANT_ACL;
++ }
++#line 36207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2472:
++#line 14239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++ MYSQL_YYABORT;
++ }
++#line 36216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2473:
++#line 14244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++ MYSQL_YYABORT;
++ }
++#line 36225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2474:
++#line 14252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++ MYSQL_YYABORT;
++ }
++#line 36234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2475:
++#line 14257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++ MYSQL_YYABORT;
++ }
++#line 36243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2480:
++#line 14268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->password=(yyvsp[0].lex_str);
++ if ((yyvsp[0].lex_str).length)
++ {
++ if (thd->variables.old_passwords)
++ {
++ char *buff=
++ (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
++ if (buff == NULL)
++ MYSQL_YYABORT;
++ my_make_scrambled_password_323(buff, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ (yyvsp[-3].lex_user)->password.str= buff;
++ (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323;
++ }
++ else
++ {
++ char *buff=
++ (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
++ if (buff == NULL)
++ MYSQL_YYABORT;
++ my_make_scrambled_password(buff, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++ (yyvsp[-3].lex_user)->password.str= buff;
++ (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH;
++ }
++ }
++ }
++#line 36274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2481:
++#line 14295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_user)= (yyvsp[-4].lex_user);
++ (yyvsp[-4].lex_user)->password= (yyvsp[0].lex_str);
++ }
++#line 36283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2482:
++#line 14300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_user)= (yyvsp[-3].lex_user);
++ (yyvsp[-3].lex_user)->plugin= (yyvsp[0].lex_str);
++ (yyvsp[-3].lex_user)->auth= empty_lex_str;
++ }
++#line 36293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2483:
++#line 14306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.lex_user)= (yyvsp[-5].lex_user);
++ (yyvsp[-5].lex_user)->plugin= (yyvsp[-2].lex_str);
++ (yyvsp[-5].lex_user)->auth= (yyvsp[0].lex_str);
++ }
++#line 36303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2484:
++#line 14312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.lex_user)= (yyvsp[0].lex_user); (yyvsp[0].lex_user)->password= null_lex_str; }
++#line 36309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2485:
++#line 14317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->grant |= lex->which_columns;
++ }
++#line 36318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2489:
++#line 14331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ String *new_str = new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
++ if (new_str == NULL)
++ MYSQL_YYABORT;
++ List_iterator <LEX_COLUMN> iter(Lex->columns);
++ class LEX_COLUMN *point;
++ LEX *lex=Lex;
++ while ((point=iter++))
++ {
++ if (!my_strcasecmp(system_charset_info,
++ point->column.c_ptr(), new_str->c_ptr()))
++ break;
++ }
++ lex->grant_tot_col|= lex->which_columns;
++ if (point)
++ point->rights |= lex->which_columns;
++ else
++ {
++ LEX_COLUMN *col= new LEX_COLUMN (*new_str,lex->which_columns);
++ if (col == NULL)
++ MYSQL_YYABORT;
++ lex->columns.push_back(col);
++ }
++ }
++#line 36347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2491:
++#line 14360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->ssl_type=SSL_TYPE_SPECIFIED;
++ }
++#line 36355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2492:
++#line 14364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->ssl_type=SSL_TYPE_ANY;
++ }
++#line 36363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2493:
++#line 14368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->ssl_type=SSL_TYPE_X509;
++ }
++#line 36371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2494:
++#line 14372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->ssl_type=SSL_TYPE_NONE;
++ }
++#line 36379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2495:
++#line 14378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2497:
++#line 14383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2498:
++#line 14384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= GRANT_ACL;}
++#line 36397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2499:
++#line 14388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2500:
++#line 14389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2501:
++#line 14393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->grant |= GRANT_ACL;}
++#line 36415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2502:
++#line 14395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->mqh.questions=(yyvsp[0].ulong_num);
++ lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR;
++ }
++#line 36425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2503:
++#line 14401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->mqh.updates=(yyvsp[0].ulong_num);
++ lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR;
++ }
++#line 36435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2504:
++#line 14407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->mqh.conn_per_hour= (yyvsp[0].ulong_num);
++ lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR;
++ }
++#line 36445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2505:
++#line 14413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->mqh.user_conn= (yyvsp[0].num);
++ lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS;
++ }
++#line 36455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2506:
++#line 14422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command = SQLCOM_BEGIN;
++ lex->start_transaction_opt= 0;
++ }
++#line 36465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2507:
++#line 14427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2508:
++#line 14431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2509:
++#line 14432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2510:
++#line 14437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
++#line 36489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2511:
++#line 14438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_yes_no_unk)= TVL_NO; }
++#line 36495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2512:
++#line 14439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_yes_no_unk)= TVL_YES; }
++#line 36501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2513:
++#line 14444 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
++#line 36507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2514:
++#line 14445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_yes_no_unk)= TVL_YES; }
++#line 36513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2515:
++#line 14446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.m_yes_no_unk)= TVL_NO; }
++#line 36519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2516:
++#line 14450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2517:
++#line 14451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2518:
++#line 14456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_COMMIT;
++ /* Don't allow AND CHAIN RELEASE. */
++ MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
++ lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
++ lex->tx_release= (yyvsp[0].m_yes_no_unk);
++ }
++#line 36544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2519:
++#line 14468 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_ROLLBACK;
++ /* Don't allow AND CHAIN RELEASE. */
++ MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
++ lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
++ lex->tx_release= (yyvsp[0].m_yes_no_unk);
++ }
++#line 36557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2520:
++#line 14478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 36567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2521:
++#line 14487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_SAVEPOINT;
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 36577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2522:
++#line 14496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 36587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2523:
++#line 14509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2525:
++#line 14515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), TRUE))
++ MYSQL_YYABORT;
++ }
++#line 36602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2526:
++#line 14520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ Remove from the name resolution context stack the context of the
++ last select in the union.
++ */
++ Lex->pop_context();
++ }
++#line 36614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2527:
++#line 14530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 0; }
++#line 36620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2528:
++#line 14531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 36626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2529:
++#line 14532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)= 1; }
++#line 36632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2530:
++#line 14536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.is_not_empty)= false; }
++#line 36638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2531:
++#line 14537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.is_not_empty)= true; }
++#line 36644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2532:
++#line 14541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
++ SELECT_LEX *sel= lex->current_select;
++ SELECT_LEX_UNIT *unit= sel->master_unit();
++ SELECT_LEX *fake= unit->fake_select_lex;
++ if (fake)
++ {
++ unit->global_parameters= fake;
++ fake->no_table_names_allowed= 1;
++ lex->current_select= fake;
++ }
++ thd->where= "global ORDER clause";
++ }
++#line 36663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2533:
++#line 14556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ thd->lex->current_select->no_table_names_allowed= 0;
++ thd->where= "";
++ }
++#line 36672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2536:
++#line 14568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=1; }
++#line 36678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2537:
++#line 14569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=1; }
++#line 36684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2538:
++#line 14570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { (yyval.num)=0; }
++#line 36690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2539:
++#line 14575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
++ }
++#line 36698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2540:
++#line 14579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
++ }
++#line 36706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2542:
++#line 14588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
++ MYSQL_YYABORT;
++ }
++#line 36715 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2543:
++#line 14594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->pop_context();
++ (yyval.select_lex)= (yyvsp[-5].select_lex);
++ }
++#line 36724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2544:
++#line 14603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ (yyval.select_lex)= (yyvsp[-1].select_lex);
++ }
++#line 36732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2545:
++#line 14609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++ if (!lex->expr_allows_subselect ||
++ lex->sql_command == (int)SQLCOM_PURGE)
++ {
++ my_parse_error(ER(ER_SYNTAX_ERROR));
++ MYSQL_YYABORT;
++ }
++ /*
++ we are making a "derived table" for the parenthesis
++ as we need to have a lex level to fit the union
++ after the parenthesis, e.g.
++ (SELECT .. ) UNION ... becomes
++ SELECT * FROM ((SELECT ...) UNION ...)
++ */
++ if (mysql_new_select(Lex, 1))
++ MYSQL_YYABORT;
++ }
++#line 36755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2546:
++#line 14630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex=Lex;
++
++ lex->pop_context();
++ SELECT_LEX *child= lex->current_select;
++ lex->current_select = lex->current_select->return_after_parsing();
++ lex->nest_level--;
++ lex->current_select->n_child_sum_items += child->n_sum_items;
++ /*
++ A subselect can add fields to an outer select. Reserve space for
++ them.
++ */
++ lex->current_select->select_n_where_fields+=
++ child->select_n_where_fields;
++
++ /*
++ Aggregate functions in having clause may add fields to an outer
++ select. Count them also.
++ */
++ lex->current_select->select_n_having_items+=
++ child->select_n_having_items;
++ }
++#line 36782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2551:
++#line 14665 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->options|= SELECT_STRAIGHT_JOIN; }
++#line 36788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2552:
++#line 14667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (check_simple_select())
++ MYSQL_YYABORT;
++ YYPS->m_lock_type= TL_READ_HIGH_PRIORITY;
++ YYPS->m_mdl_type= MDL_SHARED_READ;
++ Select->options|= SELECT_HIGH_PRIORITY;
++ }
++#line 36800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2553:
++#line 14674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->options|= SELECT_DISTINCT; }
++#line 36806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2554:
++#line 14675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->options|= SELECT_SMALL_RESULT; }
++#line 36812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2555:
++#line 14676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->options|= SELECT_BIG_RESULT; }
++#line 36818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2556:
++#line 14678 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (check_simple_select())
++ MYSQL_YYABORT;
++ Select->options|= OPTION_BUFFER_RESULT;
++ }
++#line 36828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2557:
++#line 14684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ if (check_simple_select())
++ MYSQL_YYABORT;
++ Select->options|= OPTION_FOUND_ROWS;
++ }
++#line 36838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2558:
++#line 14689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Select->options|= SELECT_ALL; }
++#line 36844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2559:
++#line 14700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2560:
++#line 14702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2561:
++#line 14704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2575:
++#line 14737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ /*
++ We have to distinguish missing DEFINER-clause from case when
++ CURRENT_USER specified as definer explicitly in order to properly
++ handle CREATE TRIGGER statements which come to replication thread
++ from older master servers (i.e. to create non-suid trigger in this
++ case).
++ */
++ thd->lex->definer= 0;
++ }
++#line 36877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2576:
++#line 14751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ thd->lex->definer= get_current_user(thd, (yyvsp[0].lex_user));
++ }
++#line 36885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2577:
++#line 14764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2578:
++#line 14766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2579:
++#line 14768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2580:
++#line 14773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; }
++#line 36909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2581:
++#line 14778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED; }
++#line 36915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2582:
++#line 14780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; }
++#line 36921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2583:
++#line 14782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; }
++#line 36927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2584:
++#line 14787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_suid= VIEW_SUID_DEFAULT; }
++#line 36933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2585:
++#line 14789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_suid= VIEW_SUID_DEFINER; }
++#line 36939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2586:
++#line 14791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_suid= VIEW_SUID_INVOKER; }
++#line 36945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2587:
++#line 14796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ lex->sql_command= SQLCOM_CREATE_VIEW;
++ /* first table in list is target VIEW name */
++ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
++ TL_OPTION_UPDATING,
++ TL_IGNORE,
++ MDL_EXCLUSIVE))
++ MYSQL_YYABORT;
++ lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB;
++ }
++#line 36961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2589:
++#line 14812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 36967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2591:
++#line 14818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->view_list.push_back((LEX_STRING*)
++ sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
++ }
++#line 36976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2592:
++#line 14823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->view_list.push_back((LEX_STRING*)
++ sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
++ }
++#line 36985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2593:
++#line 14830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->parsing_options.allows_variable= FALSE;
++ lex->parsing_options.allows_select_into= FALSE;
++ lex->parsing_options.allows_select_procedure= FALSE;
++ lex->parsing_options.allows_derived= FALSE;
++ lex->create_view_select.str= (char *) YYLIP->get_cpp_ptr();
++ }
++#line 36998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2594:
++#line 14839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
++ void *create_view_select= thd->memdup(lex->create_view_select.str, len);
++ lex->create_view_select.length= len;
++ lex->create_view_select.str= (char *) create_view_select;
++ trim_whitespace(thd->charset(), &lex->create_view_select);
++ lex->parsing_options.allows_variable= TRUE;
++ lex->parsing_options.allows_select_into= TRUE;
++ lex->parsing_options.allows_select_procedure= TRUE;
++ lex->parsing_options.allows_derived= TRUE;
++ }
++#line 37015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2597:
++#line 14860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_check= VIEW_CHECK_NONE; }
++#line 37021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2598:
++#line 14862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_check= VIEW_CHECK_CASCADED; }
++#line 37027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2599:
++#line 14864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_check= VIEW_CHECK_CASCADED; }
++#line 37033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2600:
++#line 14866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->create_view_check= VIEW_CHECK_LOCAL; }
++#line 37039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2601:
++#line 14883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $8 */
++ Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start();
++ }
++#line 37047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2602:
++#line 14889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $12 */
++ Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start();
++ }
++#line 37055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2603:
++#line 14894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $15 */
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++ sp_head *sp;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER");
++ MYSQL_YYABORT;
++ }
++
++ if (!(sp= new sp_head()))
++ MYSQL_YYABORT;
++ sp->reset_thd_mem_root(thd);
++ sp->init(lex);
++ sp->m_type= TYPE_ENUM_TRIGGER;
++ sp->init_sp_name(thd, (yyvsp[-11].spname));
++ lex->stmt_definition_begin= (yyvsp[-12].simple_string);
++ lex->ident.str= (yyvsp[-7].simple_string);
++ lex->ident.length= (yyvsp[-3].simple_string) - (yyvsp[-7].simple_string);
++
++ lex->sphead= sp;
++ lex->spname= (yyvsp[-11].spname);
++
++ bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++ lex->sphead->m_chistics= &lex->sp_chistics;
++ lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
++ }
++#line 37088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2604:
++#line 14923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $17 */
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++
++ lex->sql_command= SQLCOM_CREATE_TRIGGER;
++ sp->set_stmt_end(thd);
++ sp->restore_thd_mem_root(thd);
++
++ if (sp->is_not_allowed_in_function("trigger"))
++ MYSQL_YYABORT;
++
++ /*
++ We have to do it after parsing trigger body, because some of
++ sp_proc_stmt alternatives are not saving/restoring LEX, so
++ lex->query_tables can be wiped out.
++ */
++ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[-7].table),
++ (LEX_STRING*) 0,
++ TL_OPTION_UPDATING,
++ TL_READ_NO_INSERT,
++ MDL_SHARED_NO_WRITE))
++ MYSQL_YYABORT;
++ }
++#line 37116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2605:
++#line 14957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ if (is_native_function(thd, & (yyvsp[-4].lex_str)))
++ {
++ my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
++ (yyvsp[-4].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ lex->sql_command = SQLCOM_CREATE_FUNCTION;
++ lex->udf.type= UDFTYPE_AGGREGATE;
++ lex->stmt_definition_begin= (yyvsp[-6].simple_string);
++ lex->udf.name = (yyvsp[-4].lex_str);
++ lex->udf.returns=(Item_result) (yyvsp[-2].num);
++ lex->udf.dl=(yyvsp[0].lex_str).str;
++ }
++#line 37136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2606:
++#line 14974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ if (is_native_function(thd, & (yyvsp[-4].lex_str)))
++ {
++ my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
++ (yyvsp[-4].lex_str).str);
++ MYSQL_YYABORT;
++ }
++ lex->sql_command = SQLCOM_CREATE_FUNCTION;
++ lex->udf.type= UDFTYPE_FUNCTION;
++ lex->stmt_definition_begin= (yyvsp[-6].simple_string);
++ lex->udf.name = (yyvsp[-4].lex_str);
++ lex->udf.returns=(Item_result) (yyvsp[-2].num);
++ lex->udf.dl=(yyvsp[0].lex_str).str;
++ }
++#line 37156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2607:
++#line 14996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $5 */
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++ sp_head *sp;
++ const char* tmp_param_begin;
++
++ lex->stmt_definition_begin= (yyvsp[-3].simple_string);
++ lex->spname= (yyvsp[-1].spname);
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "FUNCTION");
++ MYSQL_YYABORT;
++ }
++ /* Order is important here: new - reset - init */
++ sp= new sp_head();
++ if (sp == NULL)
++ MYSQL_YYABORT;
++ sp->reset_thd_mem_root(thd);
++ sp->init(lex);
++ sp->init_sp_name(thd, lex->spname);
++
++ sp->m_type= TYPE_ENUM_FUNCTION;
++ lex->sphead= sp;
++
++ tmp_param_begin= lip->get_cpp_tok_start();
++ tmp_param_begin++;
++ lex->sphead->m_param_begin= tmp_param_begin;
++ }
++#line 37190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2608:
++#line 15027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $8 */
++ Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
++ }
++#line 37198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2609:
++#line 15031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $10 */
++ LEX *lex= Lex;
++ lex->charset= NULL;
++ lex->length= lex->dec= NULL;
++ lex->interval_list.empty();
++ lex->type= 0;
++ lex->vcol_info= 0;
++ }
++#line 37211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2610:
++#line 15040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $12 */
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++ /*
++ This was disabled in 5.1.12. See bug #20701
++ When collation support in SP is implemented, then this test
++ should be removed.
++ */
++ if (((yyvsp[0].num) == MYSQL_TYPE_STRING || (yyvsp[0].num) == MYSQL_TYPE_VARCHAR)
++ && (lex->type & BINCMP_FLAG))
++ {
++ my_error(ER_NOT_SUPPORTED_YET, MYF(0), "return value collation");
++ MYSQL_YYABORT;
++ }
++
++ if (sp->fill_field_definition(thd, lex,
++ (enum enum_field_types) (yyvsp[0].num),
++ &sp->m_return_field_def))
++ MYSQL_YYABORT;
++
++ bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++ }
++#line 37238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2611:
++#line 15063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { /* $14 */
++ LEX *lex= thd->lex;
++ Lex_input_stream *lip= YYLIP;
++
++ lex->sphead->m_chistics= &lex->sp_chistics;
++ lex->sphead->set_body_start(thd, lip->get_cpp_tok_start());
++ }
++#line 37250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2612:
++#line 15071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++ sp_head *sp= lex->sphead;
++
++ if (sp->is_not_allowed_in_function("function"))
++ MYSQL_YYABORT;
++
++ lex->sql_command= SQLCOM_CREATE_SPFUNCTION;
++ sp->set_stmt_end(thd);
++ if (!(sp->m_flags & sp_head::HAS_RETURN))
++ {
++ my_error(ER_SP_NORETURN, MYF(0), sp->m_qname.str);
++ MYSQL_YYABORT;
++ }
++ if (is_native_function(thd, & sp->m_name))
++ {
++ /*
++ This warning will be printed when
++ [1] A client query is parsed,
++ [2] A stored function is loaded by db_load_routine.
++ Printing the warning for [2] is intentional, to cover the
++ following scenario:
++ - A user define a SF 'foo' using MySQL 5.N
++ - An application uses select foo(), and works.
++ - MySQL 5.{N+1} defines a new native function 'foo', as
++ part of a new feature.
++ - MySQL 5.{N+1} documentation is updated, and should mention
++ that there is a potential incompatible change in case of
++ existing stored function named 'foo'.
++ - The user deploys 5.{N+1}. At this point, 'select foo()'
++ means something different, and the user code is most likely
++ broken (it's only safe if the code is 'select db.foo()').
++ With a warning printed when the SF is loaded (which has to occur
++ before the call), the warning will provide a hint explaining
++ the root cause of a later failure of 'select foo()'.
++ With no warning printed, the user code will fail with no
++ apparent reason.
++ Printing a warning each time db_load_routine is executed for
++ an ambiguous function is annoying, since that can happen a lot,
++ but in practice should not happen unless there *are* name
++ collisions.
++ If a collision exists, it should not be silenced but fixed.
++ */
++ push_warning_printf(thd,
++ MYSQL_ERROR::WARN_LEVEL_NOTE,
++ ER_NATIVE_FCT_NAME_COLLISION,
++ ER(ER_NATIVE_FCT_NAME_COLLISION),
++ sp->m_name.str);
++ }
++ sp->restore_thd_mem_root(thd);
++ }
++#line 37306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2613:
++#line 15126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp;
++
++ if (lex->sphead)
++ {
++ my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "PROCEDURE");
++ MYSQL_YYABORT;
++ }
++
++ lex->stmt_definition_begin= (yyvsp[-1].simple_string);
++
++ /* Order is important here: new - reset - init */
++ sp= new sp_head();
++ if (sp == NULL)
++ MYSQL_YYABORT;
++ sp->reset_thd_mem_root(thd);
++ sp->init(lex);
++ sp->m_type= TYPE_ENUM_PROCEDURE;
++ sp->init_sp_name(thd, (yyvsp[0].spname));
++
++ lex->sphead= sp;
++ }
++#line 37334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2614:
++#line 15150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ const char* tmp_param_begin;
++
++ tmp_param_begin= YYLIP->get_cpp_tok_start();
++ tmp_param_begin++;
++ Lex->sphead->m_param_begin= tmp_param_begin;
++ }
++#line 37346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2615:
++#line 15159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++
++ lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
++ bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++ }
++#line 37357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2616:
++#line 15166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= thd->lex;
++
++ lex->sphead->m_chistics= &lex->sp_chistics;
++ lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start());
++ }
++#line 37368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2617:
++#line 15173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ sp_head *sp= lex->sphead;
++
++ sp->set_stmt_end(thd);
++ lex->sql_command= SQLCOM_CREATE_PROCEDURE;
++ sp->restore_thd_mem_root(thd);
++ }
++#line 37381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2618:
++#line 15187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_XA_START;
++ }
++#line 37389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2619:
++#line 15191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_XA_END;
++ }
++#line 37397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2620:
++#line 15195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_XA_PREPARE;
++ }
++#line 37405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2621:
++#line 15199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_XA_COMMIT;
++ }
++#line 37413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2622:
++#line 15203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_XA_ROLLBACK;
++ }
++#line 37421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2623:
++#line 15207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ Lex->sql_command = SQLCOM_XA_RECOVER;
++ }
++#line 37429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2624:
++#line 15214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE);
++ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
++ MYSQL_YYABORT;
++ Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0);
++ }
++#line 37440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2625:
++#line 15221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE);
++ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
++ MYSQL_YYABORT;
++ Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length());
++ }
++#line 37451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2626:
++#line 15228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE);
++ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
++ MYSQL_YYABORT;
++ Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length());
++ }
++#line 37462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2627:
++#line 15237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 37468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2628:
++#line 15238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 37474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2629:
++#line 15242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_NONE; }
++#line 37480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2630:
++#line 15243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_JOIN; }
++#line 37486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2631:
++#line 15244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_RESUME; }
++#line 37492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2632:
++#line 15248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_NONE; }
++#line 37498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2633:
++#line 15249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_ONE_PHASE; }
++#line 37504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2634:
++#line 15254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_NONE; }
++#line 37510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2635:
++#line 15256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_SUSPEND; }
++#line 37516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2637:
++#line 15261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {}
++#line 37522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2638:
++#line 15262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ { Lex->xa_opt=XA_FOR_MIGRATE; }
++#line 37528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2639:
++#line 15267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_INSTALL_PLUGIN;
++ lex->comment= (yyvsp[-2].lex_str);
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 37539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2640:
++#line 15274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_INSTALL_PLUGIN;
++ lex->comment= null_lex_str;
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 37550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2641:
++#line 15284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
++ lex->comment= (yyvsp[0].lex_str);
++ }
++#line 37560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2642:
++#line 15290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ LEX *lex= Lex;
++ lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
++ lex->comment= null_lex_str;
++ lex->ident= (yyvsp[0].lex_str);
++ }
++#line 37571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++ case 2643:
++#line 15301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
++ {
++ YYERROR;
++ }
++#line 37579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ break;
++
++
++#line 37583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
++ default: break;
++ }
++ /* User semantic actions sometimes alter yychar, and that requires
++ that yytoken be updated with the new translation. We take the
++ approach of translating immediately before every use of yytoken.
++ One alternative is translating here after every semantic action,
++ but that translation would be missed if the semantic action invokes
++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
++ incorrect destructor might then be invoked immediately. In the
++ case of YYERROR or YYBACKUP, subsequent parser actions might lead
++ to an incorrect destructor call or verbose syntax error message
++ before the lookahead is translated. */
++ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
++
++ YYPOPSTACK (yylen);
++ yylen = 0;
++ YY_STACK_PRINT (yyss, yyssp);
++
++ *++yyvsp = yyval;
++
++ /* Now 'shift' the result of the reduction. Determine what state
++ that goes to, based on the state we popped back to and the rule
++ number reduced by. */
++
++ yyn = yyr1[yyn];
++
++ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
++ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
++ yystate = yytable[yystate];
++ else
++ yystate = yydefgoto[yyn - YYNTOKENS];
++
++ goto yynewstate;
++
++
++/*--------------------------------------.
++| yyerrlab -- here on detecting error. |
++`--------------------------------------*/
++yyerrlab:
++ /* Make sure we have latest lookahead translation. See comments at
++ user semantic actions for why this is necessary. */
++ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
++
++ /* If not already recovering from an error, report this error. */
++ if (!yyerrstatus)
++ {
++ ++yynerrs;
++#if ! YYERROR_VERBOSE
++ yyerror (thd, YY_("syntax error"));
++#else
++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
++ yyssp, yytoken)
++ {
++ char const *yymsgp = YY_("syntax error");
++ int yysyntax_error_status;
++ yysyntax_error_status = YYSYNTAX_ERROR;
++ if (yysyntax_error_status == 0)
++ yymsgp = yymsg;
++ else if (yysyntax_error_status == 1)
++ {
++ if (yymsg != yymsgbuf)
++ YYSTACK_FREE (yymsg);
++ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
++ if (!yymsg)
++ {
++ yymsg = yymsgbuf;
++ yymsg_alloc = sizeof yymsgbuf;
++ yysyntax_error_status = 2;
++ }
++ else
++ {
++ yysyntax_error_status = YYSYNTAX_ERROR;
++ yymsgp = yymsg;
++ }
++ }
++ yyerror (thd, yymsgp);
++ if (yysyntax_error_status == 2)
++ goto yyexhaustedlab;
++ }
++# undef YYSYNTAX_ERROR
++#endif
++ }
++
++
++
++ if (yyerrstatus == 3)
++ {
++ /* If just tried and failed to reuse lookahead token after an
++ error, discard it. */
++
++ if (yychar <= YYEOF)
++ {
++ /* Return failure if at end of input. */
++ if (yychar == YYEOF)
++ YYABORT;
++ }
++ else
++ {
++ yydestruct ("Error: discarding",
++ yytoken, &yylval, thd);
++ yychar = YYEMPTY;
++ }
++ }
++
++ /* Else will try to reuse lookahead token after shifting the error
++ token. */
++ goto yyerrlab1;
++
++
++/*---------------------------------------------------.
++| yyerrorlab -- error raised explicitly by YYERROR. |
++`---------------------------------------------------*/
++yyerrorlab:
++
++ /* Pacify compilers like GCC when the user code never invokes
++ YYERROR and the label yyerrorlab therefore never appears in user
++ code. */
++ if (/*CONSTCOND*/ 0)
++ goto yyerrorlab;
++
++ /* Do not reclaim the symbols of the rule whose action triggered
++ this YYERROR. */
++ YYPOPSTACK (yylen);
++ yylen = 0;
++ YY_STACK_PRINT (yyss, yyssp);
++ yystate = *yyssp;
++ goto yyerrlab1;
++
++
++/*-------------------------------------------------------------.
++| yyerrlab1 -- common code for both syntax error and YYERROR. |
++`-------------------------------------------------------------*/
++yyerrlab1:
++ yyerrstatus = 3; /* Each real token shifted decrements this. */
++
++ for (;;)
++ {
++ yyn = yypact[yystate];
++ if (!yypact_value_is_default (yyn))
++ {
++ yyn += YYTERROR;
++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
++ {
++ yyn = yytable[yyn];
++ if (0 < yyn)
++ break;
++ }
++ }
++
++ /* Pop the current state because it cannot handle the error token. */
++ if (yyssp == yyss)
++ YYABORT;
++
++
++ yydestruct ("Error: popping",
++ yystos[yystate], yyvsp, thd);
++ YYPOPSTACK (1);
++ yystate = *yyssp;
++ YY_STACK_PRINT (yyss, yyssp);
++ }
++
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++
++ /* Shift the error token. */
++ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
++
++ yystate = yyn;
++ goto yynewstate;
++
++
++/*-------------------------------------.
++| yyacceptlab -- YYACCEPT comes here. |
++`-------------------------------------*/
++yyacceptlab:
++ yyresult = 0;
++ goto yyreturn;
++
++/*-----------------------------------.
++| yyabortlab -- YYABORT comes here. |
++`-----------------------------------*/
++yyabortlab:
++ yyresult = 1;
++ goto yyreturn;
++
++#if !defined yyoverflow || YYERROR_VERBOSE
++/*-------------------------------------------------.
++| yyexhaustedlab -- memory exhaustion comes here. |
++`-------------------------------------------------*/
++yyexhaustedlab:
++ yyerror (thd, YY_("memory exhausted"));
++ yyresult = 2;
++ /* Fall through. */
++#endif
++
++yyreturn:
++ if (yychar != YYEMPTY)
++ {
++ /* Make sure we have latest lookahead translation. See comments at
++ user semantic actions for why this is necessary. */
++ yytoken = YYTRANSLATE (yychar);
++ yydestruct ("Cleanup: discarding lookahead",
++ yytoken, &yylval, thd);
++ }
++ /* Do not reclaim the symbols of the rule whose action triggered
++ this YYABORT or YYACCEPT. */
++ YYPOPSTACK (yylen);
++ YY_STACK_PRINT (yyss, yyssp);
++ while (yyssp != yyss)
++ {
++ yydestruct ("Cleanup: popping",
++ yystos[*yyssp], yyvsp, thd);
++ YYPOPSTACK (1);
++ }
++#ifndef yyoverflow
++ if (yyss != yyssa)
++ YYSTACK_FREE (yyss);
++#endif
++#if YYERROR_VERBOSE
++ if (yymsg != yymsgbuf)
++ YYSTACK_FREE (yymsg);
++#endif
++ return yyresult;
++}
+diff --git a/sql/sql_yacc.h b/sql/sql_yacc.h
+new file mode 100644
+index 0000000..75959ac
+--- /dev/null
++++ b/sql/sql_yacc.h
+@@ -0,0 +1,1348 @@
++/* A Bison parser, made by GNU Bison 3.0.2. */
++
++/* Bison interface for Yacc-like parsers in C
++
++ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
++
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
++
++/* As a special exception, you may create a larger work that contains
++ part or all of the Bison parser skeleton and distribute that work
++ under terms of your choice, so long as that work isn't itself a
++ parser generator using the skeleton or a modified version thereof
++ as a parser skeleton. Alternatively, if you modify or redistribute
++ the parser skeleton itself, you may (at your option) remove this
++ special exception, which will cause the skeleton and the resulting
++ Bison output files to be licensed under the GNU General Public
++ License without this special exception.
++
++ This special exception was added by the Free Software Foundation in
++ version 2.2 of Bison. */
++
++#ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++# define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++/* Debug traces. */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int MYSQLdebug;
++#endif
++
++/* Token type. */
++#ifndef YYTOKENTYPE
++# define YYTOKENTYPE
++ enum yytokentype
++ {
++ ABORT_SYM = 258,
++ ACCESSIBLE_SYM = 259,
++ ACTION = 260,
++ ADD = 261,
++ ADDDATE_SYM = 262,
++ AFTER_SYM = 263,
++ AGAINST = 264,
++ AGGREGATE_SYM = 265,
++ ALGORITHM_SYM = 266,
++ ALL = 267,
++ ALTER = 268,
++ ALWAYS_SYM = 269,
++ ANALYZE_SYM = 270,
++ AND_AND_SYM = 271,
++ AND_SYM = 272,
++ ANY_SYM = 273,
++ AS = 274,
++ ASC = 275,
++ ASCII_SYM = 276,
++ ASENSITIVE_SYM = 277,
++ AT_SYM = 278,
++ AUTHORS_SYM = 279,
++ AUTOEXTEND_SIZE_SYM = 280,
++ AUTO_INC = 281,
++ AVG_ROW_LENGTH = 282,
++ AVG_SYM = 283,
++ BACKUP_SYM = 284,
++ BEFORE_SYM = 285,
++ BEGIN_SYM = 286,
++ BETWEEN_SYM = 287,
++ BIGINT = 288,
++ BINARY = 289,
++ BINLOG_SYM = 290,
++ BIN_NUM = 291,
++ BIT_AND = 292,
++ BIT_OR = 293,
++ BIT_SYM = 294,
++ BIT_XOR = 295,
++ BLOB_SYM = 296,
++ BLOCK_SYM = 297,
++ BOOLEAN_SYM = 298,
++ BOOL_SYM = 299,
++ BOTH = 300,
++ BTREE_SYM = 301,
++ BY = 302,
++ BYTE_SYM = 303,
++ CACHE_SYM = 304,
++ CALL_SYM = 305,
++ CASCADE = 306,
++ CASCADED = 307,
++ CASE_SYM = 308,
++ CAST_SYM = 309,
++ CATALOG_NAME_SYM = 310,
++ CHAIN_SYM = 311,
++ CHANGE = 312,
++ CHANGED = 313,
++ CHARSET = 314,
++ CHAR_SYM = 315,
++ CHECKPOINT_SYM = 316,
++ CHECKSUM_SYM = 317,
++ CHECK_SYM = 318,
++ CIPHER_SYM = 319,
++ CLASS_ORIGIN_SYM = 320,
++ CLIENT_SYM = 321,
++ CLIENT_STATS_SYM = 322,
++ CLOSE_SYM = 323,
++ COALESCE = 324,
++ CODE_SYM = 325,
++ COLLATE_SYM = 326,
++ COLLATION_SYM = 327,
++ COLUMNS = 328,
++ COLUMN_ADD_SYM = 329,
++ COLUMN_CREATE_SYM = 330,
++ COLUMN_DELETE_SYM = 331,
++ COLUMN_EXISTS_SYM = 332,
++ COLUMN_GET_SYM = 333,
++ COLUMN_LIST_SYM = 334,
++ COLUMN_SYM = 335,
++ COLUMN_NAME_SYM = 336,
++ COMMENT_SYM = 337,
++ COMMITTED_SYM = 338,
++ COMMIT_SYM = 339,
++ COMPACT_SYM = 340,
++ COMPLETION_SYM = 341,
++ COMPRESSED_SYM = 342,
++ CONCURRENT = 343,
++ CONDITION_SYM = 344,
++ CONNECTION_SYM = 345,
++ CONSISTENT_SYM = 346,
++ CONSTRAINT = 347,
++ CONSTRAINT_CATALOG_SYM = 348,
++ CONSTRAINT_NAME_SYM = 349,
++ CONSTRAINT_SCHEMA_SYM = 350,
++ CONTAINS_SYM = 351,
++ CONTEXT_SYM = 352,
++ CONTINUE_SYM = 353,
++ CONTRIBUTORS_SYM = 354,
++ CONVERT_SYM = 355,
++ COUNT_SYM = 356,
++ CPU_SYM = 357,
++ CREATE = 358,
++ CROSS = 359,
++ CUBE_SYM = 360,
++ CURDATE = 361,
++ CURRENT_USER = 362,
++ CURSOR_SYM = 363,
++ CURSOR_NAME_SYM = 364,
++ CURTIME = 365,
++ DATABASE = 366,
++ DATABASES = 367,
++ DATAFILE_SYM = 368,
++ DATA_SYM = 369,
++ DATETIME = 370,
++ DATE_ADD_INTERVAL = 371,
++ DATE_SUB_INTERVAL = 372,
++ DATE_SYM = 373,
++ DAY_HOUR_SYM = 374,
++ DAY_MICROSECOND_SYM = 375,
++ DAY_MINUTE_SYM = 376,
++ DAY_SECOND_SYM = 377,
++ DAY_SYM = 378,
++ DEALLOCATE_SYM = 379,
++ DECIMAL_NUM = 380,
++ DECIMAL_SYM = 381,
++ DECLARE_SYM = 382,
++ DEFAULT = 383,
++ DEFINER_SYM = 384,
++ DELAYED_SYM = 385,
++ DELAY_KEY_WRITE_SYM = 386,
++ DELETE_SYM = 387,
++ DESC = 388,
++ DESCRIBE = 389,
++ DES_KEY_FILE = 390,
++ DETERMINISTIC_SYM = 391,
++ DIRECTORY_SYM = 392,
++ DISABLE_SYM = 393,
++ DISCARD = 394,
++ DISK_SYM = 395,
++ DISTINCT = 396,
++ DIV_SYM = 397,
++ DOUBLE_SYM = 398,
++ DO_SYM = 399,
++ DROP = 400,
++ DUAL_SYM = 401,
++ DUMPFILE = 402,
++ DUPLICATE_SYM = 403,
++ DYNAMIC_SYM = 404,
++ EACH_SYM = 405,
++ ELSE = 406,
++ ELSEIF_SYM = 407,
++ ENABLE_SYM = 408,
++ ENCLOSED = 409,
++ END = 410,
++ ENDS_SYM = 411,
++ END_OF_INPUT = 412,
++ ENGINES_SYM = 413,
++ ENGINE_SYM = 414,
++ ENUM = 415,
++ EQUAL_SYM = 416,
++ ERROR_SYM = 417,
++ ERRORS = 418,
++ ESCAPED = 419,
++ ESCAPE_SYM = 420,
++ EVENTS_SYM = 421,
++ EVENT_SYM = 422,
++ EVERY_SYM = 423,
++ EXAMINED_SYM = 424,
++ EXECUTE_SYM = 425,
++ EXISTS = 426,
++ EXIT_SYM = 427,
++ EXPANSION_SYM = 428,
++ EXTENDED_SYM = 429,
++ EXTENT_SIZE_SYM = 430,
++ EXTRACT_SYM = 431,
++ FALSE_SYM = 432,
++ FAST_SYM = 433,
++ FAULTS_SYM = 434,
++ FETCH_SYM = 435,
++ FILE_SYM = 436,
++ FIRST_SYM = 437,
++ FIXED_SYM = 438,
++ FLOAT_NUM = 439,
++ FLOAT_SYM = 440,
++ FLUSH_SYM = 441,
++ FORCE_SYM = 442,
++ FOREIGN = 443,
++ FOR_SYM = 444,
++ FOUND_SYM = 445,
++ FROM = 446,
++ FULL = 447,
++ FULLTEXT_SYM = 448,
++ FUNCTION_SYM = 449,
++ GE = 450,
++ GENERAL = 451,
++ GENERATED_SYM = 452,
++ GEOMETRYCOLLECTION = 453,
++ GEOMETRY_SYM = 454,
++ GET_FORMAT = 455,
++ GLOBAL_SYM = 456,
++ GRANT = 457,
++ GRANTS = 458,
++ GROUP_SYM = 459,
++ GROUP_CONCAT_SYM = 460,
++ HANDLER_SYM = 461,
++ HARD_SYM = 462,
++ HASH_SYM = 463,
++ HAVING = 464,
++ HELP_SYM = 465,
++ HEX_NUM = 466,
++ HEX_STRING = 467,
++ HIGH_PRIORITY = 468,
++ HOST_SYM = 469,
++ HOSTS_SYM = 470,
++ HOUR_MICROSECOND_SYM = 471,
++ HOUR_MINUTE_SYM = 472,
++ HOUR_SECOND_SYM = 473,
++ HOUR_SYM = 474,
++ IDENT = 475,
++ IDENTIFIED_SYM = 476,
++ IDENT_QUOTED = 477,
++ IF = 478,
++ IGNORE_SYM = 479,
++ IGNORE_SERVER_IDS_SYM = 480,
++ IMPORT = 481,
++ INDEXES = 482,
++ INDEX_SYM = 483,
++ INDEX_STATS_SYM = 484,
++ INFILE = 485,
++ INITIAL_SIZE_SYM = 486,
++ INNER_SYM = 487,
++ INOUT_SYM = 488,
++ INSENSITIVE_SYM = 489,
++ INSERT = 490,
++ INSERT_METHOD = 491,
++ INSTALL_SYM = 492,
++ INTERVAL_SYM = 493,
++ INTO = 494,
++ INT_SYM = 495,
++ INVOKER_SYM = 496,
++ IN_SYM = 497,
++ IO_SYM = 498,
++ IPC_SYM = 499,
++ IS = 500,
++ ISOLATION = 501,
++ ISSUER_SYM = 502,
++ ITERATE_SYM = 503,
++ JOIN_SYM = 504,
++ KEYS = 505,
++ KEY_BLOCK_SIZE = 506,
++ KEY_SYM = 507,
++ KILL_SYM = 508,
++ LANGUAGE_SYM = 509,
++ LAST_SYM = 510,
++ LAST_VALUE = 511,
++ LE = 512,
++ LEADING = 513,
++ LEAVES = 514,
++ LEAVE_SYM = 515,
++ LEFT = 516,
++ LESS_SYM = 517,
++ LEVEL_SYM = 518,
++ LEX_HOSTNAME = 519,
++ LIKE = 520,
++ LIMIT = 521,
++ LINEAR_SYM = 522,
++ LINES = 523,
++ LINESTRING = 524,
++ LIST_SYM = 525,
++ LOAD = 526,
++ LOCAL_SYM = 527,
++ LOCATOR_SYM = 528,
++ LOCKS_SYM = 529,
++ LOCK_SYM = 530,
++ LOGFILE_SYM = 531,
++ LOGS_SYM = 532,
++ LONGBLOB = 533,
++ LONGTEXT = 534,
++ LONG_NUM = 535,
++ LONG_SYM = 536,
++ LOOP_SYM = 537,
++ LOW_PRIORITY = 538,
++ MASTER_CONNECT_RETRY_SYM = 539,
++ MASTER_HOST_SYM = 540,
++ MASTER_LOG_FILE_SYM = 541,
++ MASTER_LOG_POS_SYM = 542,
++ MASTER_PASSWORD_SYM = 543,
++ MASTER_PORT_SYM = 544,
++ MASTER_SERVER_ID_SYM = 545,
++ MASTER_SSL_CAPATH_SYM = 546,
++ MASTER_SSL_CA_SYM = 547,
++ MASTER_SSL_CERT_SYM = 548,
++ MASTER_SSL_CIPHER_SYM = 549,
++ MASTER_SSL_KEY_SYM = 550,
++ MASTER_SSL_SYM = 551,
++ MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
++ MASTER_SYM = 553,
++ MASTER_USER_SYM = 554,
++ MASTER_HEARTBEAT_PERIOD_SYM = 555,
++ MATCH = 556,
++ MAX_CONNECTIONS_PER_HOUR = 557,
++ MAX_QUERIES_PER_HOUR = 558,
++ MAX_ROWS = 559,
++ MAX_SIZE_SYM = 560,
++ MAX_SYM = 561,
++ MAX_UPDATES_PER_HOUR = 562,
++ MAX_USER_CONNECTIONS_SYM = 563,
++ MAX_VALUE_SYM = 564,
++ MEDIUMBLOB = 565,
++ MEDIUMINT = 566,
++ MEDIUMTEXT = 567,
++ MEDIUM_SYM = 568,
++ MEMORY_SYM = 569,
++ MERGE_SYM = 570,
++ MESSAGE_TEXT_SYM = 571,
++ MICROSECOND_SYM = 572,
++ MIGRATE_SYM = 573,
++ MINUTE_MICROSECOND_SYM = 574,
++ MINUTE_SECOND_SYM = 575,
++ MINUTE_SYM = 576,
++ MIN_ROWS = 577,
++ MIN_SYM = 578,
++ MODE_SYM = 579,
++ MODIFIES_SYM = 580,
++ MODIFY_SYM = 581,
++ MOD_SYM = 582,
++ MONTH_SYM = 583,
++ MULTILINESTRING = 584,
++ MULTIPOINT = 585,
++ MULTIPOLYGON = 586,
++ MUTEX_SYM = 587,
++ MYSQL_SYM = 588,
++ MYSQL_ERRNO_SYM = 589,
++ NAMES_SYM = 590,
++ NAME_SYM = 591,
++ NATIONAL_SYM = 592,
++ NATURAL = 593,
++ NCHAR_STRING = 594,
++ NCHAR_SYM = 595,
++ NDBCLUSTER_SYM = 596,
++ NE = 597,
++ NEG = 598,
++ NEW_SYM = 599,
++ NEXT_SYM = 600,
++ NODEGROUP_SYM = 601,
++ NONE_SYM = 602,
++ NOT2_SYM = 603,
++ NOT_SYM = 604,
++ NOW_SYM = 605,
++ NO_SYM = 606,
++ NO_WAIT_SYM = 607,
++ NO_WRITE_TO_BINLOG = 608,
++ NULL_SYM = 609,
++ NUM = 610,
++ NUMERIC_SYM = 611,
++ NVARCHAR_SYM = 612,
++ OFFSET_SYM = 613,
++ OLD_PASSWORD = 614,
++ ON = 615,
++ ONE_SHOT_SYM = 616,
++ ONE_SYM = 617,
++ ONLINE_SYM = 618,
++ OPEN_SYM = 619,
++ OPTIMIZE = 620,
++ OPTIONS_SYM = 621,
++ OPTION = 622,
++ OPTIONALLY = 623,
++ OR2_SYM = 624,
++ ORDER_SYM = 625,
++ OR_OR_SYM = 626,
++ OR_SYM = 627,
++ OUTER = 628,
++ OUTFILE = 629,
++ OUT_SYM = 630,
++ OWNER_SYM = 631,
++ PACK_KEYS_SYM = 632,
++ PAGE_SYM = 633,
++ PAGE_CHECKSUM_SYM = 634,
++ PARAM_MARKER = 635,
++ PARSER_SYM = 636,
++ PARSE_VCOL_EXPR_SYM = 637,
++ PARTIAL = 638,
++ PARTITIONING_SYM = 639,
++ PARTITIONS_SYM = 640,
++ PARTITION_SYM = 641,
++ PASSWORD = 642,
++ PERSISTENT_SYM = 643,
++ PHASE_SYM = 644,
++ PLUGINS_SYM = 645,
++ PLUGIN_SYM = 646,
++ POINT_SYM = 647,
++ POLYGON = 648,
++ PORT_SYM = 649,
++ POSITION_SYM = 650,
++ PRECISION = 651,
++ PREPARE_SYM = 652,
++ PRESERVE_SYM = 653,
++ PREV_SYM = 654,
++ PRIMARY_SYM = 655,
++ PRIVILEGES = 656,
++ PROCEDURE_SYM = 657,
++ PROCESS = 658,
++ PROCESSLIST_SYM = 659,
++ PROFILE_SYM = 660,
++ PROFILES_SYM = 661,
++ PROXY_SYM = 662,
++ PURGE = 663,
++ QUARTER_SYM = 664,
++ QUERY_SYM = 665,
++ QUICK = 666,
++ RANGE_SYM = 667,
++ READS_SYM = 668,
++ READ_ONLY_SYM = 669,
++ READ_SYM = 670,
++ READ_WRITE_SYM = 671,
++ REAL = 672,
++ REBUILD_SYM = 673,
++ RECOVER_SYM = 674,
++ REDOFILE_SYM = 675,
++ REDO_BUFFER_SIZE_SYM = 676,
++ REDUNDANT_SYM = 677,
++ REFERENCES = 678,
++ REGEXP = 679,
++ RELAY = 680,
++ RELAYLOG_SYM = 681,
++ RELAY_LOG_FILE_SYM = 682,
++ RELAY_LOG_POS_SYM = 683,
++ RELAY_THREAD = 684,
++ RELEASE_SYM = 685,
++ RELOAD = 686,
++ REMOVE_SYM = 687,
++ RENAME = 688,
++ REORGANIZE_SYM = 689,
++ REPAIR = 690,
++ REPEATABLE_SYM = 691,
++ REPEAT_SYM = 692,
++ REPLACE = 693,
++ REPLICATION = 694,
++ REQUIRE_SYM = 695,
++ RESET_SYM = 696,
++ RESIGNAL_SYM = 697,
++ RESOURCES = 698,
++ RESTORE_SYM = 699,
++ RESTRICT = 700,
++ RESUME_SYM = 701,
++ RETURNS_SYM = 702,
++ RETURN_SYM = 703,
++ REVOKE = 704,
++ RIGHT = 705,
++ ROLLBACK_SYM = 706,
++ ROLLUP_SYM = 707,
++ ROUTINE_SYM = 708,
++ ROWS_SYM = 709,
++ ROW_FORMAT_SYM = 710,
++ ROW_SYM = 711,
++ RTREE_SYM = 712,
++ SAVEPOINT_SYM = 713,
++ SCHEDULE_SYM = 714,
++ SCHEMA_NAME_SYM = 715,
++ SECOND_MICROSECOND_SYM = 716,
++ SECOND_SYM = 717,
++ SECURITY_SYM = 718,
++ SELECT_SYM = 719,
++ SENSITIVE_SYM = 720,
++ SEPARATOR_SYM = 721,
++ SERIALIZABLE_SYM = 722,
++ SERIAL_SYM = 723,
++ SESSION_SYM = 724,
++ SERVER_SYM = 725,
++ SERVER_OPTIONS = 726,
++ SET = 727,
++ SET_VAR = 728,
++ SHARE_SYM = 729,
++ SHIFT_LEFT = 730,
++ SHIFT_RIGHT = 731,
++ SHOW = 732,
++ SHUTDOWN = 733,
++ SIGNAL_SYM = 734,
++ SIGNED_SYM = 735,
++ SIMPLE_SYM = 736,
++ SLAVE = 737,
++ SLOW = 738,
++ SMALLINT = 739,
++ SNAPSHOT_SYM = 740,
++ SOCKET_SYM = 741,
++ SOFT_SYM = 742,
++ SONAME_SYM = 743,
++ SOUNDS_SYM = 744,
++ SOURCE_SYM = 745,
++ SPATIAL_SYM = 746,
++ SPECIFIC_SYM = 747,
++ SQLEXCEPTION_SYM = 748,
++ SQLSTATE_SYM = 749,
++ SQLWARNING_SYM = 750,
++ SQL_BIG_RESULT = 751,
++ SQL_BUFFER_RESULT = 752,
++ SQL_CACHE_SYM = 753,
++ SQL_CALC_FOUND_ROWS = 754,
++ SQL_NO_CACHE_SYM = 755,
++ SQL_SMALL_RESULT = 756,
++ SQL_SYM = 757,
++ SQL_THREAD = 758,
++ SSL_SYM = 759,
++ STARTING = 760,
++ STARTS_SYM = 761,
++ START_SYM = 762,
++ STATUS_SYM = 763,
++ STDDEV_SAMP_SYM = 764,
++ STD_SYM = 765,
++ STOP_SYM = 766,
++ STORAGE_SYM = 767,
++ STRAIGHT_JOIN = 768,
++ STRING_SYM = 769,
++ SUBCLASS_ORIGIN_SYM = 770,
++ SUBDATE_SYM = 771,
++ SUBJECT_SYM = 772,
++ SUBPARTITIONS_SYM = 773,
++ SUBPARTITION_SYM = 774,
++ SUBSTRING = 775,
++ SUM_SYM = 776,
++ SUPER_SYM = 777,
++ SUSPEND_SYM = 778,
++ SWAPS_SYM = 779,
++ SWITCHES_SYM = 780,
++ SYSDATE = 781,
++ TABLES = 782,
++ TABLESPACE = 783,
++ TABLE_REF_PRIORITY = 784,
++ TABLE_STATS_SYM = 785,
++ TABLE_SYM = 786,
++ TABLE_CHECKSUM_SYM = 787,
++ TABLE_NAME_SYM = 788,
++ TEMPORARY = 789,
++ TEMPTABLE_SYM = 790,
++ TERMINATED = 791,
++ TEXT_STRING = 792,
++ TEXT_SYM = 793,
++ THAN_SYM = 794,
++ THEN_SYM = 795,
++ TIMESTAMP = 796,
++ TIMESTAMP_ADD = 797,
++ TIMESTAMP_DIFF = 798,
++ TIME_SYM = 799,
++ TINYBLOB = 800,
++ TINYINT = 801,
++ TINYTEXT = 802,
++ TO_SYM = 803,
++ TRAILING = 804,
++ TRANSACTION_SYM = 805,
++ TRANSACTIONAL_SYM = 806,
++ TRIGGERS_SYM = 807,
++ TRIGGER_SYM = 808,
++ TRIM = 809,
++ TRUE_SYM = 810,
++ TRUNCATE_SYM = 811,
++ TYPES_SYM = 812,
++ TYPE_SYM = 813,
++ UDF_RETURNS_SYM = 814,
++ ULONGLONG_NUM = 815,
++ UNCOMMITTED_SYM = 816,
++ UNDEFINED_SYM = 817,
++ UNDERSCORE_CHARSET = 818,
++ UNDOFILE_SYM = 819,
++ UNDO_BUFFER_SIZE_SYM = 820,
++ UNDO_SYM = 821,
++ UNICODE_SYM = 822,
++ UNINSTALL_SYM = 823,
++ UNION_SYM = 824,
++ UNIQUE_SYM = 825,
++ UNKNOWN_SYM = 826,
++ UNLOCK_SYM = 827,
++ UNSIGNED = 828,
++ UNTIL_SYM = 829,
++ UPDATE_SYM = 830,
++ UPGRADE_SYM = 831,
++ USAGE = 832,
++ USER = 833,
++ USER_STATS_SYM = 834,
++ USE_FRM = 835,
++ USE_SYM = 836,
++ USING = 837,
++ UTC_DATE_SYM = 838,
++ UTC_TIMESTAMP_SYM = 839,
++ UTC_TIME_SYM = 840,
++ VALUES = 841,
++ VALUE_SYM = 842,
++ VARBINARY = 843,
++ VARCHAR = 844,
++ VARIABLES = 845,
++ VARIANCE_SYM = 846,
++ VARYING = 847,
++ VAR_SAMP_SYM = 848,
++ VIA_SYM = 849,
++ VIEW_SYM = 850,
++ VIRTUAL_SYM = 851,
++ WAIT_SYM = 852,
++ WARNINGS = 853,
++ WEEK_SYM = 854,
++ WHEN_SYM = 855,
++ WHERE = 856,
++ WHILE_SYM = 857,
++ WITH = 858,
++ WITH_CUBE_SYM = 859,
++ WITH_ROLLUP_SYM = 860,
++ WORK_SYM = 861,
++ WRAPPER_SYM = 862,
++ WRITE_SYM = 863,
++ X509_SYM = 864,
++ XA_SYM = 865,
++ XML_SYM = 866,
++ XOR = 867,
++ YEAR_MONTH_SYM = 868,
++ YEAR_SYM = 869,
++ ZEROFILL = 870,
++ IMPOSSIBLE_ACTION = 871
++ };
++#endif
++/* Tokens. */
++#define ABORT_SYM 258
++#define ACCESSIBLE_SYM 259
++#define ACTION 260
++#define ADD 261
++#define ADDDATE_SYM 262
++#define AFTER_SYM 263
++#define AGAINST 264
++#define AGGREGATE_SYM 265
++#define ALGORITHM_SYM 266
++#define ALL 267
++#define ALTER 268
++#define ALWAYS_SYM 269
++#define ANALYZE_SYM 270
++#define AND_AND_SYM 271
++#define AND_SYM 272
++#define ANY_SYM 273
++#define AS 274
++#define ASC 275
++#define ASCII_SYM 276
++#define ASENSITIVE_SYM 277
++#define AT_SYM 278
++#define AUTHORS_SYM 279
++#define AUTOEXTEND_SIZE_SYM 280
++#define AUTO_INC 281
++#define AVG_ROW_LENGTH 282
++#define AVG_SYM 283
++#define BACKUP_SYM 284
++#define BEFORE_SYM 285
++#define BEGIN_SYM 286
++#define BETWEEN_SYM 287
++#define BIGINT 288
++#define BINARY 289
++#define BINLOG_SYM 290
++#define BIN_NUM 291
++#define BIT_AND 292
++#define BIT_OR 293
++#define BIT_SYM 294
++#define BIT_XOR 295
++#define BLOB_SYM 296
++#define BLOCK_SYM 297
++#define BOOLEAN_SYM 298
++#define BOOL_SYM 299
++#define BOTH 300
++#define BTREE_SYM 301
++#define BY 302
++#define BYTE_SYM 303
++#define CACHE_SYM 304
++#define CALL_SYM 305
++#define CASCADE 306
++#define CASCADED 307
++#define CASE_SYM 308
++#define CAST_SYM 309
++#define CATALOG_NAME_SYM 310
++#define CHAIN_SYM 311
++#define CHANGE 312
++#define CHANGED 313
++#define CHARSET 314
++#define CHAR_SYM 315
++#define CHECKPOINT_SYM 316
++#define CHECKSUM_SYM 317
++#define CHECK_SYM 318
++#define CIPHER_SYM 319
++#define CLASS_ORIGIN_SYM 320
++#define CLIENT_SYM 321
++#define CLIENT_STATS_SYM 322
++#define CLOSE_SYM 323
++#define COALESCE 324
++#define CODE_SYM 325
++#define COLLATE_SYM 326
++#define COLLATION_SYM 327
++#define COLUMNS 328
++#define COLUMN_ADD_SYM 329
++#define COLUMN_CREATE_SYM 330
++#define COLUMN_DELETE_SYM 331
++#define COLUMN_EXISTS_SYM 332
++#define COLUMN_GET_SYM 333
++#define COLUMN_LIST_SYM 334
++#define COLUMN_SYM 335
++#define COLUMN_NAME_SYM 336
++#define COMMENT_SYM 337
++#define COMMITTED_SYM 338
++#define COMMIT_SYM 339
++#define COMPACT_SYM 340
++#define COMPLETION_SYM 341
++#define COMPRESSED_SYM 342
++#define CONCURRENT 343
++#define CONDITION_SYM 344
++#define CONNECTION_SYM 345
++#define CONSISTENT_SYM 346
++#define CONSTRAINT 347
++#define CONSTRAINT_CATALOG_SYM 348
++#define CONSTRAINT_NAME_SYM 349
++#define CONSTRAINT_SCHEMA_SYM 350
++#define CONTAINS_SYM 351
++#define CONTEXT_SYM 352
++#define CONTINUE_SYM 353
++#define CONTRIBUTORS_SYM 354
++#define CONVERT_SYM 355
++#define COUNT_SYM 356
++#define CPU_SYM 357
++#define CREATE 358
++#define CROSS 359
++#define CUBE_SYM 360
++#define CURDATE 361
++#define CURRENT_USER 362
++#define CURSOR_SYM 363
++#define CURSOR_NAME_SYM 364
++#define CURTIME 365
++#define DATABASE 366
++#define DATABASES 367
++#define DATAFILE_SYM 368
++#define DATA_SYM 369
++#define DATETIME 370
++#define DATE_ADD_INTERVAL 371
++#define DATE_SUB_INTERVAL 372
++#define DATE_SYM 373
++#define DAY_HOUR_SYM 374
++#define DAY_MICROSECOND_SYM 375
++#define DAY_MINUTE_SYM 376
++#define DAY_SECOND_SYM 377
++#define DAY_SYM 378
++#define DEALLOCATE_SYM 379
++#define DECIMAL_NUM 380
++#define DECIMAL_SYM 381
++#define DECLARE_SYM 382
++#define DEFAULT 383
++#define DEFINER_SYM 384
++#define DELAYED_SYM 385
++#define DELAY_KEY_WRITE_SYM 386
++#define DELETE_SYM 387
++#define DESC 388
++#define DESCRIBE 389
++#define DES_KEY_FILE 390
++#define DETERMINISTIC_SYM 391
++#define DIRECTORY_SYM 392
++#define DISABLE_SYM 393
++#define DISCARD 394
++#define DISK_SYM 395
++#define DISTINCT 396
++#define DIV_SYM 397
++#define DOUBLE_SYM 398
++#define DO_SYM 399
++#define DROP 400
++#define DUAL_SYM 401
++#define DUMPFILE 402
++#define DUPLICATE_SYM 403
++#define DYNAMIC_SYM 404
++#define EACH_SYM 405
++#define ELSE 406
++#define ELSEIF_SYM 407
++#define ENABLE_SYM 408
++#define ENCLOSED 409
++#define END 410
++#define ENDS_SYM 411
++#define END_OF_INPUT 412
++#define ENGINES_SYM 413
++#define ENGINE_SYM 414
++#define ENUM 415
++#define EQUAL_SYM 416
++#define ERROR_SYM 417
++#define ERRORS 418
++#define ESCAPED 419
++#define ESCAPE_SYM 420
++#define EVENTS_SYM 421
++#define EVENT_SYM 422
++#define EVERY_SYM 423
++#define EXAMINED_SYM 424
++#define EXECUTE_SYM 425
++#define EXISTS 426
++#define EXIT_SYM 427
++#define EXPANSION_SYM 428
++#define EXTENDED_SYM 429
++#define EXTENT_SIZE_SYM 430
++#define EXTRACT_SYM 431
++#define FALSE_SYM 432
++#define FAST_SYM 433
++#define FAULTS_SYM 434
++#define FETCH_SYM 435
++#define FILE_SYM 436
++#define FIRST_SYM 437
++#define FIXED_SYM 438
++#define FLOAT_NUM 439
++#define FLOAT_SYM 440
++#define FLUSH_SYM 441
++#define FORCE_SYM 442
++#define FOREIGN 443
++#define FOR_SYM 444
++#define FOUND_SYM 445
++#define FROM 446
++#define FULL 447
++#define FULLTEXT_SYM 448
++#define FUNCTION_SYM 449
++#define GE 450
++#define GENERAL 451
++#define GENERATED_SYM 452
++#define GEOMETRYCOLLECTION 453
++#define GEOMETRY_SYM 454
++#define GET_FORMAT 455
++#define GLOBAL_SYM 456
++#define GRANT 457
++#define GRANTS 458
++#define GROUP_SYM 459
++#define GROUP_CONCAT_SYM 460
++#define HANDLER_SYM 461
++#define HARD_SYM 462
++#define HASH_SYM 463
++#define HAVING 464
++#define HELP_SYM 465
++#define HEX_NUM 466
++#define HEX_STRING 467
++#define HIGH_PRIORITY 468
++#define HOST_SYM 469
++#define HOSTS_SYM 470
++#define HOUR_MICROSECOND_SYM 471
++#define HOUR_MINUTE_SYM 472
++#define HOUR_SECOND_SYM 473
++#define HOUR_SYM 474
++#define IDENT 475
++#define IDENTIFIED_SYM 476
++#define IDENT_QUOTED 477
++#define IF 478
++#define IGNORE_SYM 479
++#define IGNORE_SERVER_IDS_SYM 480
++#define IMPORT 481
++#define INDEXES 482
++#define INDEX_SYM 483
++#define INDEX_STATS_SYM 484
++#define INFILE 485
++#define INITIAL_SIZE_SYM 486
++#define INNER_SYM 487
++#define INOUT_SYM 488
++#define INSENSITIVE_SYM 489
++#define INSERT 490
++#define INSERT_METHOD 491
++#define INSTALL_SYM 492
++#define INTERVAL_SYM 493
++#define INTO 494
++#define INT_SYM 495
++#define INVOKER_SYM 496
++#define IN_SYM 497
++#define IO_SYM 498
++#define IPC_SYM 499
++#define IS 500
++#define ISOLATION 501
++#define ISSUER_SYM 502
++#define ITERATE_SYM 503
++#define JOIN_SYM 504
++#define KEYS 505
++#define KEY_BLOCK_SIZE 506
++#define KEY_SYM 507
++#define KILL_SYM 508
++#define LANGUAGE_SYM 509
++#define LAST_SYM 510
++#define LAST_VALUE 511
++#define LE 512
++#define LEADING 513
++#define LEAVES 514
++#define LEAVE_SYM 515
++#define LEFT 516
++#define LESS_SYM 517
++#define LEVEL_SYM 518
++#define LEX_HOSTNAME 519
++#define LIKE 520
++#define LIMIT 521
++#define LINEAR_SYM 522
++#define LINES 523
++#define LINESTRING 524
++#define LIST_SYM 525
++#define LOAD 526
++#define LOCAL_SYM 527
++#define LOCATOR_SYM 528
++#define LOCKS_SYM 529
++#define LOCK_SYM 530
++#define LOGFILE_SYM 531
++#define LOGS_SYM 532
++#define LONGBLOB 533
++#define LONGTEXT 534
++#define LONG_NUM 535
++#define LONG_SYM 536
++#define LOOP_SYM 537
++#define LOW_PRIORITY 538
++#define MASTER_CONNECT_RETRY_SYM 539
++#define MASTER_HOST_SYM 540
++#define MASTER_LOG_FILE_SYM 541
++#define MASTER_LOG_POS_SYM 542
++#define MASTER_PASSWORD_SYM 543
++#define MASTER_PORT_SYM 544
++#define MASTER_SERVER_ID_SYM 545
++#define MASTER_SSL_CAPATH_SYM 546
++#define MASTER_SSL_CA_SYM 547
++#define MASTER_SSL_CERT_SYM 548
++#define MASTER_SSL_CIPHER_SYM 549
++#define MASTER_SSL_KEY_SYM 550
++#define MASTER_SSL_SYM 551
++#define MASTER_SSL_VERIFY_SERVER_CERT_SYM 552
++#define MASTER_SYM 553
++#define MASTER_USER_SYM 554
++#define MASTER_HEARTBEAT_PERIOD_SYM 555
++#define MATCH 556
++#define MAX_CONNECTIONS_PER_HOUR 557
++#define MAX_QUERIES_PER_HOUR 558
++#define MAX_ROWS 559
++#define MAX_SIZE_SYM 560
++#define MAX_SYM 561
++#define MAX_UPDATES_PER_HOUR 562
++#define MAX_USER_CONNECTIONS_SYM 563
++#define MAX_VALUE_SYM 564
++#define MEDIUMBLOB 565
++#define MEDIUMINT 566
++#define MEDIUMTEXT 567
++#define MEDIUM_SYM 568
++#define MEMORY_SYM 569
++#define MERGE_SYM 570
++#define MESSAGE_TEXT_SYM 571
++#define MICROSECOND_SYM 572
++#define MIGRATE_SYM 573
++#define MINUTE_MICROSECOND_SYM 574
++#define MINUTE_SECOND_SYM 575
++#define MINUTE_SYM 576
++#define MIN_ROWS 577
++#define MIN_SYM 578
++#define MODE_SYM 579
++#define MODIFIES_SYM 580
++#define MODIFY_SYM 581
++#define MOD_SYM 582
++#define MONTH_SYM 583
++#define MULTILINESTRING 584
++#define MULTIPOINT 585
++#define MULTIPOLYGON 586
++#define MUTEX_SYM 587
++#define MYSQL_SYM 588
++#define MYSQL_ERRNO_SYM 589
++#define NAMES_SYM 590
++#define NAME_SYM 591
++#define NATIONAL_SYM 592
++#define NATURAL 593
++#define NCHAR_STRING 594
++#define NCHAR_SYM 595
++#define NDBCLUSTER_SYM 596
++#define NE 597
++#define NEG 598
++#define NEW_SYM 599
++#define NEXT_SYM 600
++#define NODEGROUP_SYM 601
++#define NONE_SYM 602
++#define NOT2_SYM 603
++#define NOT_SYM 604
++#define NOW_SYM 605
++#define NO_SYM 606
++#define NO_WAIT_SYM 607
++#define NO_WRITE_TO_BINLOG 608
++#define NULL_SYM 609
++#define NUM 610
++#define NUMERIC_SYM 611
++#define NVARCHAR_SYM 612
++#define OFFSET_SYM 613
++#define OLD_PASSWORD 614
++#define ON 615
++#define ONE_SHOT_SYM 616
++#define ONE_SYM 617
++#define ONLINE_SYM 618
++#define OPEN_SYM 619
++#define OPTIMIZE 620
++#define OPTIONS_SYM 621
++#define OPTION 622
++#define OPTIONALLY 623
++#define OR2_SYM 624
++#define ORDER_SYM 625
++#define OR_OR_SYM 626
++#define OR_SYM 627
++#define OUTER 628
++#define OUTFILE 629
++#define OUT_SYM 630
++#define OWNER_SYM 631
++#define PACK_KEYS_SYM 632
++#define PAGE_SYM 633
++#define PAGE_CHECKSUM_SYM 634
++#define PARAM_MARKER 635
++#define PARSER_SYM 636
++#define PARSE_VCOL_EXPR_SYM 637
++#define PARTIAL 638
++#define PARTITIONING_SYM 639
++#define PARTITIONS_SYM 640
++#define PARTITION_SYM 641
++#define PASSWORD 642
++#define PERSISTENT_SYM 643
++#define PHASE_SYM 644
++#define PLUGINS_SYM 645
++#define PLUGIN_SYM 646
++#define POINT_SYM 647
++#define POLYGON 648
++#define PORT_SYM 649
++#define POSITION_SYM 650
++#define PRECISION 651
++#define PREPARE_SYM 652
++#define PRESERVE_SYM 653
++#define PREV_SYM 654
++#define PRIMARY_SYM 655
++#define PRIVILEGES 656
++#define PROCEDURE_SYM 657
++#define PROCESS 658
++#define PROCESSLIST_SYM 659
++#define PROFILE_SYM 660
++#define PROFILES_SYM 661
++#define PROXY_SYM 662
++#define PURGE 663
++#define QUARTER_SYM 664
++#define QUERY_SYM 665
++#define QUICK 666
++#define RANGE_SYM 667
++#define READS_SYM 668
++#define READ_ONLY_SYM 669
++#define READ_SYM 670
++#define READ_WRITE_SYM 671
++#define REAL 672
++#define REBUILD_SYM 673
++#define RECOVER_SYM 674
++#define REDOFILE_SYM 675
++#define REDO_BUFFER_SIZE_SYM 676
++#define REDUNDANT_SYM 677
++#define REFERENCES 678
++#define REGEXP 679
++#define RELAY 680
++#define RELAYLOG_SYM 681
++#define RELAY_LOG_FILE_SYM 682
++#define RELAY_LOG_POS_SYM 683
++#define RELAY_THREAD 684
++#define RELEASE_SYM 685
++#define RELOAD 686
++#define REMOVE_SYM 687
++#define RENAME 688
++#define REORGANIZE_SYM 689
++#define REPAIR 690
++#define REPEATABLE_SYM 691
++#define REPEAT_SYM 692
++#define REPLACE 693
++#define REPLICATION 694
++#define REQUIRE_SYM 695
++#define RESET_SYM 696
++#define RESIGNAL_SYM 697
++#define RESOURCES 698
++#define RESTORE_SYM 699
++#define RESTRICT 700
++#define RESUME_SYM 701
++#define RETURNS_SYM 702
++#define RETURN_SYM 703
++#define REVOKE 704
++#define RIGHT 705
++#define ROLLBACK_SYM 706
++#define ROLLUP_SYM 707
++#define ROUTINE_SYM 708
++#define ROWS_SYM 709
++#define ROW_FORMAT_SYM 710
++#define ROW_SYM 711
++#define RTREE_SYM 712
++#define SAVEPOINT_SYM 713
++#define SCHEDULE_SYM 714
++#define SCHEMA_NAME_SYM 715
++#define SECOND_MICROSECOND_SYM 716
++#define SECOND_SYM 717
++#define SECURITY_SYM 718
++#define SELECT_SYM 719
++#define SENSITIVE_SYM 720
++#define SEPARATOR_SYM 721
++#define SERIALIZABLE_SYM 722
++#define SERIAL_SYM 723
++#define SESSION_SYM 724
++#define SERVER_SYM 725
++#define SERVER_OPTIONS 726
++#define SET 727
++#define SET_VAR 728
++#define SHARE_SYM 729
++#define SHIFT_LEFT 730
++#define SHIFT_RIGHT 731
++#define SHOW 732
++#define SHUTDOWN 733
++#define SIGNAL_SYM 734
++#define SIGNED_SYM 735
++#define SIMPLE_SYM 736
++#define SLAVE 737
++#define SLOW 738
++#define SMALLINT 739
++#define SNAPSHOT_SYM 740
++#define SOCKET_SYM 741
++#define SOFT_SYM 742
++#define SONAME_SYM 743
++#define SOUNDS_SYM 744
++#define SOURCE_SYM 745
++#define SPATIAL_SYM 746
++#define SPECIFIC_SYM 747
++#define SQLEXCEPTION_SYM 748
++#define SQLSTATE_SYM 749
++#define SQLWARNING_SYM 750
++#define SQL_BIG_RESULT 751
++#define SQL_BUFFER_RESULT 752
++#define SQL_CACHE_SYM 753
++#define SQL_CALC_FOUND_ROWS 754
++#define SQL_NO_CACHE_SYM 755
++#define SQL_SMALL_RESULT 756
++#define SQL_SYM 757
++#define SQL_THREAD 758
++#define SSL_SYM 759
++#define STARTING 760
++#define STARTS_SYM 761
++#define START_SYM 762
++#define STATUS_SYM 763
++#define STDDEV_SAMP_SYM 764
++#define STD_SYM 765
++#define STOP_SYM 766
++#define STORAGE_SYM 767
++#define STRAIGHT_JOIN 768
++#define STRING_SYM 769
++#define SUBCLASS_ORIGIN_SYM 770
++#define SUBDATE_SYM 771
++#define SUBJECT_SYM 772
++#define SUBPARTITIONS_SYM 773
++#define SUBPARTITION_SYM 774
++#define SUBSTRING 775
++#define SUM_SYM 776
++#define SUPER_SYM 777
++#define SUSPEND_SYM 778
++#define SWAPS_SYM 779
++#define SWITCHES_SYM 780
++#define SYSDATE 781
++#define TABLES 782
++#define TABLESPACE 783
++#define TABLE_REF_PRIORITY 784
++#define TABLE_STATS_SYM 785
++#define TABLE_SYM 786
++#define TABLE_CHECKSUM_SYM 787
++#define TABLE_NAME_SYM 788
++#define TEMPORARY 789
++#define TEMPTABLE_SYM 790
++#define TERMINATED 791
++#define TEXT_STRING 792
++#define TEXT_SYM 793
++#define THAN_SYM 794
++#define THEN_SYM 795
++#define TIMESTAMP 796
++#define TIMESTAMP_ADD 797
++#define TIMESTAMP_DIFF 798
++#define TIME_SYM 799
++#define TINYBLOB 800
++#define TINYINT 801
++#define TINYTEXT 802
++#define TO_SYM 803
++#define TRAILING 804
++#define TRANSACTION_SYM 805
++#define TRANSACTIONAL_SYM 806
++#define TRIGGERS_SYM 807
++#define TRIGGER_SYM 808
++#define TRIM 809
++#define TRUE_SYM 810
++#define TRUNCATE_SYM 811
++#define TYPES_SYM 812
++#define TYPE_SYM 813
++#define UDF_RETURNS_SYM 814
++#define ULONGLONG_NUM 815
++#define UNCOMMITTED_SYM 816
++#define UNDEFINED_SYM 817
++#define UNDERSCORE_CHARSET 818
++#define UNDOFILE_SYM 819
++#define UNDO_BUFFER_SIZE_SYM 820
++#define UNDO_SYM 821
++#define UNICODE_SYM 822
++#define UNINSTALL_SYM 823
++#define UNION_SYM 824
++#define UNIQUE_SYM 825
++#define UNKNOWN_SYM 826
++#define UNLOCK_SYM 827
++#define UNSIGNED 828
++#define UNTIL_SYM 829
++#define UPDATE_SYM 830
++#define UPGRADE_SYM 831
++#define USAGE 832
++#define USER 833
++#define USER_STATS_SYM 834
++#define USE_FRM 835
++#define USE_SYM 836
++#define USING 837
++#define UTC_DATE_SYM 838
++#define UTC_TIMESTAMP_SYM 839
++#define UTC_TIME_SYM 840
++#define VALUES 841
++#define VALUE_SYM 842
++#define VARBINARY 843
++#define VARCHAR 844
++#define VARIABLES 845
++#define VARIANCE_SYM 846
++#define VARYING 847
++#define VAR_SAMP_SYM 848
++#define VIA_SYM 849
++#define VIEW_SYM 850
++#define VIRTUAL_SYM 851
++#define WAIT_SYM 852
++#define WARNINGS 853
++#define WEEK_SYM 854
++#define WHEN_SYM 855
++#define WHERE 856
++#define WHILE_SYM 857
++#define WITH 858
++#define WITH_CUBE_SYM 859
++#define WITH_ROLLUP_SYM 860
++#define WORK_SYM 861
++#define WRAPPER_SYM 862
++#define WRITE_SYM 863
++#define X509_SYM 864
++#define XA_SYM 865
++#define XML_SYM 866
++#define XOR 867
++#define YEAR_MONTH_SYM 868
++#define YEAR_SYM 869
++#define ZEROFILL 870
++#define IMPOSSIBLE_ACTION 871
++
++/* Value type. */
++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
++typedef union YYSTYPE YYSTYPE;
++union YYSTYPE
++{
++#line 732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1909 */
++
++ int num;
++ ulong ulong_num;
++ ulonglong ulonglong_number;
++ longlong longlong_number;
++ LEX_STRING lex_str;
++ LEX_STRING *lex_str_ptr;
++ LEX_SYMBOL symbol;
++ LEX_TYPE lex_type;
++ Table_ident *table;
++ char *simple_string;
++ Item *item;
++ Item_num *item_num;
++ List<Item> *item_list;
++ List<String> *string_list;
++ String *string;
++ Key_part_spec *key_part;
++ TABLE_LIST *table_list;
++ udf_func *udf;
++ LEX_USER *lex_user;
++ struct sys_var_with_base variable;
++ enum enum_var_type var_type;
++ Key::Keytype key_type;
++ enum ha_key_alg key_alg;
++ handlerton *db_type;
++ enum row_type row_type;
++ enum ha_rkey_function ha_rkey_mode;
++ enum enum_tx_isolation tx_isolation;
++ enum Cast_target cast_type;
++ enum Item_udftype udf_type;
++ enum ha_choice choice;
++ CHARSET_INFO *charset;
++ thr_lock_type lock_type;
++ interval_type interval, interval_time_st;
++ timestamp_type date_time_type;
++ st_select_lex *select_lex;
++ chooser_compare_func_creator boolfunc2creator;
++ struct sp_cond_type *spcondtype;
++ struct { int vars, conds, hndlrs, curs; } spblock;
++ sp_name *spname;
++ LEX *lex;
++ sp_head *sphead;
++ struct p_elem_val *p_elem_value;
++ enum index_hint_type index_hint;
++ enum enum_filetype filetype;
++ enum Foreign_key::fk_option m_fk_option;
++ enum enum_yes_no_unknown m_yes_no_unk;
++ Diag_condition_item_name diag_condition_item_name;
++ DYNCALL_CREATE_DEF *dyncol_def;
++ List<DYNCALL_CREATE_DEF> *dyncol_def_list;
++ bool is_not_empty;
++
++#line 1339 "/home/buildbot/git/mkdist/sql/sql_yacc.h" /* yacc.c:1909 */
++};
++# define YYSTYPE_IS_TRIVIAL 1
++# define YYSTYPE_IS_DECLARED 1
++#endif
++
++
++
++int MYSQLparse (THD *thd);
++
++#endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED */
+diff --git a/storage/maria/unittest/ma_test_all-t b/storage/maria/unittest/ma_test_all-t
+new file mode 100755
+index 0000000..e66d269
+--- /dev/null
++++ b/storage/maria/unittest/ma_test_all-t
+@@ -0,0 +1,766 @@
++#!/usr/bin/env perl
++#
++# Run various unit tests.
++#
++
++use Getopt::Long;
++use File::Basename;
++
++$|= 1;
++$^W = 1; # warnings, because env cannot parse 'perl -w'
++$VER= "1.5";
++
++$opt_version= 0;
++$opt_help= 0;
++$opt_verbose= 0;
++$opt_abort_on_error= 0;
++$opt_valgrind= "valgrind --alignment=8 --leak-check=yes";
++$opt_silent= "-s";
++$opt_number_of_tests= 0;
++$opt_run_tests= undef();
++
++my $maria_path; # path to "storage/maria"
++my $maria_exe_path; # path to executables (ma_test1, aria_chk etc)
++my $my_progname= $0;
++$my_progname=~ s/.*[\/]//;
++my $runtime_error= 0; # Return 1 if error(s) occur during run
++my $NEW_TEST= 0; # Test group separator in an array of tests
++my $test_begin= 0;
++my $test_end= 0;
++my $test_counter= 0;
++my $using_internal_tmpdir= 0;
++my $full_tmpdir;
++my $tmpdir="tmp";
++my $exec_dir="TMP-ma_test_all"; # Run test in this directory
++run_tests();
++
++####
++#### Initialise variables, clean temporary files and run the tests
++####
++
++sub run_tests
++{
++ my $nr_tests= 0;
++ my $flag_exit= 0;
++
++ if (!GetOptions("help" => \$opt_help,
++ "version" => \$opt_version,
++ "verbose" => \$opt_verbose,
++ "abort-on-error" => \$opt_abort_on_error,
++ "valgrind=s" => \$opt_valgrind,
++ "silent=s" => \$opt_silent,
++ "tmpdir=s" => \$full_tmpdir,
++ "number-of-tests" => \$opt_number_of_tests,
++ "run-tests=s" => \$opt_run_tests,
++ "start-from=s" => \$opt_run_tests))
++ {
++ $flag_exit= 1;
++ }
++ if ($opt_version)
++ {
++ print "$my_progname version $VER\n";
++ exit(0);
++ }
++
++ if (! -d $exec_dir)
++ {
++ die if (!mkdir("$exec_dir"));
++ }
++ chdir($exec_dir);
++
++ $maria_path= "../" . dirname($0) . "/..";
++
++ my $suffix= ( $^O =~ /win/i && $^O !~ /darwin/i ) ? ".exe" : "";
++ $maria_exe_path= "$maria_path/release";
++ # we use -f, sometimes -x is unexpectedly false in Cygwin
++ if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++ {
++ $maria_exe_path= "$maria_path/relwithdebinfo";
++ if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++ {
++ $maria_exe_path= "$maria_path/debug";
++ if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++ {
++ $maria_exe_path= $maria_path;
++ if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++ {
++ die("Cannot find ma_test1 executable in $maria_path\n");
++ }
++ }
++ }
++ }
++
++ usage() if ($opt_help || $flag_exit);
++
++ if (defined($full_tmpdir))
++ {
++ $tmpdir= $full_tmpdir;
++ }
++ else
++ {
++ $full_tmpdir= $tmpdir;
++ $using_internal_tmpdir= 1;
++ if (! -d "$full_tmpdir")
++ {
++ die if (!mkdir("$full_tmpdir"));
++ }
++ }
++
++ #
++ # IMPORTANT: If you modify this file, please read this:
++ #
++ # Count total number of tests. Make sure that the functions return
++ # number of unit tests correctly, e.g. calls to ok(). The last argument
++ # for each function is a flag counter and will return the number of
++ # unit tests in each. Please see comments on function ok() at the end.
++ #
++ # If you modify any functions or add any new ones, please make sure the
++ # unit tests are appropriately detected here. A wrong count will
++ # make the unit test fail during 'make test'. $nr_tests must be right.
++ #
++
++ $nr_tests+= run_check_tests(0, 0, 0, 0, 1) * 5; #
++ $nr_tests+= run_repair_tests(0, 0, 0, 0, 1) * 5; # called 4 times
++ $nr_tests+= run_pack_tests(0, 0, 0, 0, 1) * 5; #
++ $nr_tests+= run_tests_on_warnings_and_errors(0, 0, 0, 1);
++ $nr_tests+= run_ma_test_recovery(0, 1);
++ $nr_tests+= run_tests_on_clrs(0, 0, 1);
++
++ if ($opt_number_of_tests)
++ {
++ print "Total number of tests is $nr_tests\n";
++ exit(0);
++ }
++
++ if (defined($opt_run_tests))
++ {
++ if ($opt_run_tests =~ m/^(\d+)$/ ||
++ $opt_run_tests =~ m/^(\d+)\.+$/)
++ {
++ $test_begin= $1;
++ }
++ elsif ($opt_run_tests =~ m/^(\d+)\.+(\d+)$/)
++ {
++ $test_begin= $1;
++ $test_end= $2;
++ }
++ else
++ {
++ print "Wrong syntax for option --run-tests=$opt_run_tests\n";
++ print "Please use --run-tests=<begin>..<end>\nwhere 'begin' is the ";
++ print "first test to be run and 'end' is the last.\n";
++ exit(1);
++ }
++ if ($test_end > $nr_tests)
++ {
++ print "Test range ($test_begin..$test_end) out of range. ";
++ print "There are only $nr_tests in the test suite.\n";
++ exit(1);
++ }
++ $test_begin++ if (!$test_begin); # Handle zero, if user gave that
++ if ($test_end && $test_begin > $test_end)
++ {
++ print "Bad test range ($test_begin..$test_end)\n";
++ exit(1);
++ }
++ # Now adjust number of tests
++ $nr_tests= ($test_end ? $test_end : $nr_tests) - $test_begin + 1;
++ }
++
++ #
++ # clean-up
++ #
++
++ unlink_all_possible_tmp_files();
++
++ #
++ # Run tests
++ #
++
++ if (!$opt_verbose)
++ {
++ print "1..$nr_tests\n";
++ }
++ else
++ {
++ print "Total tests: $nr_tests\n";
++ }
++
++ if ($opt_verbose)
++ {
++ print "Running tests with dynamic row format\n"
++ }
++ run_check_tests($suffix, $opt_silent, "", $opt_verbose, 0);
++ run_repair_tests($suffix, $opt_silent, "", $opt_verbose, 0);
++ run_pack_tests($suffix, $opt_silent, "", $opt_verbose, 0);
++
++ if ($opt_verbose)
++ {
++ print "\nRunning tests with static row format\n";
++ }
++ run_check_tests($suffix, $opt_silent, "-S", $opt_verbose, 0);
++ run_repair_tests($suffix, $opt_silent, "-S", $opt_verbose, 0);
++ run_pack_tests($suffix, $opt_silent, "-S", $opt_verbose, 0);
++
++ if ($opt_verbose)
++ {
++ print "\nRunning tests with block row format\n";
++ }
++ run_check_tests($suffix, $opt_silent, "-M", $opt_verbose, 0);
++ run_repair_tests($suffix, $opt_silent, "-M", $opt_verbose, 0);
++ run_pack_tests($suffix, $opt_silent, "-M", $opt_verbose, 0);
++
++ if ($opt_verbose)
++ {
++ print "\nRunning tests with block row format and transactions\n";
++ }
++ run_check_tests($suffix, $opt_silent, "-M -T", $opt_verbose, 0);
++ run_repair_tests($suffix, $opt_silent, "-M -T", $opt_verbose, 0);
++ run_pack_tests($suffix, $opt_silent, "-M -T", $opt_verbose, 0);
++
++ if ($opt_verbose)
++ {
++ print "\nRunning tests with block row format, transactions and versioning\n";
++ }
++ run_check_tests($suffix, $opt_silent, "-M -T -C", $opt_verbose, 0);
++ run_repair_tests($suffix, $opt_silent, "-M -T -C", $opt_verbose, 0);
++ run_pack_tests($suffix, $opt_silent, "-M -T -C", $opt_verbose, 0);
++
++
++ if ($opt_verbose)
++ {
++ print "\nRunning tests with warnings and recovery\n";
++ }
++ run_tests_on_warnings_and_errors($suffix, $opt_silent, $opt_verbose, 0);
++ run_ma_test_recovery($opt_verbose, 0);
++ run_tests_on_clrs($suffix, $opt_verbose, 0);
++
++ unlink_all_possible_tmp_files();
++ if ($using_internal_tmpdir)
++ {
++ rmdir($tmpdir);
++ }
++ rmdir($exec_dir);
++ chdir("..");
++ rmdir($exec_dir);
++ exit($runtime_error);
++}
++
++####
++#### regular tests
++####
++
++sub run_check_tests
++{
++ my ($suffix, $silent, $row_type, $verbose, $count)= @_;
++ my ($i, $nr_tests);
++ my @ma_test1_opt= ( ["","-se"],
++ ["-N","-se"],
++ ["-P --checksum","-se"],
++ ["-P -N","-se"],
++ ["-B -N -R2","-sm"],
++ ["-a -k 480 --unique","-sm"],
++ ["-a -N -R1 ","-sm"],
++ ["-p","-sm"],
++ ["-p -N --unique","-sm"],
++ ["-p -N --key_length=127 --checksum","-sm"],
++ ["-p -N --key_length=128","-sm"],
++ ["-p --key_length=480","-sm"],
++ ["-a -B","-sm"],
++ ["-a -B --key_length=64 --unique","-sm"],
++ ["-a -B -k 480 --checksum","-sm"],
++ ["-a -B -k 480 -N --unique --checksum","-sm"],
++ ["-a -m","-sm"],
++ ["-a -m -P --unique --checksum","-sm"],
++ ["-a -m -P --key_length=480 --key_cache","-sm"],
++ ["-m -p","-sm"],
++ ["-w --unique","-sm"],
++ ["-a -w --key_length=64 --checksum","-sm"],
++ ["-a -w -N --key_length=480","-sm"],
++ ["-a -w --key_length=480 --checksum","-sm"],
++ ["-a -b -N","-sm"],
++ ["-a -b --key_length=480","-sm"],
++ ["-p -B --key_length=480","-sm"],
++ ["--checksum --unique","-se"],
++ ["--unique","-se"],
++ ["--rows-no-data", "-s"],
++ ["--key_multiple -N -S","-sm"],
++ ["--key_multiple -a -p --key_length=480","-sm"],
++ ["--key_multiple -a -B --key_length=480","-sm"],
++ ["--key_multiple -P -S","-sm"] );
++ my @ma_test2_opt= ( ["-L -K -W -P","-sm"],
++ ["-L -K -W -P -A","-sm"],
++ ["-L -K -W -P -b32768", "-sm"],
++ ["-L -K -W -P -M -T -c -b32768 -t4 -m300", "-sm"],
++ ["-L -K -P -R3 -m50 -b1000000", "-sm"],
++ ["-L -B","-sm"],
++ ["-D -B -c","-sm"],
++ ["-m10000 -e4096 -K","-sm"],
++ ["-m10000 -e8192 -K","-sm"],
++ ["-m10000 -e16384 -E16384 -K -L","-sm"],
++ ["-L -K -W -P -b32768", "-se"],
++ ["-c -b65000","-se"] );
++ my @ma_rt_test_opt= ( ); # (["--checksum", "-se"] );
++
++
++ if ($count)
++ {
++ $nr_tests= 2; # Number of tests outside loops
++ for ($i= 0; defined($ma_test1_opt[$i]); $i++) { $nr_tests+=2; }
++ for ($i= 0; defined($ma_test2_opt[$i]); $i++) { $nr_tests+=2; }
++ for ($i= 0; defined($ma_rt_test_opt[$i]); $i++) { $nr_tests+=2; }
++ return $nr_tests;
++ }
++
++ for ($i= 0; defined($ma_test1_opt[$i]); $i++)
++ {
++ unlink_log_files();
++ ok("$maria_exe_path/ma_test1$suffix $silent -h$tmpdir $ma_test1_opt[$i][0] $row_type",
++ $verbose, $i + 1);
++ ok("$maria_exe_path/aria_chk$suffix -h$tmpdir $ma_test1_opt[$i][1] $tmpdir/test1",
++ $verbose, $i + 1);
++ }
++ #
++ # These tests are outside the loops. Make sure to include them in
++ # nr_tests manually
++ #
++ ok("$maria_exe_path/aria_pack$suffix --force -s $tmpdir/test1", $verbose, 0);
++ ok("$maria_exe_path/aria_chk$suffix -ess $tmpdir/test1", $verbose, 0);
++
++ for ($i= 0; defined($ma_test2_opt[$i]); $i++)
++ {
++ unlink_log_files();
++ ok("$maria_exe_path/ma_test2$suffix $silent -h$tmpdir $ma_test2_opt[$i][0] $row_type",
++ $verbose, $i + 1);
++ ok("$maria_exe_path/aria_chk$suffix -h$tmpdir $ma_test2_opt[$i][1] $tmpdir/test2",
++ $verbose, $i + 1);
++ }
++
++ for ($i= 0; defined($ma_rt_test_opt[$i]); $i++)
++ {
++ unlink_log_files();
++ ok("$maria_exe_path/ma_rt_test$suffix $silent -h$tmpdir $ma_rt_test_opt[$i][0] $row_type",
++ $verbose, $i + 1);
++ ok("$maria_exe_path/aria_chk$suffix -h$tmpdir $ma_rt_test_opt[$i][1] $tmpdir/rt_test",
++ $verbose, $i + 1);
++ }
++
++ unlink_log_files();
++
++ return 0;
++}
++
++####
++#### repair tests
++####
++
++sub run_repair_tests()
++{
++ my ($suffix, $silent, $row_type, $verbose, $count)= @_;
++ my ($i);
++
++ my @t= ($NEW_TEST,
++ "$maria_exe_path/ma_test1$suffix $silent --checksum $row_type",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix --silent -re --transaction-log test1",
++ "$maria_exe_path/aria_chk$suffix -rs test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -rqs test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -rs --correct-checksum test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -rqs --correct-checksum test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -ros --correct-checksum test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -rqos --correct-checksum test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -sz test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/ma_test2$suffix $silent -c -d1 $row_type",
++ "$maria_exe_path/aria_chk$suffix -s --parallel-recover test2",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ "$maria_exe_path/aria_chk$suffix -s --parallel-recover --quick test2",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ "$maria_exe_path/ma_test2$suffix $silent -c $row_type",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ "$maria_exe_path/aria_chk$suffix -sr test2",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ "$maria_exe_path/ma_test2$suffix $silent -c -t4 -b32768 $row_type",
++ "$maria_exe_path/aria_chk$suffix -s --zerofill test1",
++ "$maria_exe_path/aria_chk$suffix -se test1"
++ );
++
++ return &count_tests(\@t) if ($count);
++ &run_test_bunch(\@t, $verbose, 0);
++ return 0;
++}
++
++####
++#### pack tests
++####
++
++sub run_pack_tests()
++{
++ my ($suffix, $silent, $row_type, $verbose, $count)= @_;
++ my ($i);
++
++ my @t= ($NEW_TEST,
++ "$maria_exe_path/ma_test1$suffix $silent --checksum $row_type",
++ "$maria_exe_path/aria_pack$suffix --force -s test1",
++ "$maria_exe_path/aria_chk$suffix -ess test1",
++ "$maria_exe_path/aria_chk$suffix -rqs test1",
++ "$maria_exe_path/aria_chk$suffix -es test1",
++ "$maria_exe_path/aria_chk$suffix -rs test1",
++ "$maria_exe_path/aria_chk$suffix -es test1",
++ "$maria_exe_path/aria_chk$suffix -rus test1",
++ "$maria_exe_path/aria_chk$suffix -es test1",
++ $NEW_TEST,
++ "$maria_exe_path/ma_test1$suffix $silent --checksum $row_type",
++ "$maria_exe_path/aria_pack$suffix --force -s test1",
++ "$maria_exe_path/aria_chk$suffix -rus --safe-recover test1",
++ "$maria_exe_path/aria_chk$suffix -es test1",
++ $NEW_TEST,
++ "$maria_exe_path/ma_test1$suffix $silent --checksum -S $row_type",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ "$maria_exe_path/aria_chk$suffix -ros test1",
++ "$maria_exe_path/aria_chk$suffix -rqs test1",
++ "$maria_exe_path/aria_chk$suffix -se test1",
++ $NEW_TEST,
++ "$maria_exe_path/aria_pack$suffix --force -s test1",
++ "$maria_exe_path/aria_chk$suffix -rqs test1",
++ "$maria_exe_path/aria_chk$suffix -es test1",
++ "$maria_exe_path/aria_chk$suffix -rus test1",
++ "$maria_exe_path/aria_chk$suffix -es test1",
++ $NEW_TEST,
++ "$maria_exe_path/ma_test2$suffix $silent -c -d1 $row_type",
++ "$maria_exe_path/aria_chk$suffix -s --parallel-recover test2",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ "$maria_exe_path/aria_chk$suffix -s --unpack --parallel-recover test2",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ "$maria_exe_path/aria_pack$suffix --force -s test1",
++ "$maria_exe_path/aria_chk$suffix -s --unpack --parallel-recover test2",
++ "$maria_exe_path/aria_chk$suffix -se test2",
++ $NEW_TEST,
++ "$maria_exe_path/ma_test1$suffix $silent -c $row_type",
++ "cp test1.MAD test2.MAD",
++ "cp test1.MAI test2.MAI",
++ "$maria_exe_path/aria_pack$suffix --force -s --join=test3 test1 test2",
++ );
++
++ return (&count_tests(\@t) + 3) if ($count);
++ &run_test_bunch(\@t, $verbose, 0);
++
++ ok("$maria_exe_path/aria_chk -s test3", $verbose, 0, 1);
++ @t= ("$maria_exe_path/aria_chk -s --safe-recover test3",
++ "$maria_exe_path/aria_chk -s test3");
++ &run_test_bunch(\@t, $verbose, 0);
++
++ return 0;
++}
++
++####
++#### Tests that gives warnings or errors
++####
++
++sub run_tests_on_warnings_and_errors
++{
++ my ($suffix, $silent, $verbose, $count)= @_;
++ my ($com);
++
++ return 9 if ($count); # Number of tests in this function, e.g. calls to ok()
++
++ ok("$maria_exe_path/ma_test2$suffix -h$tmpdir $silent -L -K -W -P -S -R1 -m500",
++ $verbose, 0);
++ ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2", $verbose, 0);
++ # ma_test2$suffix $silent -L -K -R1 -m2000 ; Should give error 135\n
++ # In the following a failure is a success and success is a failure
++ $com= "$maria_exe_path/ma_test2$suffix -h$tmpdir $silent -L -K -R1 -m2000 ";
++ $com.= ">ma_test2_message.txt 2>&1";
++ ok($com, $verbose, 0, 1);
++ ok("cat ma_test2_message.txt", $verbose, 0);
++ ok("grep \"Error: 135\" ma_test2_message.txt > /dev/null", $verbose, 0);
++ # maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2 will warn that
++ # Datafile is almost full
++ ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2 >ma_test2_message.txt 2>&1",
++ $verbose, 0, 1);
++ ok("cat ma_test2_message.txt", $verbose, 0);
++ ok("grep \"warning: Datafile is almost full\" ma_test2_message.txt>/dev/null",
++ $verbose, 0);
++ unlink <ma_test2_message.txt>;
++ ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -ssm $tmpdir/test2", $verbose, 0);
++
++ return 0;
++}
++
++####
++#### Test that removing tables and applying the log leads to identical tables
++####
++
++sub run_ma_test_recovery
++{
++ my ($verbose, $count)= @_;
++
++ return 1 if ($count); # Number of tests in this function
++ ok("$maria_path/unittest/ma_test_recovery.pl", $verbose, 0);
++ return 0;
++}
++
++####
++#### Tests on CLR's
++####
++
++sub run_tests_on_clrs
++{
++ my ($suffix, $verbose, $count)= @_;
++ my ($i);
++
++ my @t= ($NEW_TEST,
++ "$maria_exe_path/ma_test2$suffix -h$tmpdir -s -L -K -W -P -M -T -c -b -t2 -A1",
++ "cp $tmpdir/aria_log_control $tmpdir/aria_log_control.backup",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -s -e $tmpdir/test2",
++ "mv $tmpdir/aria_log_control.backup $tmpdir/aria_log_control",
++ "rm $tmpdir/test2.MA?",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -s -e $tmpdir/test2",
++ "rm $tmpdir/test2.MA?",
++ $NEW_TEST,
++ "$maria_exe_path/ma_test2$suffix -h$tmpdir -s -L -K -W -P -M -T -c -b -t2 -A1",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir ",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -s -e $tmpdir/test2",
++ "rm $tmpdir/test2.MA?",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -e -s $tmpdir/test2",
++ "rm $tmpdir/test2.MA?",
++ $NEW_TEST,
++ "$maria_exe_path/ma_test2$suffix -h$tmpdir -s -L -K -W -P -M -T -c -b32768 -t4 -A1",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -es $tmpdir/test2",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir ",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -es $tmpdir/test2",
++ "rm $tmpdir/test2.MA?",
++ "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++ "$maria_exe_path/aria_chk$suffix -h$tmpdir -es $tmpdir/test2",
++ "rm $tmpdir/test2.MA?"
++ );
++
++ return &count_tests(\@t) if ($count);
++ &run_test_bunch(\@t, $verbose, 1);
++ return 0;
++}
++
++#
++# Print "ok" on success and "not ok" on error
++#
++# Note: Every time this function is called it will be counted
++# as a unit test.
++#
++# Args: $com: The actual command run. Will be printed on a failure
++# $verbose: Be more verbose.
++# $iteration: Number of iterations in a loop when the error
++# occurred. If not in loop, this should be blank
++# (e.g. send zero).
++# $expected_error: Optional; put here expected error code. Test
++# will pass with this result only.
++#
++# Return value: Will return 1 on success and 0 on an error
++#
++
++sub ok
++{
++ my ($com, $verbose, $iteration, $expected_error)= @_;
++ my ($msg, $output, $err, $errcode, $len);
++
++ $test_counter++;
++ if ($test_begin > $test_counter)
++ {
++ return 0;
++ }
++ if ($test_end && $test_end < $test_counter)
++ {
++ exit(0);
++ }
++
++ $msg= "";
++ $expected_error= 0 if (!defined($expected_error));
++
++ if ($verbose)
++ {
++ # Print command with out the long unittest/../ prefix
++ my $tmp;
++ $tmp= $com;
++ $tmp =~ s|^unittest/../||;
++ print "$tmp ";
++ $len= length($tmp);
++ }
++ $output= `$com 2>&1`;
++ if ($verbose)
++ {
++ print " " x (62 - $len);
++ }
++ $err= $?;
++ $errcode= ($? >> 8);
++ if ((!$err && !$expected_error) ||
++ ($errcode == $expected_error && $expected_error))
++ {
++ print "[ " if ($verbose);
++ print "ok";
++ if ($verbose)
++ {
++ print " ]";
++ print " " x (5 - length("$test_counter"));
++ print "$test_counter";
++ }
++ else
++ {
++ print " $test_counter - $com"
++ }
++ print "\n";
++ return 1;
++ }
++ print "[ " if ($verbose);
++ print "not ok";
++ print " ]" if ($verbose);
++ print " $test_counter - $com" unless $verbose;
++ print "\n";
++ if ($verbose && defined($output) && length($output))
++ {
++ print "$output\n";
++ }
++ if (!$verbose)
++ {
++ $msg= "\n"; # Get a nicer output in perl unit test mode
++ }
++ $msg.= "Failed test '$com' ";
++ if ($iteration)
++ {
++ $msg.= "(loop iteration $iteration.) ";
++ }
++ $msg.= "at line ";
++ $msg.= (caller)[2];
++ $msg.= "\n(errcode: $errcode, test: $test_counter)\n";
++ if ($expected_error)
++ {
++ $msg.= "Was expecting errcode: $expected_error\n";
++ }
++ warn $msg;
++ $runtime_error= 1;
++ if ($opt_abort_on_error)
++ {
++ exit 1;
++ }
++ return 0;
++}
++
++#
++# Print "skip" and the reason
++#
++# Note: Every time this function is called it will be counted
++# as a unit test.
++#
++# Args: $com: The actual command run. Will be printed on a failure
++# $reason: The reason to skip a test
++# $verbose: Be more verbose.
++#
++
++sub skip
++{
++ my ($com, $reason, $verbose)= @_;
++
++ $test_counter++;
++ return 0 if $test_begin > $test_counter;
++ exit 0 if $test_end && $test_end < $test_counter;
++ printf '%-64s[ skipped ]%5d', $com, $test_counter if $verbose;
++ print "ok $test_counter # skip $reason" unless $verbose;
++ print "\n";
++ return 1;
++}
++
++####
++#### Count tests
++#### Arguments: $t: an array of the tests
++####
++
++sub count_tests
++{
++ my ($t)= @_;
++ my ($i, $nr_tests);
++
++ $nr_tests= 0;
++ for ($i= 0; defined(@$t[$i]); $i++) { $nr_tests++ if (@$t[$i]); }
++ return $nr_tests;
++}
++
++sub unlink_log_files
++{
++ unlink "$full_tmpdir/aria_log_control", "$full_tmpdir/aria_log.00000001", "$full_tmpdir/aria_log.00000002";
++}
++
++sub unlink_all_possible_tmp_files()
++{
++ unlink_log_files();
++
++ # Unlink tmp files that may have been created when testing the test programs
++ unlink <$full_tmpdir/*.TMD $full_tmpdir/aria_read_log_test1.txt $full_tmpdir/test1*.MA? $full_tmpdir/ma_test_recovery.output aria_log_control aria_log.00000001 aria_log.00000002 aria_logtest1.MA? test1.MA? test2.MA? test3.MA?>;
++}
++
++####
++#### Run a bunch of tests
++#### Arguments: $t: an array of the tests
++#### $verbose: to be passed to ok()
++#### $clear: clear log files if set
++####
++
++sub run_test_bunch
++{
++ my ($t, $verbose, $clear)= @_;
++ my ($i);
++
++ for ($i= 0; defined(@$t[$i]); $i++)
++ {
++ if ($clear && @$t[$i] eq $NEW_TEST)
++ {
++ unlink_log_files();
++ }
++ if (@$t[$i] ne $NEW_TEST)
++ {
++ ok(@$t[$i], $verbose, $i + 1);
++ }
++ }
++}
++
++####
++#### usage
++####
++
++sub usage
++{
++ print <<EOF;
++$my_progname version $VER
++
++Description:
++
++Run various Aria related tests. Typically used via make test as a unittest.
++
++Options
++--help Show this help and exit.
++--abort-on-error Abort at once in case of error.
++--number-of-tests Print the total number of tests and exit.
++--run-tests=... Test number(s) that should be run. You can give just
++ one number or a range. For example 45..89. To run a specific
++ test alone, for example test 215, use --run-tests=215..215
++ Use this option with caution, because some of the tests
++ might depend on previous ones.
++--start-from=... Alias for --run-tests
++--silent=... Silent option passed to ma_test* tests ('$opt_silent')
++--tmpdir=... Store tests data in this directory (works for most tests)
++--valgrind=... Options for valgrind.
++ ('$opt_valgrind')
++--verbose Be more verbose. Will print each unittest on a line
++ and result after. This mode cannot be used with unit.pl
++ when running in normal unit test mode.
++--version Show version number and exit.
++EOF
++ exit(0);
++}
+diff --git a/storage/ndb/ndbapi-examples/Makefile b/storage/ndb/ndbapi-examples/Makefile
+new file mode 100644
+index 0000000..6a48afc
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/Makefile
+@@ -0,0 +1,27 @@
++BIN_DIRS := ndbapi_simple \
++ ndbapi_async \
++ ndbapi_async1 \
++ ndbapi_retries \
++ ndbapi_simple_index \
++ ndbapi_event \
++ ndbapi_scan \
++ mgmapi_logevent \
++ ndbapi_simple_dual \
++ mgmapi_logevent2
++
++bins: $(patsubst %, _bins_%, $(BIN_DIRS))
++
++$(patsubst %, _bins_%, $(BIN_DIRS)) :
++ $(MAKE) -C $(patsubst _bins_%, %, $@) $(OPTS)
++
++libs:
++
++clean:
++ for f in ${BIN_DIRS}; do \
++ $(MAKE) -C $$f $@;\
++ done
++
++clean_dep: clean
++cleanall: clean
++tidy: clean
++distclean: clean
+diff --git a/storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile b/storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile
+new file mode 100644
+index 0000000..b67150b
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile
+@@ -0,0 +1,24 @@
++TARGET = mgmapi_logevent
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS =
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++ $(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/mgmapi -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile b/storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile
+new file mode 100644
+index 0000000..fd9499c
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile
+@@ -0,0 +1,24 @@
++TARGET = mgmapi_logevent2
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS =
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++ $(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/mgmapi -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_async/Makefile b/storage/ndb/ndbapi-examples/ndbapi_async/Makefile
+new file mode 100644
+index 0000000..c18e967
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_async/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_async
++SRCS = $(TARGET).cpp
++OBJS = $(TARGET).o
++CXX = g++
++CFLAGS = -g -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = -g
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++ $(CXX) $(CFLAGS) -I$(INCLUDE_DIR)/include -I$(INCLUDE_DIR)/extra -I$(INCLUDE_DIR)/storage/ndb/include -I$(INCLUDE_DIR)/storage/ndb/include/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_async1/Makefile b/storage/ndb/ndbapi-examples/ndbapi_async1/Makefile
+new file mode 100644
+index 0000000..c880861
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_async1/Makefile
+@@ -0,0 +1,23 @@
++TARGET = ndbapi_async1
++SRCS = ndbapi_async1.cpp
++OBJS = ndbapi_async1.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++ $(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_event/Makefile b/storage/ndb/ndbapi-examples/ndbapi_event/Makefile
+new file mode 100644
+index 0000000..c043001
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_event/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_event
++SRCS = ndbapi_event.cpp
++OBJS = ndbapi_event.o
++CXX = g++ -g
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS =
++DEBUG =# -DVM_TRACE
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS) Makefile
++ $(CXX) $(CFLAGS) $(DEBUG) -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi -I$(TOP_SRCDIR)/include $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_retries/Makefile b/storage/ndb/ndbapi-examples/ndbapi_retries/Makefile
+new file mode 100644
+index 0000000..1b4a316
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_retries/Makefile
+@@ -0,0 +1,23 @@
++TARGET = ndbapi_retries
++SRCS = ndbapi_retries.cpp
++OBJS = ndbapi_retries.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++ $(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_scan/Makefile b/storage/ndb/ndbapi-examples/ndbapi_scan/Makefile
+new file mode 100644
+index 0000000..3074250
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_scan/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_scan
++SRCS = $(TARGET).cpp
++OBJS = $(TARGET).o
++CXX = g++
++CFLAGS = -g -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = -g
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++ $(CXX) $(CFLAGS) -I$(INCLUDE_DIR)/include -I$(INCLUDE_DIR)/extra -I$(INCLUDE_DIR)/storage/ndb/include -I$(INCLUDE_DIR)/storage/ndb/include/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_simple/Makefile b/storage/ndb/ndbapi-examples/ndbapi_simple/Makefile
+new file mode 100644
+index 0000000..fa407fb
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_simple/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_simple
++SRCS = $(TARGET).cpp
++OBJS = $(TARGET).o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS =
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++ $(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile b/storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile
+new file mode 100644
+index 0000000..9757df3
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_simple_dual
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS =
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++ $(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile b/storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile
+new file mode 100644
+index 0000000..975563b
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_simple_index
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS =
++DEBUG =
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++ -L$(TOP_SRCDIR)/libmysql_r/.libs \
++ -L$(TOP_SRCDIR)/zlib/.libs \
++ -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB =
++
++$(TARGET): $(OBJS)
++ $(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++ $(CXX) $(CFLAGS) -I$(INCLUDE_DIR)/include -I$(INCLUDE_DIR)/storage/ndb/include -I$(INCLUDE_DIR)/storage/ndb/include/ndbapi $(SRCS)
++
++clean:
++ rm -f *.o $(TARGET)
+diff --git a/storage/ndb/src/common/logger/listtest/Makefile b/storage/ndb/src/common/logger/listtest/Makefile
+new file mode 100644
+index 0000000..4688a5e
+--- /dev/null
++++ b/storage/ndb/src/common/logger/listtest/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE :=
++
++BIN_TARGET := listtest
++BIN_TARGET_ARCHIVES := portlib logger general
++
++SOURCES := LogHandlerListUnitTest.cpp
++
++CCFLAGS_LOC += -I../ -I$(NDB_TOP)/include/logger -I$(NDB_TOP)/include/portlib
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/common/logger/loggertest/Makefile b/storage/ndb/src/common/logger/loggertest/Makefile
+new file mode 100644
+index 0000000..0aef0ca
+--- /dev/null
++++ b/storage/ndb/src/common/logger/loggertest/Makefile
+@@ -0,0 +1,16 @@
++include .defs.mk
++
++TYPE :=
++
++BIN_TARGET := loggertest
++BIN_TARGET_ARCHIVES := logger portlib general
++
++SOURCES := LoggerUnitTest.cpp
++
++CCFLAGS_LOC += -I$(NDB_TOP)/include/logger \
++ -I$(NDB_TOP)/include/util \
++ -I$(NDB_TOP)/include/portlib
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/common/mgmcommon/printConfig/Makefile b/storage/ndb/src/common/mgmcommon/printConfig/Makefile
+new file mode 100644
+index 0000000..77e8943
+--- /dev/null
++++ b/storage/ndb/src/common/mgmcommon/printConfig/Makefile
+@@ -0,0 +1,16 @@
++include .defs.mk
++
++TYPE := ndbapi mgmapiclient
++
++BIN_TARGET := printConfig
++BIN_TARGET_ARCHIVES := general portlib
++
++CCFLAGS_LOC += -I..
++
++SOURCES := printConfig.cpp ../ConfigRetriever.cpp
++
++SOURCES.c := ../NdbConfig.c ../LocalConfig.c
++
++CFLAGS_printConfig.cpp := -I$(call fixpath,$(NDB_TOP)/src/mgmapi)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/common/transporter/basictest/Makefile b/storage/ndb/src/common/transporter/basictest/Makefile
+new file mode 100644
+index 0000000..d86af36
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/basictest/Makefile
+@@ -0,0 +1,15 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := basicTransporterTest
++BIN_TARGET_ARCHIVES := transporter portlib general
++
++SOURCES = basicTransporterTest.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/failoverSCI/Makefile b/storage/ndb/src/common/transporter/failoverSCI/Makefile
+new file mode 100644
+index 0000000..1e3d5f4
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/failoverSCI/Makefile
+@@ -0,0 +1,18 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := failoverSCI
++BIN_TARGET_LIBS := sisci
++BIN_TARGET_ARCHIVES := portlib
++
++CCFLAGS_LOC += -I..
++
++SOURCES = failoverSCI.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/perftest/Makefile b/storage/ndb/src/common/transporter/perftest/Makefile
+new file mode 100644
+index 0000000..01869e1
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/perftest/Makefile
+@@ -0,0 +1,15 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := perfTransporterTest
++BIN_TARGET_ARCHIVES := transporter portlib general
++
++SOURCES = perfTransporterTest.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/priotest/Makefile b/storage/ndb/src/common/transporter/priotest/Makefile
+new file mode 100644
+index 0000000..483fc0f
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/Makefile
+@@ -0,0 +1,15 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++SOURCES = prioTransporterTest.cpp
++ARCHIVE_TARGET := libpriotransportertest.a
++
++DIRS := prioTCP prioSHM prioSCI
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/priotest/prioSCI/Makefile b/storage/ndb/src/common/transporter/priotest/prioSCI/Makefile
+new file mode 100644
+index 0000000..7d40353
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/prioSCI/Makefile
+@@ -0,0 +1,17 @@
++include .defs.mk
++
++TYPE := ndbapi
++BIN_TARGET := prioSCI
++BIN_TARGET_LIBS := sisci
++BIN_TARGET_ARCHIVES := priotransportertest transporter portlib general
++
++CCFLAGS_LOC += -I..
++
++SOURCES = prioSCI.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/priotest/prioSHM/Makefile b/storage/ndb/src/common/transporter/priotest/prioSHM/Makefile
+new file mode 100644
+index 0000000..a827c6e
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/prioSHM/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := prioSHM
++BIN_TARGET_ARCHIVES := priotransportertest transporter portlib general
++
++CCFLAGS_LOC += -I..
++
++SOURCES = prioSHM.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/src/common/transporter/priotest/prioTCP/Makefile b/storage/ndb/src/common/transporter/priotest/prioTCP/Makefile
+new file mode 100644
+index 0000000..92abf3e
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/prioTCP/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := prioTCP
++BIN_TARGET_ARCHIVES := priotransportertest transporter portlib general
++
++CCFLAGS_LOC += -I..
++
++SOURCES = prioTCP.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/src/common/util/filetest/Makefile b/storage/ndb/src/common/util/filetest/Makefile
+new file mode 100644
+index 0000000..fe18429
+--- /dev/null
++++ b/storage/ndb/src/common/util/filetest/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE :=
++
++BIN_TARGET := filetest
++BIN_TARGET_ARCHIVES := portlib general
++
++SOURCES := FileUnitTest.cpp
++
++CCFLAGS_LOC += -I$(NDB_TOP)/include/logger -I$(NDB_TOP)/include/portlib
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/common/util/testConfigValues/Makefile b/storage/ndb/src/common/util/testConfigValues/Makefile
+new file mode 100644
+index 0000000..5b7400f
+--- /dev/null
++++ b/storage/ndb/src/common/util/testConfigValues/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := testConfigValues
++BIN_TARGET_ARCHIVES := portlib general
++
++SOURCES := testConfigValues.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/util)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/common/util/testProperties/Makefile b/storage/ndb/src/common/util/testProperties/Makefile
+new file mode 100644
+index 0000000..343c07a
+--- /dev/null
++++ b/storage/ndb/src/common/util/testProperties/Makefile
+@@ -0,0 +1,9 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := keso
++
++SOURCES := testProperties.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/common/util/testSimpleProperties/Makefile b/storage/ndb/src/common/util/testSimpleProperties/Makefile
+new file mode 100644
+index 0000000..89d33fa
+--- /dev/null
++++ b/storage/ndb/src/common/util/testSimpleProperties/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := sp_test
++BIN_TARGET_ARCHIVES := portlib general
++
++SOURCES := sp_test.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/util)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/cw/test/socketclient/Makefile b/storage/ndb/src/cw/test/socketclient/Makefile
+new file mode 100644
+index 0000000..04f11f0
+--- /dev/null
++++ b/storage/ndb/src/cw/test/socketclient/Makefile
+@@ -0,0 +1,24 @@
++include .defs.mk
++
++TYPE :=
++
++BIN_TARGET := socketclient
++
++
++
++CCFLAGS_LOC += -I../../util/ -I../../cpcd/
++
++LIBS_LOC += -L$(NDB_TOP)/lib/ -L$(EXTERNAL_LIB_DIR)/sci
++
++LIBS_SPEC += -lsocketclient
++
++
++SOURCES = socketClientTest.cpp
++
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/cw/util/Makefile b/storage/ndb/src/cw/util/Makefile
+new file mode 100644
+index 0000000..f5ab167
+--- /dev/null
++++ b/storage/ndb/src/cw/util/Makefile
+@@ -0,0 +1,10 @@
++include .defs.mk
++TYPE := ndbapi
++
++PIC_ARCHIVE := Y
++ARCHIVE_TARGET := socketclient
++
++# Source files of non-templated classes (.cpp files)
++SOURCES = ClientInterface.cpp SocketService.cpp SocketClient.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile b/storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile
+new file mode 100644
+index 0000000..4c4b102
+--- /dev/null
++++ b/storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := printSysfile
++BIN_TARGET_ARCHIVES := portlib general
++
++CCFLAGS_LOC += -I..
++
++SOURCES := printSysfile.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile
+new file mode 100644
+index 0000000..b0356e6
+--- /dev/null
++++ b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile
+@@ -0,0 +1,27 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET := aftest
++BIN_TARGET_ARCHIVES := ndbfs portlib trace signaldataprint
++
++SOURCES = AsyncFileTest.cpp
++
++CFLAGS_AsyncFileTest.cpp = -I../
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++# run basic tests
++run_test :
++ $(NDB_TOP)/bin/$(BIN_TARGET)
++ $(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 8 -l 10 -remove
++ $(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 8 -l 10 -reverse -remove
++ $(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 8 -l 10 -s 512 -remove
++ $(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 4 -l 1000
++
++
++
++
++
++
+diff --git a/storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile b/storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile
+new file mode 100644
+index 0000000..68f71bf
+--- /dev/null
++++ b/storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET := mctest
++BIN_TARGET_ARCHIVES := portlib
++
++SOURCES = MemoryChannelTest.cpp
++
++CFLAGS_MemoryChannelTest.cpp = -I../
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/src/kernel/vm/al_test/Makefile b/storage/ndb/src/kernel/vm/al_test/Makefile
+new file mode 100644
+index 0000000..a7287a3
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/al_test/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET := al_test
++BIN_TARGET_ARCHIVES := portlib
++
++SOURCES = main.cpp
++
++CFLAGS_main.cpp = -DDEBUG
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testCopy/Makefile b/storage/ndb/src/kernel/vm/testCopy/Makefile
+new file mode 100644
+index 0000000..5abd93e
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testCopy/Makefile
+@@ -0,0 +1,9 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := testCopy
++
++SOURCES = testCopy.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testDataBuffer/Makefile b/storage/ndb/src/kernel/vm/testDataBuffer/Makefile
+new file mode 100644
+index 0000000..693989d
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testDataBuffer/Makefile
+@@ -0,0 +1,10 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET := testKernelDataBuffer
++BIN_TARGET_ARCHIVES := general portlib
++
++SOURCES = testDataBuffer.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testLongSig/Makefile b/storage/ndb/src/kernel/vm/testLongSig/Makefile
+new file mode 100644
+index 0000000..ecf33dc
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testLongSig/Makefile
+@@ -0,0 +1,9 @@
++include .defs.mk
++
++TYPE := signalsender
++
++BIN_TARGET := testLongSig
++
++SOURCES = testLongSig.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile b/storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile
+new file mode 100644
+index 0000000..fb3aea0
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile
+@@ -0,0 +1,10 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET := testSimplePropertiesSection
++BIN_TARGET_ARCHIVES := general portlib
++
++SOURCES = test.cpp ../SimplePropertiesSection.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/mgmapi/test/Makefile b/storage/ndb/src/mgmapi/test/Makefile
+new file mode 100644
+index 0000000..c6d3efa
+--- /dev/null
++++ b/storage/ndb/src/mgmapi/test/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := mgmapiclient util
++
++BIN_TARGET := testMgmapi
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/src/common/mgmcommon)
++#-I$(NDB_TOP)/include/util -I$(NDB_TOP)/include/portlib
++
++# Source files of non-templated classes (.C files)
++SOURCES = keso.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/mgmclient/test_cpcd/Makefile b/storage/ndb/src/mgmclient/test_cpcd/Makefile
+new file mode 100644
+index 0000000..4ced10c
+--- /dev/null
++++ b/storage/ndb/src/mgmclient/test_cpcd/Makefile
+@@ -0,0 +1,17 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := test_cpcd
++BIN_TARGET_LIBS := general
++
++
++# Source files of non-templated classes (.cpp files)
++SOURCES = test_cpcd.cpp ../CpcClient.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/mgmapi) \
++ -I$(call fixpath,$(NDB_TOP)/src/common/mgmcommon)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/mgmsrv/mkconfig/Makefile b/storage/ndb/src/mgmsrv/mkconfig/Makefile
+new file mode 100644
+index 0000000..43574ee
+--- /dev/null
++++ b/storage/ndb/src/mgmsrv/mkconfig/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := mkconfig
++BIN_TARGET_ARCHIVES := logger trace mgmsrvcommon portlib general
++
++SOURCES := mkconfig.cpp
++
++CCFLAGS_LOC += -I.. -I$(call fixpath,$(NDB_TOP)/src/common/mgmcommon)
++CFLAGS_mkconfig.cpp := -I$(call fixpath,$(NDB_TOP)/src/mgmapi)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/ndbapi/signal-sender/Makefile b/storage/ndb/src/ndbapi/signal-sender/Makefile
+new file mode 100644
+index 0000000..56e6ce1
+--- /dev/null
++++ b/storage/ndb/src/ndbapi/signal-sender/Makefile
+@@ -0,0 +1,19 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++NONPIC_ARCHIVE := Y
++ARCHIVE_TARGET := signal-sender
++
++BIN_TARGET_LIBS := # -lkalle
++BIN_TARGET_ARCHIVES := portlib # $(NDB_TOP)/lib/libkalle.a
++
++# Source files of non-templated classes (.cpp files)
++SOURCES = SignalSender.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/src/ndbapi)
++
++include $(NDB_TOP)/Epilogue.mk
++
++###
++# Backward compatible
+diff --git a/storage/ndb/test/newtonapi/basic_test/Makefile b/storage/ndb/test/newtonapi/basic_test/Makefile
+new file mode 100644
+index 0000000..d7eaf98
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/Makefile
+@@ -0,0 +1,25 @@
++include .defs.mk
++
++TYPE := util
++
++PIC_ARCHIVE := Y
++ARCHIVE_TARGET := newtonbasictestcommon
++
++A_LIB := Y
++SO_LIB := Y
++PIC_LIB := Y
++
++LIB_TARGET := NEWTON_BASICTEST_COMMON
++LIB_TARGET_ARCHIVES := $(ARCHIVE_TARGET) NEWTON_API
++
++
++SOURCES = common.cpp
++
++DIRS := basic \
++ ptr_binding \
++ bulk_read
++
++CCFLAGS_LOC := -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi)
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/test/newtonapi/basic_test/basic/Makefile b/storage/ndb/test/newtonapi/basic_test/basic/Makefile
+new file mode 100644
+index 0000000..7e2945d
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/basic/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_basic
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_BASICTEST_COMMON NEWTON_API
++SOURCES := basic.cpp
++
++CCFLAGS_LOC := -I.. -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile b/storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile
+new file mode 100644
+index 0000000..c45bbad
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_br
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_BASICTEST_COMMON NEWTON_API
++SOURCES := br_test.cpp
++
++CCFLAGS_LOC := -I.. -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile b/storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile
+new file mode 100644
+index 0000000..95e87d4
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_pb
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_BASICTEST_COMMON NEWTON_API
++SOURCES := ptr_binding_test.cpp
++
++CCFLAGS_LOC := -I.. -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/newtonapi/perf_test/Makefile b/storage/ndb/test/newtonapi/perf_test/Makefile
+new file mode 100644
+index 0000000..2be004d
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/perf_test/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_perf
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_API
++SOURCES := perf.cpp
++
++CCFLAGS_LOC := -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/odbc/SQL99_test/Makefile b/storage/ndb/test/odbc/SQL99_test/Makefile
+new file mode 100644
+index 0000000..3ac0601
+--- /dev/null
++++ b/storage/ndb/test/odbc/SQL99_test/Makefile
+@@ -0,0 +1,26 @@
++include .defs.mk
++
++TYPE = odbcdriver
++
++BIN_TARGET = SQL99_test
++
++SOURCES = SQL99_test.cpp
++
++CCFLAGS_LOC += -I/usr/local/include \
++ -I$(NDB_TOP)/test/include \
++ -I$(NDB_TOP)/include \
++ -I$(NDB_TOP)/src/client/odbc/common
++
++
++CCFLAGS_WARNINGS += -Wno-unused
++
++LIBS_SPEC += \
++ -lNDBT \
++ -lodbc \
++ -lodbcinst \
++ -lportlib
++
++
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/test/odbc/client/Makefile b/storage/ndb/test/odbc/client/Makefile
+new file mode 100644
+index 0000000..4b962f5
+--- /dev/null
++++ b/storage/ndb/test/odbc/client/Makefile
+@@ -0,0 +1,95 @@
++include .defs.mk
++
++TYPE := odbcclient
++#TYPE := odbcdriver
++
++BIN_TARGET := testOdbcClient
++#BIN_TARGET := testodbc2
++
++
++# Source files of non-templated classes (.C files)
++SOURCES = main.cpp \
++ SQLFetchTest.cpp \
++ SQLDisconnectTest.cpp \
++ SQLTablesTest.cpp \
++ SQLGetInfoTest.cpp \
++ SQLGetTypeInfoTest.cpp \
++ SQLGetFunctionsTest.cpp \
++ SQLGetDataTest.cpp \
++ SQLCancelTest.cpp \
++ SQLTransactTest.cpp \
++ SQLGetCursorNameTest.cpp \
++ SQLSetCursorNameTest.cpp \
++ SQLRowCountTest.cpp \
++ SQLNumResultColsTest.cpp \
++ SQLDescribeColTest.cpp \
++ SQLExecDirectTest.cpp \
++ SQLColAttributeTest.cpp \
++ SQLColAttributeTest1.cpp \
++ SQLColAttributeTest2.cpp \
++ SQLColAttributeTest3.cpp \
++ SQLBindColTest.cpp \
++ SQLDriverConnectTest.cpp \
++ SQLPrepareTest.cpp \
++ SQLGetDiagRecSimpleTest.cpp \
++ SQLConnectTest.cpp
++
++XSOURCES = testodbc2.cpp
++XSOURCES = \
++ main.cpp \
++ SQLDriverConnectTest.cpp \
++ SQLPrepareTest.cpp \
++ SQLMoreResultsTest.cpp \
++ SQLGetStmtAttrTest.cpp \
++ SQLGetEnvAttrTest.cpp \
++ SQLGetConnectAttrTest.cpp \
++ SQLExecuteTest.cpp \
++ SQLExecDirectTest.cpp \
++ SQLDisconnectTest.cpp \
++ SQLCloseCursorTest.cpp \
++ SQLCancelTest.cpp \
++ SQLBindColTest.cpp \
++ SQLDescribeColTest.cpp \
++ SQLGetTypeInfoTest.cpp \
++ SQLGetFunctionsTest.cpp \
++ SQLNumResultColsTest.cpp \
++ SQLSetDescFieldTest.cpp \
++ SQLGetDescRecTest.cpp \
++ SQLEndTranTest.cpp \
++ SQLGetInfoTest.cpp \
++ SQLConnectTest.cpp \
++ SQLAllocHandleTest.cpp \
++ SQLAllocEnvTest.cpp \
++ SQLRowCountTest.cpp \
++ SQLFetchScrollTest.cpp \
++ SQLFetchTest.cpp \
++ SQLGetDescFieldTest.cpp \
++ SQLSetDescRecTest.cpp \
++ SQLFreeHandleTest.cpp
++
++ifeq ($(TYPE),odbcdriver)
++LIBS_SPEC += \
++ -lodbcdriver_pic \
++ -lodbchandles_pic \
++ -lodbccodegen_pic \
++ -lodbccompiler_pic \
++ -lodbcexecutor_pic \
++ -lodbccommon_pic \
++ -lodbcdictionary_pic \
++ -lNDBT \
++ -lportlib
++endif
++
++ifeq ($(TYPE),odbcclient)
++LIBS_SPEC += \
++ -lportlib \
++ -lNDBT
++endif
++
++CCFLAGS_LOC += -I/usr/local/include \
++ -I$(NDB_TOP)/include/ndbapi \
++ -I$(NDB_TOP)/test/include
++
++include $(NDB_TOP)/Epilogue.mk
++#LIBS_LOC += -L/usr/local/opt/iODBC/lib
++#LIBS_SPEC = -liodbc -lNDBT -lportlib
+diff --git a/storage/ndb/test/odbc/dm-iodbc/Makefile b/storage/ndb/test/odbc/dm-iodbc/Makefile
+new file mode 100644
+index 0000000..ad0f0d3
+--- /dev/null
++++ b/storage/ndb/test/odbc/dm-iodbc/Makefile
+@@ -0,0 +1,38 @@
++include .defs.mk
++
++TYPE = *
++
++BIN_TARGET = testOdbcDMi
++
++SOURCES = testOdbcDMi.cpp
++
++CCFLAGS_LOC += \
++ -I$(NDB_TOP)/include \
++ -I$(NDB_TOP)/include/ndbapi \
++ -I$(NDB_TOP)/include/portlib \
++ -I$(NDB_TOP)/include/util \
++ -I$(NDB_TOP)/test/include
++
++CCFLAGS_WARNINGS += -Wno-unused -Wno-sign-compare
++
++CCFLAGS_TOP += -DHAVE_LONG_LONG -DiODBC
++
++BIN_TARGET_LIBS = NDBT general portlib
++
++ifeq ($(NDB_OS),SOLARIS)
++CCFLAGS_TOP += -DDMALLOC
++LIBS_LOC += -L/usr/local/opt/iODBC/lib
++LIBS_LOC += -R/usr/local/opt/iODBC/lib
++BIN_TARGET_LIBS += iodbc
++BIN_TARGET_LIBS += dmallocthcxx
++endif
++
++ifeq ($(NDB_OS),LINUX)
++BIN_TARGET_LIBS_DIRS += /usr/local/opt/iODBC/lib
++BIN_TARGET_LIBS += iodbc
++endif
++
++include $(NDB_TOP)/Epilogue.mk
++
++testOdbcDMi.cpp:
++ ln -s ../driver/testOdbcDriver.cpp $@
+diff --git a/storage/ndb/test/odbc/dm-unixodbc/Makefile b/storage/ndb/test/odbc/dm-unixodbc/Makefile
+new file mode 100644
+index 0000000..50d8e3b
+--- /dev/null
++++ b/storage/ndb/test/odbc/dm-unixodbc/Makefile
+@@ -0,0 +1,39 @@
++include .defs.mk
++
++TYPE = *
++
++BIN_TARGET = testOdbcDMu
++
++SOURCES = testOdbcDMu.cpp
++
++CCFLAGS_LOC += \
++ -I$(NDB_TOP)/include \
++ -I$(NDB_TOP)/include/ndbapi \
++ -I$(NDB_TOP)/include/portlib \
++ -I$(NDB_TOP)/include/util \
++ -I$(NDB_TOP)/test/include
++
++CCFLAGS_WARNINGS += -Wno-unused -Wno-sign-compare
++
++CCFLAGS_TOP += -DHAVE_LONG_LONG -DunixODBC
++
++BIN_TARGET_LIBS = NDBT general portlib
++
++ifeq ($(NDB_OS),SOLARIS)
++CCFLAGS_TOP += -DDMALLOC
++LIBS_LOC += -L/usr/local/lib
++BIN_TARGET_LIBS += odbc odbcinst
++BIN_TARGET_LIBS += dmallocthcxx
++endif
++
++ifeq ($(NDB_OS),LINUX)
++BIN_TARGET_LIBS += odbc odbcinst
++BIN_TARGET_LIBS_DIRS += .
++dummy := $(shell [ ! -f /usr/lib/libodbc.so ] || ln -sf /usr/lib/libodbc.so.1 libodbc.so)
++dummy := $(shell [ ! -f /usr/lib/libodbcinst.so ] || ln -sf /usr/lib/libodbcinst.so.1 libodbcinst.so)
++endif
++
++include $(NDB_TOP)/Epilogue.mk
++
++testOdbcDMu.cpp:
++ ln -s ../driver/testOdbcDriver.cpp $@
+diff --git a/storage/ndb/test/odbc/driver/Makefile b/storage/ndb/test/odbc/driver/Makefile
+new file mode 100644
+index 0000000..5cf83d7
+--- /dev/null
++++ b/storage/ndb/test/odbc/driver/Makefile
+@@ -0,0 +1,30 @@
++include .defs.mk
++
++TYPE = *
++
++BIN_TARGET = testOdbcDriver
++
++SOURCES = testOdbcDriver.cpp
++
++CCFLAGS_LOC += \
++ -I$(NDB_TOP)/include \
++ -I$(NDB_TOP)/include/ndbapi \
++ -I$(NDB_TOP)/include/portlib \
++ -I$(NDB_TOP)/include/util \
++ -I$(NDB_TOP)/test/include \
++ -I/usr/local/include
++
++CCFLAGS_WARNINGS += -Wno-unused -Wno-sign-compare -Wformat
++
++CCFLAGS_TOP += -DHAVE_LONG_LONG -DndbODBC
++
++BIN_TARGET_LIBS = NDBT NDB_ODBC
++
++ifeq ($(NDB_OS),SOLARIS)
++BIN_TARGET_LIBS += dmallocthcxx
++CCFLAGS_TOP += -DDMALLOC
++endif
++
++include $(NDB_TOP)/Epilogue.mk
++
++$(BIN_DIR)$(BIN_TARGET): Makefile
+diff --git a/storage/ndb/test/odbc/test_compiler/Makefile b/storage/ndb/test/odbc/test_compiler/Makefile
+new file mode 100644
+index 0000000..34819f2
+--- /dev/null
++++ b/storage/ndb/test/odbc/test_compiler/Makefile
+@@ -0,0 +1,21 @@
++include .defs.mk
++
++TYPE = odbcdriver
++
++BIN_TARGET = test_compiler
++
++SOURCES = test_compiler.cpp
++
++CCFLAGS_LOC += \
++ -I$(NDB_TOP)/src/client/odbc/common \
++ -I$(NDB_TOP)/src/client/odbc/dictionary \
++ -I$(NDB_TOP)/src/client/odbc/compiler
++
++CCFLAGS_WARNINGS += -Wno-unused
++
++LIBS_SPEC += \
++ -lodbccompiler_pic
++
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure
+new file mode 100755
+index 0000000..9dc3178
+--- /dev/null
++++ b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure
+@@ -0,0 +1,23074 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.63 for XZ Utils 4.999.9beta.
++#
++# Report bugs to <lasse.collin at tukaani.org>.
++#
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++# This configure script is free software; the Free Software Foundation
++# gives unlimited permission to copy, distribute and modify it.
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++ as_echo='printf %s\n'
++ as_echo_n='printf %s'
++else
++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++ as_echo_n='/usr/ucb/echo -n'
++ else
++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++ as_echo_n_body='eval
++ arg=$1;
++ case $arg in
++ *"$as_nl"*)
++ expr "X$arg" : "X\\(.*\\)$as_nl";
++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++ esac;
++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++ '
++ export as_echo_n_body
++ as_echo_n='sh -c $as_echo_n_body as_echo'
++ fi
++ export as_echo_body
++ as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ PATH_SEPARATOR=:
++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++ PATH_SEPARATOR=';'
++ }
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# 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
++fi
++if test ! -f "$as_myself"; then
++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++if test "x$CONFIG_SHELL" = x; then
++ if (eval ":") 2>/dev/null; then
++ as_have_required=yes
++else
++ as_have_required=no
++fi
++
++ if test $as_have_required = yes && (eval ":
++(as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=\$LINENO
++ as_lineno_2=\$LINENO
++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++ :
++else
++ as_candidate_shells=
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ case $as_dir in
++ /*)
++ for as_base in sh bash ksh sh5; do
++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++ done;;
++ esac
++done
++IFS=$as_save_IFS
++
++
++ for as_shell in $as_candidate_shells $SHELL; do
++ # Try only shells that exist, to save several forks.
++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++ { ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++_ASEOF
++}; then
++ CONFIG_SHELL=$as_shell
++ as_have_required=yes
++ if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++(as_func_return () {
++ (exit $1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++ break
++fi
++
++fi
++
++ done
++
++ if test "x$CONFIG_SHELL" != x; then
++ for as_var in BASH_ENV ENV
++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ done
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++ if test $as_have_required = no; then
++ echo This script requires a shell more modern than all the
++ echo shells that I found on your system. Please install a
++ echo modern shell, or manually run the script under such a
++ echo shell if you do have one.
++ { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++ echo No shell found that supports shell functions.
++ echo Please tell bug-autoconf at gnu.org about your system,
++ echo including any error possibly output before this message.
++ echo This can help us improve future autoconf versions.
++ echo Configuration will now proceed without shell functions.
++}
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir 2>/dev/null
++fi
++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 -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++ elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++ else
++ as_ln_s='cp -p'
++ fi
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++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_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++
++
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++case X$lt_ECHO in
++X*--fallback-echo)
++ # Remove one level of quotation (which was required for Make).
++ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
++ ;;
++esac
++
++ECHO=${lt_ECHO-echo}
++if test "X$1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X$1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++ # Yippee, $ECHO works!
++ :
++else
++ # Restart under the correct shell.
++ exec $SHELL "$0" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<_LT_EOF
++$*
++_LT_EOF
++ exit 0
++fi
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++if test -z "$lt_ECHO"; then
++ if test "X${echo_test_string+set}" != Xset; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++ then
++ break
++ fi
++ done
++ fi
++
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ :
++ else
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
++
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for dir in $PATH /usr/ucb; do
++ IFS="$lt_save_ifs"
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$dir/echo"
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++
++ if test "X$ECHO" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ ECHO='print -r'
++ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running configure again with it.
++ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
++ else
++ # Try using printf.
++ ECHO='printf %s\n'
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # Cool, printf works
++ :
++ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
++
++ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
++ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++ then
++ break
++ fi
++ prev="$cmd"
++ done
++
++ if test "$prev" != 'sed 50q "$0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ ECHO=echo
++ fi
++ fi
++ fi
++ fi
++ fi
++fi
++
++# Copy echo and quote the copy suitably for passing to libtool from
++# the Makefile, instead of quoting the original, which is used later.
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
++ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
++fi
++
++
++
++
++exec 7<&0 </dev/null 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIBOBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Identity of this package.
++PACKAGE_NAME='XZ Utils'
++PACKAGE_TARNAME='xz'
++PACKAGE_VERSION='4.999.9beta'
++PACKAGE_STRING='XZ Utils 4.999.9beta'
++PACKAGE_BUGREPORT='lasse.collin at tukaani.org'
++
++ac_unique_file="src/liblzma/common/common.h"
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stdio.h>
++#ifdef HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#ifdef HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#ifdef STDC_HEADERS
++# include <stdlib.h>
++# include <stddef.h>
++#else
++# ifdef HAVE_STDLIB_H
++# include <stdlib.h>
++# endif
++#endif
++#ifdef HAVE_STRING_H
++# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
++# include <memory.h>
++# endif
++# include <string.h>
++#endif
++#ifdef HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++# include <inttypes.h>
++#endif
++#ifdef HAVE_STDINT_H
++# include <stdint.h>
++#endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++gt_needs=
++ac_subst_vars='am__EXEEXT_FALSE
++am__EXEEXT_TRUE
++LTLIBOBJS
++xz
++DYNAMIC_LDFLAGS
++DYNAMIC_CPPFLAGS
++STATIC_LDFLAGS
++STATIC_CPPFLAGS
++AM_CFLAGS
++COND_GNULIB_FALSE
++COND_GNULIB_TRUE
++HAVE_VISIBILITY
++CFLAG_VISIBILITY
++GETOPT_H
++LIBOBJS
++POSUB
++LTLIBINTL
++LIBINTL
++INTLLIBS
++LTLIBICONV
++LIBICONV
++INTL_MACOSX_LIBS
++MSGMERGE
++XGETTEXT_015
++XGETTEXT
++GMSGFMT_015
++MSGFMT_015
++GMSGFMT
++MSGFMT
++USE_NLS
++COND_SHARED_FALSE
++COND_SHARED_TRUE
++RC
++OTOOL64
++OTOOL
++LIPO
++NMEDIT
++DSYMUTIL
++lt_ECHO
++RANLIB
++AR
++NM
++ac_ct_DUMPBIN
++DUMPBIN
++LD
++FGREP
++SED
++LIBTOOL
++OBJDUMP
++DLLTOOL
++AS
++PTHREAD_CFLAGS
++PTHREAD_LIBS
++PTHREAD_CC
++acx_pthread_config
++EGREP
++GREP
++CPP
++am__fastdepCCAS_FALSE
++am__fastdepCCAS_TRUE
++CCASDEPMODE
++CCASFLAGS
++CCAS
++am__fastdepCC_FALSE
++am__fastdepCC_TRUE
++CCDEPMODE
++AMDEPBACKSLASH
++AMDEP_FALSE
++AMDEP_TRUE
++am__quote
++am__include
++DEPDIR
++OBJEXT
++EXEEXT
++ac_ct_CC
++CPPFLAGS
++LDFLAGS
++CFLAGS
++CC
++LN_S
++am__untar
++am__tar
++AMTAR
++am__leading_dot
++SET_MAKE
++AWK
++mkdir_p
++MKDIR_P
++INSTALL_STRIP_PROGRAM
++STRIP
++install_sh
++MAKEINFO
++AUTOHEADER
++AUTOMAKE
++AUTOCONF
++ACLOCAL
++VERSION
++PACKAGE
++CYGPATH_W
++am__isrc
++INSTALL_DATA
++INSTALL_SCRIPT
++INSTALL_PROGRAM
++PREFERABLY_POSIX_SHELL
++POSIX_SHELL
++COND_SMALL_FALSE
++COND_SMALL_TRUE
++COND_ASM_X86_64_FALSE
++COND_ASM_X86_64_TRUE
++COND_ASM_X86_FALSE
++COND_ASM_X86_TRUE
++COND_CHECK_SHA256_FALSE
++COND_CHECK_SHA256_TRUE
++COND_CHECK_CRC64_FALSE
++COND_CHECK_CRC64_TRUE
++COND_CHECK_CRC32_FALSE
++COND_CHECK_CRC32_TRUE
++COND_DECODER_LZ_FALSE
++COND_DECODER_LZ_TRUE
++COND_ENCODER_LZ_FALSE
++COND_ENCODER_LZ_TRUE
++COND_FILTER_LZ_FALSE
++COND_FILTER_LZ_TRUE
++COND_DECODER_SIMPLE_FALSE
++COND_DECODER_SIMPLE_TRUE
++COND_ENCODER_SIMPLE_FALSE
++COND_ENCODER_SIMPLE_TRUE
++COND_FILTER_SIMPLE_FALSE
++COND_FILTER_SIMPLE_TRUE
++COND_DECODER_SPARC_FALSE
++COND_DECODER_SPARC_TRUE
++COND_ENCODER_SPARC_FALSE
++COND_ENCODER_SPARC_TRUE
++COND_FILTER_SPARC_FALSE
++COND_FILTER_SPARC_TRUE
++COND_DECODER_ARMTHUMB_FALSE
++COND_DECODER_ARMTHUMB_TRUE
++COND_ENCODER_ARMTHUMB_FALSE
++COND_ENCODER_ARMTHUMB_TRUE
++COND_FILTER_ARMTHUMB_FALSE
++COND_FILTER_ARMTHUMB_TRUE
++COND_DECODER_ARM_FALSE
++COND_DECODER_ARM_TRUE
++COND_ENCODER_ARM_FALSE
++COND_ENCODER_ARM_TRUE
++COND_FILTER_ARM_FALSE
++COND_FILTER_ARM_TRUE
++COND_DECODER_IA64_FALSE
++COND_DECODER_IA64_TRUE
++COND_ENCODER_IA64_FALSE
++COND_ENCODER_IA64_TRUE
++COND_FILTER_IA64_FALSE
++COND_FILTER_IA64_TRUE
++COND_DECODER_POWERPC_FALSE
++COND_DECODER_POWERPC_TRUE
++COND_ENCODER_POWERPC_FALSE
++COND_ENCODER_POWERPC_TRUE
++COND_FILTER_POWERPC_FALSE
++COND_FILTER_POWERPC_TRUE
++COND_DECODER_X86_FALSE
++COND_DECODER_X86_TRUE
++COND_ENCODER_X86_FALSE
++COND_ENCODER_X86_TRUE
++COND_FILTER_X86_FALSE
++COND_FILTER_X86_TRUE
++COND_DECODER_DELTA_FALSE
++COND_DECODER_DELTA_TRUE
++COND_ENCODER_DELTA_FALSE
++COND_ENCODER_DELTA_TRUE
++COND_FILTER_DELTA_FALSE
++COND_FILTER_DELTA_TRUE
++COND_DECODER_SUBBLOCK_FALSE
++COND_DECODER_SUBBLOCK_TRUE
++COND_ENCODER_SUBBLOCK_FALSE
++COND_ENCODER_SUBBLOCK_TRUE
++COND_FILTER_SUBBLOCK_FALSE
++COND_FILTER_SUBBLOCK_TRUE
++COND_DECODER_LZMA2_FALSE
++COND_DECODER_LZMA2_TRUE
++COND_ENCODER_LZMA2_FALSE
++COND_ENCODER_LZMA2_TRUE
++COND_FILTER_LZMA2_FALSE
++COND_FILTER_LZMA2_TRUE
++COND_DECODER_LZMA1_FALSE
++COND_DECODER_LZMA1_TRUE
++COND_ENCODER_LZMA1_FALSE
++COND_ENCODER_LZMA1_TRUE
++COND_FILTER_LZMA1_FALSE
++COND_FILTER_LZMA1_TRUE
++COND_MAIN_DECODER_FALSE
++COND_MAIN_DECODER_TRUE
++COND_MAIN_ENCODER_FALSE
++COND_MAIN_ENCODER_TRUE
++COND_W32_FALSE
++COND_W32_TRUE
++host_os
++host_vendor
++host_cpu
++host
++build_os
++build_vendor
++build_cpu
++build
++PACKAGE_HOMEPAGE
++target_alias
++host_alias
++build_alias
++LIBS
++ECHO_T
++ECHO_N
++ECHO_C
++DEFS
++mandir
++localedir
++libdir
++psdir
++pdfdir
++dvidir
++htmldir
++infodir
++docdir
++oldincludedir
++includedir
++localstatedir
++sharedstatedir
++sysconfdir
++datadir
++datarootdir
++libexecdir
++sbindir
++bindir
++program_transform_name
++prefix
++exec_prefix
++PACKAGE_BUGREPORT
++PACKAGE_STRING
++PACKAGE_VERSION
++PACKAGE_TARNAME
++PACKAGE_NAME
++PATH_SEPARATOR
++SHELL'
++ac_subst_files=''
++ac_user_opts='
++enable_option_checking
++enable_debug
++enable_encoders
++enable_decoders
++enable_match_finders
++enable_checks
++enable_assembler
++enable_unaligned_access
++enable_small
++enable_threads
++enable_dynamic
++enable_dependency_tracking
++enable_shared
++enable_static
++with_pic
++enable_fast_install
++with_gnu_ld
++enable_libtool_lock
++enable_nls
++enable_rpath
++with_libiconv_prefix
++with_libintl_prefix
++enable_largefile
++enable_werror
++'
++ ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CCAS
++CCASFLAGS
++CPP'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++ac_unrecognized_opts=
++ac_unrecognized_sep=
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++ # If the previous option needs an argument, assign it.
++ if test -n "$ac_prev"; then
++ eval $ac_prev=\$ac_option
++ ac_prev=
++ continue
++ fi
++
++ case $ac_option in
++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++ *) ac_optarg=yes ;;
++ esac
++
++ # Accept the important Cygnus configure options, so we can diagnose typos.
++
++ case $ac_dashdash$ac_option in
++ --)
++ ac_dashdash=yes ;;
++
++ -bindir | --bindir | --bindi | --bind | --bin | --bi)
++ ac_prev=bindir ;;
++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++ bindir=$ac_optarg ;;
++
++ -build | --build | --buil | --bui | --bu)
++ ac_prev=build_alias ;;
++ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++ build_alias=$ac_optarg ;;
++
++ -cache-file | --cache-file | --cache-fil | --cache-fi \
++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++ ac_prev=cache_file ;;
++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++ cache_file=$ac_optarg ;;
++
++ --config-cache | -C)
++ cache_file=config.cache ;;
++
++ -datadir | --datadir | --datadi | --datad)
++ ac_prev=datadir ;;
++ -datadir=* | --datadir=* | --datadi=* | --datad=*)
++ datadir=$ac_optarg ;;
++
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
++ -disable-* | --disable-*)
++ 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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
++ { (exit 1); exit 1; }; }
++ ac_useropt_orig=$ac_useropt
++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++ case $ac_user_opts in
++ *"
++"enable_$ac_useropt"
++"*) ;;
++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
++ ac_unrecognized_sep=', ';;
++ esac
++ eval enable_$ac_useropt=no ;;
++
++ -docdir | --docdir | --docdi | --doc | --do)
++ ac_prev=docdir ;;
++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++ docdir=$ac_optarg ;;
++
++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++ ac_prev=dvidir ;;
++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++ dvidir=$ac_optarg ;;
++
++ -enable-* | --enable-*)
++ 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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
++ { (exit 1); exit 1; }; }
++ ac_useropt_orig=$ac_useropt
++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++ case $ac_user_opts in
++ *"
++"enable_$ac_useropt"
++"*) ;;
++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
++ ac_unrecognized_sep=', ';;
++ esac
++ eval enable_$ac_useropt=\$ac_optarg ;;
++
++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++ | --exec | --exe | --ex)
++ ac_prev=exec_prefix ;;
++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++ | --exec=* | --exe=* | --ex=*)
++ exec_prefix=$ac_optarg ;;
++
++ -gas | --gas | --ga | --g)
++ # Obsolete; use --with-gas.
++ with_gas=yes ;;
++
++ -help | --help | --hel | --he | -h)
++ ac_init_help=long ;;
++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++ ac_init_help=recursive ;;
++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++ ac_init_help=short ;;
++
++ -host | --host | --hos | --ho)
++ ac_prev=host_alias ;;
++ -host=* | --host=* | --hos=* | --ho=*)
++ host_alias=$ac_optarg ;;
++
++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++ ac_prev=htmldir ;;
++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++ | --ht=*)
++ htmldir=$ac_optarg ;;
++
++ -includedir | --includedir | --includedi | --included | --include \
++ | --includ | --inclu | --incl | --inc)
++ ac_prev=includedir ;;
++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++ | --includ=* | --inclu=* | --incl=* | --inc=*)
++ includedir=$ac_optarg ;;
++
++ -infodir | --infodir | --infodi | --infod | --info | --inf)
++ ac_prev=infodir ;;
++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++ infodir=$ac_optarg ;;
++
++ -libdir | --libdir | --libdi | --libd)
++ ac_prev=libdir ;;
++ -libdir=* | --libdir=* | --libdi=* | --libd=*)
++ libdir=$ac_optarg ;;
++
++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++ | --libexe | --libex | --libe)
++ ac_prev=libexecdir ;;
++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++ | --libexe=* | --libex=* | --libe=*)
++ libexecdir=$ac_optarg ;;
++
++ -localedir | --localedir | --localedi | --localed | --locale)
++ ac_prev=localedir ;;
++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++ localedir=$ac_optarg ;;
++
++ -localstatedir | --localstatedir | --localstatedi | --localstated \
++ | --localstate | --localstat | --localsta | --localst | --locals)
++ ac_prev=localstatedir ;;
++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++ localstatedir=$ac_optarg ;;
++
++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++ ac_prev=mandir ;;
++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++ mandir=$ac_optarg ;;
++
++ -nfp | --nfp | --nf)
++ # Obsolete; use --without-fp.
++ with_fp=no ;;
++
++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++ | --no-cr | --no-c | -n)
++ no_create=yes ;;
++
++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++ no_recursion=yes ;;
++
++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++ | --oldin | --oldi | --old | --ol | --o)
++ ac_prev=oldincludedir ;;
++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++ oldincludedir=$ac_optarg ;;
++
++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++ ac_prev=prefix ;;
++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++ prefix=$ac_optarg ;;
++
++ -program-prefix | --program-prefix | --program-prefi | --program-pref \
++ | --program-pre | --program-pr | --program-p)
++ ac_prev=program_prefix ;;
++ -program-prefix=* | --program-prefix=* | --program-prefi=* \
++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++ program_prefix=$ac_optarg ;;
++
++ -program-suffix | --program-suffix | --program-suffi | --program-suff \
++ | --program-suf | --program-su | --program-s)
++ ac_prev=program_suffix ;;
++ -program-suffix=* | --program-suffix=* | --program-suffi=* \
++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++ program_suffix=$ac_optarg ;;
++
++ -program-transform-name | --program-transform-name \
++ | --program-transform-nam | --program-transform-na \
++ | --program-transform-n | --program-transform- \
++ | --program-transform | --program-transfor \
++ | --program-transfo | --program-transf \
++ | --program-trans | --program-tran \
++ | --progr-tra | --program-tr | --program-t)
++ ac_prev=program_transform_name ;;
++ -program-transform-name=* | --program-transform-name=* \
++ | --program-transform-nam=* | --program-transform-na=* \
++ | --program-transform-n=* | --program-transform-=* \
++ | --program-transform=* | --program-transfor=* \
++ | --program-transfo=* | --program-transf=* \
++ | --program-trans=* | --program-tran=* \
++ | --progr-tra=* | --program-tr=* | --program-t=*)
++ program_transform_name=$ac_optarg ;;
++
++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++ ac_prev=pdfdir ;;
++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++ pdfdir=$ac_optarg ;;
++
++ -psdir | --psdir | --psdi | --psd | --ps)
++ ac_prev=psdir ;;
++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++ psdir=$ac_optarg ;;
++
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ silent=yes ;;
++
++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++ ac_prev=sbindir ;;
++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++ | --sbi=* | --sb=*)
++ sbindir=$ac_optarg ;;
++
++ -sharedstatedir | --sharedstatedir | --sharedstatedi \
++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++ | --sharedst | --shareds | --shared | --share | --shar \
++ | --sha | --sh)
++ ac_prev=sharedstatedir ;;
++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++ | --sha=* | --sh=*)
++ sharedstatedir=$ac_optarg ;;
++
++ -site | --site | --sit)
++ ac_prev=site ;;
++ -site=* | --site=* | --sit=*)
++ site=$ac_optarg ;;
++
++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++ ac_prev=srcdir ;;
++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++ srcdir=$ac_optarg ;;
++
++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++ | --syscon | --sysco | --sysc | --sys | --sy)
++ ac_prev=sysconfdir ;;
++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++ sysconfdir=$ac_optarg ;;
++
++ -target | --target | --targe | --targ | --tar | --ta | --t)
++ ac_prev=target_alias ;;
++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++ target_alias=$ac_optarg ;;
++
++ -v | -verbose | --verbose | --verbos | --verbo | --verb)
++ verbose=yes ;;
++
++ -version | --version | --versio | --versi | --vers | -V)
++ ac_init_version=: ;;
++
++ -with-* | --with-*)
++ 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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
++ { (exit 1); exit 1; }; }
++ ac_useropt_orig=$ac_useropt
++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++ case $ac_user_opts in
++ *"
++"with_$ac_useropt"
++"*) ;;
++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
++ ac_unrecognized_sep=', ';;
++ esac
++ eval with_$ac_useropt=\$ac_optarg ;;
++
++ -without-* | --without-*)
++ 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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
++ { (exit 1); exit 1; }; }
++ ac_useropt_orig=$ac_useropt
++ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++ case $ac_user_opts in
++ *"
++"with_$ac_useropt"
++"*) ;;
++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
++ ac_unrecognized_sep=', ';;
++ esac
++ eval with_$ac_useropt=no ;;
++
++ --x)
++ # Obsolete; use --with-x.
++ with_x=yes ;;
++
++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++ | --x-incl | --x-inc | --x-in | --x-i)
++ ac_prev=x_includes ;;
++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++ x_includes=$ac_optarg ;;
++
++ -x-libraries | --x-libraries | --x-librarie | --x-librari \
++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++ ac_prev=x_libraries ;;
++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++ x_libraries=$ac_optarg ;;
++
++ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; }
++ ;;
++
++ *=*)
++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++ { (exit 1); exit 1; }; }
++ eval $ac_envvar=\$ac_optarg
++ export $ac_envvar ;;
++
++ *)
++ # FIXME: should be removed in autoconf 3.0.
++ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
++ ;;
++
++ esac
++done
++
++if test -n "$ac_prev"; then
++ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
++ { (exit 1); exit 1; }; }
++fi
++
++if test -n "$ac_unrecognized_opts"; then
++ case $enable_option_checking in
++ no) ;;
++ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
++ { (exit 1); exit 1; }; } ;;
++ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
++ esac
++fi
++
++# Check all directory arguments for consistency.
++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
++ datadir sysconfdir sharedstatedir localstatedir includedir \
++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++ libdir localedir mandir
++do
++ eval ac_val=\$$ac_var
++ # Remove trailing slashes.
++ case $ac_val in
++ */ )
++ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
++ eval $ac_var=\$ac_val;;
++ esac
++ # Be sure to have absolute directory names.
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* ) continue;;
++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++ esac
++ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; }
++done
++
++# 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
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++ if test "x$build_alias" = x; then
++ cross_compiling=maybe
++ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used." >&2
++ elif test "x$build_alias" != "x$host_alias"; then
++ cross_compiling=yes
++ fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++ { $as_echo "$as_me: error: working directory cannot be determined" >&2
++ { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
++ { (exit 1); exit 1; }; }
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++ ac_srcdir_defaulted=yes
++ # Try the directory containing this script, then the parent directory.
++ ac_confdir=`$as_dirname -- "$as_myself" ||
++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_myself" : 'X\(//\)[^/]' \| \
++ X"$as_myself" : 'X\(//\)$' \| \
++ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_myself" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ srcdir=$ac_confdir
++ if test ! -r "$srcdir/$ac_unique_file"; then
++ srcdir=..
++ fi
++else
++ ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++ { (exit 1); exit 1; }; }
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
++ { (exit 1); exit 1; }; }
++ pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++ srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++ eval ac_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_env_${ac_var}_value=\$${ac_var}
++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++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 XZ Utils 4.999.9beta to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE. See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++ -h, --help display this help and exit
++ --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
++ --cache-file=FILE cache test results in FILE [disabled]
++ -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 \`..']
++
++Installation directories:
++ --prefix=PREFIX install architecture-independent files in PREFIX
++ [$ac_default_prefix]
++ --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'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++ --bindir=DIR user executables [EPREFIX/bin]
++ --sbindir=DIR system admin executables [EPREFIX/sbin]
++ --libexecdir=DIR program executables [EPREFIX/libexec]
++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
++ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
++ --libdir=DIR object code libraries [EPREFIX/lib]
++ --includedir=DIR C header files [PREFIX/include]
++ --oldincludedir=DIR C header files for non-gcc [/usr/include]
++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
++ --docdir=DIR documentation root [DATAROOTDIR/doc/xz]
++ --htmldir=DIR html documentation [DOCDIR]
++ --dvidir=DIR dvi documentation [DOCDIR]
++ --pdfdir=DIR pdf documentation [DOCDIR]
++ --psdir=DIR ps documentation [DOCDIR]
++_ACEOF
++
++ cat <<\_ACEOF
++
++Program names:
++ --program-prefix=PREFIX prepend PREFIX to installed program names
++ --program-suffix=SUFFIX append SUFFIX to installed program names
++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
++
++System types:
++ --build=BUILD configure for building on BUILD [guessed]
++ --host=HOST cross-compile to build programs to run on HOST [BUILD]
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++ case $ac_init_help in
++ short | recursive ) echo "Configuration of XZ Utils 4.999.9beta:";;
++ esac
++ cat <<\_ACEOF
++
++Optional Features:
++ --disable-option-checking ignore unrecognized --enable/--with options
++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
++ --enable-debug Enable debugging code.
++ --enable-encoders=LIST Comma-separated list of encoders to build.
++ Default=all. Available encoders: lzma1 lzma2
++ subblock delta x86 powerpc ia64 arm armthumb sparc
++ --enable-decoders=LIST Comma-separated list of decoders to build.
++ Default=all. Available decoders are the same as
++ available encoders.
++ --enable-match-finders=LIST
++ Comma-separated list of match finders to build.
++ Default=all. At least one match finder is required
++ for encoding with the LZMA1 and LZMA2 filters.
++ Available match finders: hc3 hc4 bt2 bt3 bt4
++ --enable-checks=LIST Comma-separated list of integrity checks to build.
++ Default=all. Available integrity checks: crc32 crc64
++ sha256
++ --disable-assembler Do not use assembler optimizations even if such
++ exist for the architecture.
++ --enable-unaligned-access
++ Enable if the system supports *fast* unaligned
++ memory access with 16-bit and 32-bit integers. By
++ default, this is enabled only on x86, x86_64, and
++ big endian PowerPC.
++ --enable-small Make liblzma smaller and a little slower. This is
++ disabled by default to optimize for speed.
++ --disable-threads Disable threading support. This makes some things
++ thread-unsafe.
++ --enable-dynamic=TYPE Set how command line tools are linked against
++ liblzma. TYPE can be mixed, yes, or no. The default
++ is mixed.
++ --disable-dependency-tracking speeds up one-time build
++ --enable-dependency-tracking do not reject slow dependency extractors
++ --enable-shared[=PKGS] build shared libraries [default=yes]
++ --enable-static[=PKGS] build static libraries [default=yes]
++ --enable-fast-install[=PKGS]
++ optimize for fast installation [default=yes]
++ --disable-libtool-lock avoid locking (might break parallel builds)
++ --disable-nls do not use Native Language Support
++ --disable-rpath do not hardcode runtime library paths
++ --disable-largefile omit support for large files
++ --enable-werror Enable -Werror to abort compilation on all compiler
++ warnings.
++
++Optional Packages:
++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
++ --with-pic try to use only PIC/non-PIC objects [default=use
++ both]
++ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-gnu-ld assume the C compiler uses GNU ld default=no
++ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
++ --without-libiconv-prefix don't search for libiconv in includedir and libdir
++ --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
++ --without-libintl-prefix don't search for libintl in includedir and libdir
++
++Some influential environment variables:
++ CC C compiler command
++ CFLAGS C compiler flags
++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
++ nonstandard directory <lib dir>
++ LIBS libraries to pass to the linker, e.g. -l<library>
++ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
++ you have headers in a nonstandard directory <include dir>
++ CCAS assembler compiler command (defaults to CC)
++ CCASFLAGS assembler compiler flags (defaults to CFLAGS)
++ CPP C preprocessor
++
++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 <lasse.collin at tukaani.org>.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++ # If there are subdirs, report their specific --help.
++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++ test -d "$ac_dir" ||
++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
++ continue
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++ cd "$ac_dir" || { ac_status=$?; continue; }
++ # Check for guested configure.
++ if test -f "$ac_srcdir/configure.gnu"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++ elif test -f "$ac_srcdir/configure"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure" --help=recursive
++ else
++ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++ fi || ac_status=$?
++ cd "$ac_pwd" || { ac_status=$?; break; }
++ done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++ cat <<\_ACEOF
++XZ Utils configure 4.999.9beta
++generated by GNU Autoconf 2.63
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++ exit
++fi
++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 XZ Utils $as_me 4.999.9beta, which was
++generated by GNU Autoconf 2.63. Invocation command line was
++
++ $ $0 $@
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
++
++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ $as_echo "PATH: $as_dir"
++done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++ for ac_arg
++ do
++ case $ac_arg in
++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ continue ;;
++ *\'*)
++ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ case $ac_pass in
++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++ 2)
++ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
++ if test $ac_must_keep_next = true; then
++ ac_must_keep_next=false # Got value, back to normal.
++ else
++ case $ac_arg in
++ *=* | --config-cache | -C | -disable-* | --disable-* \
++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++ | -with-* | --with-* | -without-* | --without-* | --x)
++ case "$ac_configure_args0 " in
++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++ esac
++ ;;
++ -* ) ac_must_keep_next=true ;;
++ esac
++ fi
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ ;;
++ esac
++ done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log. We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++ # Save into config.log some information that might help in debugging.
++ {
++ echo
++
++ cat <<\_ASBOX
++## ---------------- ##
++## Cache variables. ##
++## ---------------- ##
++_ASBOX
++ echo
++ # The following way of writing the cache mishandles newlines in values,
++(
++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++ (set) 2>&1 |
++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
++ sed -n \
++ "s/'\''/'\''\\\\'\'''\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++ ;; #(
++ *)
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++)
++ echo
++
++ cat <<\_ASBOX
++## ----------------- ##
++## Output variables. ##
++## ----------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_vars
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ $as_echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++
++ if test -n "$ac_subst_files"; then
++ cat <<\_ASBOX
++## ------------------- ##
++## File substitutions. ##
++## ------------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_files
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ $as_echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++ fi
++
++ if test -s confdefs.h; then
++ cat <<\_ASBOX
++## ----------- ##
++## confdefs.h. ##
++## ----------- ##
++_ASBOX
++ echo
++ cat confdefs.h
++ echo
++ fi
++ test "$ac_signal" != 0 &&
++ $as_echo "$as_me: caught signal $ac_signal"
++ $as_echo "$as_me: exit $exit_status"
++ } >&5
++ rm -f core *.core core.conftest.* &&
++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++ exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer an explicitly selected file to automatically selected ones.
++ac_site_file1=NONE
++ac_site_file2=NONE
++if test -n "$CONFIG_SITE"; then
++ ac_site_file1=$CONFIG_SITE
++elif test "x$prefix" != xNONE; then
++ ac_site_file1=$prefix/share/config.site
++ ac_site_file2=$prefix/etc/config.site
++else
++ ac_site_file1=$ac_default_prefix/share/config.site
++ ac_site_file2=$ac_default_prefix/etc/config.site
++fi
++for ac_site_file in "$ac_site_file1" "$ac_site_file2"
++do
++ test "x$ac_site_file" = xNONE && continue
++ if test -r "$ac_site_file"; then
++ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++$as_echo "$as_me: loading site script $ac_site_file" >&6;}
++ sed 's/^/| /' "$ac_site_file" >&5
++ . "$ac_site_file"
++ fi
++done
++
++if test -r "$cache_file"; then
++ # Some versions of bash will fail to source /dev/null (special
++ # files actually), so we avoid doing that.
++ if test -f "$cache_file"; then
++ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
++$as_echo "$as_me: loading cache $cache_file" >&6;}
++ case $cache_file in
++ [\\/]* | ?:[\\/]* ) . "$cache_file";;
++ *) . "./$cache_file";;
++ esac
++ fi
++else
++ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
++$as_echo "$as_me: creating cache $cache_file" >&6;}
++ >$cache_file
++fi
++
++gt_needs="$gt_needs "
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++ eval ac_old_set=\$ac_cv_env_${ac_var}_set
++ eval ac_new_set=\$ac_env_${ac_var}_set
++ eval ac_old_val=\$ac_cv_env_${ac_var}_value
++ eval ac_new_val=\$ac_env_${ac_var}_value
++ case $ac_old_set,$ac_new_set in
++ set,)
++ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,set)
++ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,);;
++ *)
++ if test "x$ac_old_val" != "x$ac_new_val"; then
++ # differences in whitespace do not lead to failure.
++ 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
++ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++ ac_cache_corrupted=:
++ else
++ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
++ eval $ac_var=\$ac_old_val
++ fi
++ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
++$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
++ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
++$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
++ fi;;
++ esac
++ # Pass precious variables to config.status.
++ if test "$ac_new_set" = set; then
++ case $ac_new_val in
++ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++ *) ac_arg=$ac_var=$ac_new_val ;;
++ esac
++ case " $ac_configure_args " in
++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++ esac
++ fi
++done
++if $ac_cache_corrupted; then
++ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++ { (exit 1); exit 1; }; }
++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
++
++
++
++ac_aux_dir=
++for ac_dir in build-aux "$srcdir"/build-aux; do
++ if test -f "$ac_dir/install-sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install-sh -c"
++ break
++ elif test -f "$ac_dir/install.sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install.sh -c"
++ break
++ elif test -f "$ac_dir/shtool"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/shtool install -c"
++ break
++ fi
++done
++if test -z "$ac_aux_dir"; then
++ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&5
++$as_echo "$as_me: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
++
++
++
++ac_config_headers="$ac_config_headers config.h"
++
++
++PACKAGE_HOMEPAGE=http://tukaani.org/xz/
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_HOMEPAGE "$PACKAGE_HOMEPAGE"
++_ACEOF
++
++
++
++echo
++echo "$PACKAGE_STRING"
++
++echo
++echo "System type:"
++# This is needed to know if assembler optimizations can be used.
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
++$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
++ { (exit 1); exit 1; }; }
++
++{ $as_echo "$as_me:$LINENO: checking build system type" >&5
++$as_echo_n "checking build system type... " >&6; }
++if test "${ac_cv_build+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
++$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
++ { (exit 1); exit 1; }; }
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
++$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++$as_echo "$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
++$as_echo "$as_me: error: invalid value of canonical build" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++build=$ac_cv_build
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
++
++
++{ $as_echo "$as_me:$LINENO: checking host system type" >&5
++$as_echo_n "checking host system type... " >&6; }
++if test "${ac_cv_host+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
++$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++$as_echo "$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
++$as_echo "$as_me: error: invalid value of canonical host" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++host=$ac_cv_host
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++
++# We do some special things on Windows (32-bit or 64-bit) builds.
++case $host_os in
++ mingw* | cygwin*) is_w32=yes ;;
++ *) is_w32=no ;;
++esac
++ if test "$is_w32" = yes; then
++ COND_W32_TRUE=
++ COND_W32_FALSE='#'
++else
++ COND_W32_TRUE='#'
++ COND_W32_FALSE=
++fi
++
++
++
++echo
++echo "Configure options:"
++AM_CFLAGS=
++
++
++#############
++# Debugging #
++#############
++
++{ $as_echo "$as_me:$LINENO: checking if debugging code should be compiled" >&5
++$as_echo_n "checking if debugging code should be compiled... " >&6; }
++# Check whether --enable-debug was given.
++if test "${enable_debug+set}" = set; then
++ enableval=$enable_debug;
++else
++ enable_debug=no
++fi
++
++if test "x$enable_debug" = xyes; then
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++
++cat >>confdefs.h <<\_ACEOF
++#define NDEBUG 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++###########
++# Filters #
++###########
++
++
++
++
++enable_filter_lzma1=no
++enable_encoder_lzma1=no
++enable_decoder_lzma1=no
++enable_filter_lzma2=no
++enable_encoder_lzma2=no
++enable_decoder_lzma2=no
++enable_filter_subblock=no
++enable_encoder_subblock=no
++enable_decoder_subblock=no
++enable_filter_delta=no
++enable_encoder_delta=no
++enable_decoder_delta=no
++enable_filter_x86=no
++enable_encoder_x86=no
++enable_decoder_x86=no
++enable_filter_powerpc=no
++enable_encoder_powerpc=no
++enable_decoder_powerpc=no
++enable_filter_ia64=no
++enable_encoder_ia64=no
++enable_decoder_ia64=no
++enable_filter_arm=no
++enable_encoder_arm=no
++enable_decoder_arm=no
++enable_filter_armthumb=no
++enable_encoder_armthumb=no
++enable_decoder_armthumb=no
++enable_filter_sparc=no
++enable_encoder_sparc=no
++enable_decoder_sparc=no
++
++{ $as_echo "$as_me:$LINENO: checking which encoders to build" >&5
++$as_echo_n "checking which encoders to build... " >&6; }
++# Check whether --enable-encoders was given.
++if test "${enable_encoders+set}" = set; then
++ enableval=$enable_encoders;
++else
++ enable_encoders=lzma1,lzma2,subblock,delta,x86,powerpc,ia64,arm,armthumb,sparc
++fi
++
++enable_encoders=`echo "$enable_encoders" | sed 's/,subblock//; s/,/ /g'`
++if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then
++ { $as_echo "$as_me:$LINENO: result: (none)" >&5
++$as_echo "(none)" >&6; }
++else
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER 1
++_ACEOF
++
++ for arg in $enable_encoders
++ do
++ case $arg in
++ lzma1)
++ enable_filter_lzma1=yes
++ enable_encoder_lzma1=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_LZMA1 1
++_ACEOF
++
++ ;;
++ lzma2)
++ enable_filter_lzma2=yes
++ enable_encoder_lzma2=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_LZMA2 1
++_ACEOF
++
++ ;;
++ subblock)
++ enable_filter_subblock=yes
++ enable_encoder_subblock=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_SUBBLOCK 1
++_ACEOF
++
++ ;;
++ delta)
++ enable_filter_delta=yes
++ enable_encoder_delta=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_DELTA 1
++_ACEOF
++
++ ;;
++ x86)
++ enable_filter_x86=yes
++ enable_encoder_x86=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_X86 1
++_ACEOF
++
++ ;;
++ powerpc)
++ enable_filter_powerpc=yes
++ enable_encoder_powerpc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_POWERPC 1
++_ACEOF
++
++ ;;
++ ia64)
++ enable_filter_ia64=yes
++ enable_encoder_ia64=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_IA64 1
++_ACEOF
++
++ ;;
++ arm)
++ enable_filter_arm=yes
++ enable_encoder_arm=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_ARM 1
++_ACEOF
++
++ ;;
++ armthumb)
++ enable_filter_armthumb=yes
++ enable_encoder_armthumb=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_ARMTHUMB 1
++_ACEOF
++
++ ;;
++ sparc)
++ enable_filter_sparc=yes
++ enable_encoder_sparc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_SPARC 1
++_ACEOF
++
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: unknown filter: $arg" >&5
++$as_echo "$as_me: error: unknown filter: $arg" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++ esac
++ done
++ { $as_echo "$as_me:$LINENO: result: $enable_encoders" >&5
++$as_echo "$enable_encoders" >&6; }
++fi
++
++{ $as_echo "$as_me:$LINENO: checking which decoders to build" >&5
++$as_echo_n "checking which decoders to build... " >&6; }
++# Check whether --enable-decoders was given.
++if test "${enable_decoders+set}" = set; then
++ enableval=$enable_decoders;
++else
++ enable_decoders=lzma1,lzma2,subblock,delta,x86,powerpc,ia64,arm,armthumb,sparc
++fi
++
++enable_decoders=`echo "$enable_decoders" | sed 's/,subblock//; s/,/ /g'`
++if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then
++ { $as_echo "$as_me:$LINENO: result: (none)" >&5
++$as_echo "(none)" >&6; }
++else
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER 1
++_ACEOF
++
++ for arg in $enable_decoders
++ do
++ case $arg in
++ lzma1)
++ enable_filter_lzma1=yes
++ enable_decoder_lzma1=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_LZMA1 1
++_ACEOF
++
++ ;;
++ lzma2)
++ enable_filter_lzma2=yes
++ enable_decoder_lzma2=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_LZMA2 1
++_ACEOF
++
++ ;;
++ subblock)
++ enable_filter_subblock=yes
++ enable_decoder_subblock=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_SUBBLOCK 1
++_ACEOF
++
++ ;;
++ delta)
++ enable_filter_delta=yes
++ enable_decoder_delta=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_DELTA 1
++_ACEOF
++
++ ;;
++ x86)
++ enable_filter_x86=yes
++ enable_decoder_x86=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_X86 1
++_ACEOF
++
++ ;;
++ powerpc)
++ enable_filter_powerpc=yes
++ enable_decoder_powerpc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_POWERPC 1
++_ACEOF
++
++ ;;
++ ia64)
++ enable_filter_ia64=yes
++ enable_decoder_ia64=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_IA64 1
++_ACEOF
++
++ ;;
++ arm)
++ enable_filter_arm=yes
++ enable_decoder_arm=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_ARM 1
++_ACEOF
++
++ ;;
++ armthumb)
++ enable_filter_armthumb=yes
++ enable_decoder_armthumb=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_ARMTHUMB 1
++_ACEOF
++
++ ;;
++ sparc)
++ enable_filter_sparc=yes
++ enable_decoder_sparc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_SPARC 1
++_ACEOF
++
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: unknown filter: $arg" >&5
++$as_echo "$as_me: error: unknown filter: $arg" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++ esac
++ done
++
++ # LZMA2 requires that LZMA1 is enabled.
++ test "x$enable_encoder_lzma2" = xyes && enable_encoder_lzma1=yes
++ test "x$enable_decoder_lzma2" = xyes && enable_decoder_lzma1=yes
++
++ { $as_echo "$as_me:$LINENO: result: $enable_decoders" >&5
++$as_echo "$enable_decoders" >&6; }
++fi
++
++if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \
++ || test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then
++ { { $as_echo "$as_me:$LINENO: error: LZMA2 requires that LZMA1 is also enabled." >&5
++$as_echo "$as_me: error: LZMA2 requires that LZMA1 is also enabled." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++ if test "x$enable_encoders" != xno && test "x$enable_encoders" != x; then
++ COND_MAIN_ENCODER_TRUE=
++ COND_MAIN_ENCODER_FALSE='#'
++else
++ COND_MAIN_ENCODER_TRUE='#'
++ COND_MAIN_ENCODER_FALSE=
++fi
++
++ if test "x$enable_decoders" != xno && test "x$enable_decoders" != x; then
++ COND_MAIN_DECODER_TRUE=
++ COND_MAIN_DECODER_FALSE='#'
++else
++ COND_MAIN_DECODER_TRUE='#'
++ COND_MAIN_DECODER_FALSE=
++fi
++
++
++ if test "x$enable_filter_lzma1" = xyes; then
++ COND_FILTER_LZMA1_TRUE=
++ COND_FILTER_LZMA1_FALSE='#'
++else
++ COND_FILTER_LZMA1_TRUE='#'
++ COND_FILTER_LZMA1_FALSE=
++fi
++
++ if test "x$enable_encoder_lzma1" = xyes; then
++ COND_ENCODER_LZMA1_TRUE=
++ COND_ENCODER_LZMA1_FALSE='#'
++else
++ COND_ENCODER_LZMA1_TRUE='#'
++ COND_ENCODER_LZMA1_FALSE=
++fi
++
++ if test "x$enable_decoder_lzma1" = xyes; then
++ COND_DECODER_LZMA1_TRUE=
++ COND_DECODER_LZMA1_FALSE='#'
++else
++ COND_DECODER_LZMA1_TRUE='#'
++ COND_DECODER_LZMA1_FALSE=
++fi
++
++ if test "x$enable_filter_lzma2" = xyes; then
++ COND_FILTER_LZMA2_TRUE=
++ COND_FILTER_LZMA2_FALSE='#'
++else
++ COND_FILTER_LZMA2_TRUE='#'
++ COND_FILTER_LZMA2_FALSE=
++fi
++
++ if test "x$enable_encoder_lzma2" = xyes; then
++ COND_ENCODER_LZMA2_TRUE=
++ COND_ENCODER_LZMA2_FALSE='#'
++else
++ COND_ENCODER_LZMA2_TRUE='#'
++ COND_ENCODER_LZMA2_FALSE=
++fi
++
++ if test "x$enable_decoder_lzma2" = xyes; then
++ COND_DECODER_LZMA2_TRUE=
++ COND_DECODER_LZMA2_FALSE='#'
++else
++ COND_DECODER_LZMA2_TRUE='#'
++ COND_DECODER_LZMA2_FALSE=
++fi
++
++ if test "x$enable_filter_subblock" = xyes; then
++ COND_FILTER_SUBBLOCK_TRUE=
++ COND_FILTER_SUBBLOCK_FALSE='#'
++else
++ COND_FILTER_SUBBLOCK_TRUE='#'
++ COND_FILTER_SUBBLOCK_FALSE=
++fi
++
++ if test "x$enable_encoder_subblock" = xyes; then
++ COND_ENCODER_SUBBLOCK_TRUE=
++ COND_ENCODER_SUBBLOCK_FALSE='#'
++else
++ COND_ENCODER_SUBBLOCK_TRUE='#'
++ COND_ENCODER_SUBBLOCK_FALSE=
++fi
++
++ if test "x$enable_decoder_subblock" = xyes; then
++ COND_DECODER_SUBBLOCK_TRUE=
++ COND_DECODER_SUBBLOCK_FALSE='#'
++else
++ COND_DECODER_SUBBLOCK_TRUE='#'
++ COND_DECODER_SUBBLOCK_FALSE=
++fi
++
++ if test "x$enable_filter_delta" = xyes; then
++ COND_FILTER_DELTA_TRUE=
++ COND_FILTER_DELTA_FALSE='#'
++else
++ COND_FILTER_DELTA_TRUE='#'
++ COND_FILTER_DELTA_FALSE=
++fi
++
++ if test "x$enable_encoder_delta" = xyes; then
++ COND_ENCODER_DELTA_TRUE=
++ COND_ENCODER_DELTA_FALSE='#'
++else
++ COND_ENCODER_DELTA_TRUE='#'
++ COND_ENCODER_DELTA_FALSE=
++fi
++
++ if test "x$enable_decoder_delta" = xyes; then
++ COND_DECODER_DELTA_TRUE=
++ COND_DECODER_DELTA_FALSE='#'
++else
++ COND_DECODER_DELTA_TRUE='#'
++ COND_DECODER_DELTA_FALSE=
++fi
++
++ if test "x$enable_filter_x86" = xyes; then
++ COND_FILTER_X86_TRUE=
++ COND_FILTER_X86_FALSE='#'
++else
++ COND_FILTER_X86_TRUE='#'
++ COND_FILTER_X86_FALSE=
++fi
++
++ if test "x$enable_encoder_x86" = xyes; then
++ COND_ENCODER_X86_TRUE=
++ COND_ENCODER_X86_FALSE='#'
++else
++ COND_ENCODER_X86_TRUE='#'
++ COND_ENCODER_X86_FALSE=
++fi
++
++ if test "x$enable_decoder_x86" = xyes; then
++ COND_DECODER_X86_TRUE=
++ COND_DECODER_X86_FALSE='#'
++else
++ COND_DECODER_X86_TRUE='#'
++ COND_DECODER_X86_FALSE=
++fi
++
++ if test "x$enable_filter_powerpc" = xyes; then
++ COND_FILTER_POWERPC_TRUE=
++ COND_FILTER_POWERPC_FALSE='#'
++else
++ COND_FILTER_POWERPC_TRUE='#'
++ COND_FILTER_POWERPC_FALSE=
++fi
++
++ if test "x$enable_encoder_powerpc" = xyes; then
++ COND_ENCODER_POWERPC_TRUE=
++ COND_ENCODER_POWERPC_FALSE='#'
++else
++ COND_ENCODER_POWERPC_TRUE='#'
++ COND_ENCODER_POWERPC_FALSE=
++fi
++
++ if test "x$enable_decoder_powerpc" = xyes; then
++ COND_DECODER_POWERPC_TRUE=
++ COND_DECODER_POWERPC_FALSE='#'
++else
++ COND_DECODER_POWERPC_TRUE='#'
++ COND_DECODER_POWERPC_FALSE=
++fi
++
++ if test "x$enable_filter_ia64" = xyes; then
++ COND_FILTER_IA64_TRUE=
++ COND_FILTER_IA64_FALSE='#'
++else
++ COND_FILTER_IA64_TRUE='#'
++ COND_FILTER_IA64_FALSE=
++fi
++
++ if test "x$enable_encoder_ia64" = xyes; then
++ COND_ENCODER_IA64_TRUE=
++ COND_ENCODER_IA64_FALSE='#'
++else
++ COND_ENCODER_IA64_TRUE='#'
++ COND_ENCODER_IA64_FALSE=
++fi
++
++ if test "x$enable_decoder_ia64" = xyes; then
++ COND_DECODER_IA64_TRUE=
++ COND_DECODER_IA64_FALSE='#'
++else
++ COND_DECODER_IA64_TRUE='#'
++ COND_DECODER_IA64_FALSE=
++fi
++
++ if test "x$enable_filter_arm" = xyes; then
++ COND_FILTER_ARM_TRUE=
++ COND_FILTER_ARM_FALSE='#'
++else
++ COND_FILTER_ARM_TRUE='#'
++ COND_FILTER_ARM_FALSE=
++fi
++
++ if test "x$enable_encoder_arm" = xyes; then
++ COND_ENCODER_ARM_TRUE=
++ COND_ENCODER_ARM_FALSE='#'
++else
++ COND_ENCODER_ARM_TRUE='#'
++ COND_ENCODER_ARM_FALSE=
++fi
++
++ if test "x$enable_decoder_arm" = xyes; then
++ COND_DECODER_ARM_TRUE=
++ COND_DECODER_ARM_FALSE='#'
++else
++ COND_DECODER_ARM_TRUE='#'
++ COND_DECODER_ARM_FALSE=
++fi
++
++ if test "x$enable_filter_armthumb" = xyes; then
++ COND_FILTER_ARMTHUMB_TRUE=
++ COND_FILTER_ARMTHUMB_FALSE='#'
++else
++ COND_FILTER_ARMTHUMB_TRUE='#'
++ COND_FILTER_ARMTHUMB_FALSE=
++fi
++
++ if test "x$enable_encoder_armthumb" = xyes; then
++ COND_ENCODER_ARMTHUMB_TRUE=
++ COND_ENCODER_ARMTHUMB_FALSE='#'
++else
++ COND_ENCODER_ARMTHUMB_TRUE='#'
++ COND_ENCODER_ARMTHUMB_FALSE=
++fi
++
++ if test "x$enable_decoder_armthumb" = xyes; then
++ COND_DECODER_ARMTHUMB_TRUE=
++ COND_DECODER_ARMTHUMB_FALSE='#'
++else
++ COND_DECODER_ARMTHUMB_TRUE='#'
++ COND_DECODER_ARMTHUMB_FALSE=
++fi
++
++ if test "x$enable_filter_sparc" = xyes; then
++ COND_FILTER_SPARC_TRUE=
++ COND_FILTER_SPARC_FALSE='#'
++else
++ COND_FILTER_SPARC_TRUE='#'
++ COND_FILTER_SPARC_FALSE=
++fi
++
++ if test "x$enable_encoder_sparc" = xyes; then
++ COND_ENCODER_SPARC_TRUE=
++ COND_ENCODER_SPARC_FALSE='#'
++else
++ COND_ENCODER_SPARC_TRUE='#'
++ COND_ENCODER_SPARC_FALSE=
++fi
++
++ if test "x$enable_decoder_sparc" = xyes; then
++ COND_DECODER_SPARC_TRUE=
++ COND_DECODER_SPARC_FALSE='#'
++else
++ COND_DECODER_SPARC_TRUE='#'
++ COND_DECODER_SPARC_FALSE=
++fi
++
++
++# The so called "simple filters" share common code.
++enable_filter_simple=no
++enable_encoder_simple=no
++enable_decoder_simple=no
++test "x$enable_filter_x86" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_x86" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_x86" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_powerpc" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_powerpc" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_powerpc" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_ia64" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_ia64" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_ia64" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_arm" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_arm" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_arm" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_armthumb" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_armthumb" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_armthumb" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_sparc" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_sparc" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_sparc" = xyes && enable_decoder_simple=yes
++ if test "x$enable_filter_simple" = xyes; then
++ COND_FILTER_SIMPLE_TRUE=
++ COND_FILTER_SIMPLE_FALSE='#'
++else
++ COND_FILTER_SIMPLE_TRUE='#'
++ COND_FILTER_SIMPLE_FALSE=
++fi
++
++ if test "x$enable_encoder_simple" = xyes; then
++ COND_ENCODER_SIMPLE_TRUE=
++ COND_ENCODER_SIMPLE_FALSE='#'
++else
++ COND_ENCODER_SIMPLE_TRUE='#'
++ COND_ENCODER_SIMPLE_FALSE=
++fi
++
++ if test "x$enable_decoder_simple" = xyes; then
++ COND_DECODER_SIMPLE_TRUE=
++ COND_DECODER_SIMPLE_FALSE='#'
++else
++ COND_DECODER_SIMPLE_TRUE='#'
++ COND_DECODER_SIMPLE_FALSE=
++fi
++
++
++# LZ-based filters share common code.
++enable_filter_lz=no
++enable_encoder_lz=no
++enable_decoder_lz=no
++test "x$enable_filter_lzma1" = xyes && enable_filter_lz=yes
++test "x$enable_encoder_lzma1" = xyes && enable_encoder_lz=yes
++test "x$enable_decoder_lzma1" = xyes && enable_decoder_lz=yes
++test "x$enable_filter_lzma2" = xyes && enable_filter_lz=yes
++test "x$enable_encoder_lzma2" = xyes && enable_encoder_lz=yes
++test "x$enable_decoder_lzma2" = xyes && enable_decoder_lz=yes
++ if test "x$enable_filter_lz" = xyes; then
++ COND_FILTER_LZ_TRUE=
++ COND_FILTER_LZ_FALSE='#'
++else
++ COND_FILTER_LZ_TRUE='#'
++ COND_FILTER_LZ_FALSE=
++fi
++
++ if test "x$enable_encoder_lz" = xyes; then
++ COND_ENCODER_LZ_TRUE=
++ COND_ENCODER_LZ_FALSE='#'
++else
++ COND_ENCODER_LZ_TRUE='#'
++ COND_ENCODER_LZ_FALSE=
++fi
++
++ if test "x$enable_decoder_lz" = xyes; then
++ COND_DECODER_LZ_TRUE=
++ COND_DECODER_LZ_FALSE='#'
++else
++ COND_DECODER_LZ_TRUE='#'
++ COND_DECODER_LZ_FALSE=
++fi
++
++
++
++#################
++# Match finders #
++#################
++
++
++
++enable_match_finder_hc3=no
++enable_match_finder_hc4=no
++enable_match_finder_bt2=no
++enable_match_finder_bt3=no
++enable_match_finder_bt4=no
++
++
++{ $as_echo "$as_me:$LINENO: checking which match finders to build" >&5
++$as_echo_n "checking which match finders to build... " >&6; }
++# Check whether --enable-match-finders was given.
++if test "${enable_match_finders+set}" = set; then
++ enableval=$enable_match_finders;
++else
++ enable_match_finders=hc3,hc4,bt2,bt3,bt4
++fi
++
++enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'`
++if test "x$enable_encoder_lz" = xyes ; then
++ for arg in $enable_match_finders
++ do
++ case $arg in
++ hc3)
++ enable_match_finder_hc3=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_HC3 1
++_ACEOF
++
++ ;;
++ hc4)
++ enable_match_finder_hc4=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_HC4 1
++_ACEOF
++
++ ;;
++ bt2)
++ enable_match_finder_bt2=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_BT2 1
++_ACEOF
++
++ ;;
++ bt3)
++ enable_match_finder_bt3=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_BT3 1
++_ACEOF
++
++ ;;
++ bt4)
++ enable_match_finder_bt4=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_BT4 1
++_ACEOF
++
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: unknown match finder: $arg" >&5
++$as_echo "$as_me: error: unknown match finder: $arg" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++ esac
++ done
++ { $as_echo "$as_me:$LINENO: result: $enable_match_finders" >&5
++$as_echo "$enable_match_finders" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: (none because not building any LZ-based encoder)" >&5
++$as_echo "(none because not building any LZ-based encoder)" >&6; }
++fi
++
++
++####################
++# Integrity checks #
++####################
++
++
++
++enable_check_lzma1=no
++enable_check_lzma2=no
++enable_check_subblock=no
++enable_check_delta=no
++enable_check_x86=no
++enable_check_powerpc=no
++enable_check_ia64=no
++enable_check_arm=no
++enable_check_armthumb=no
++enable_check_sparc=no
++
++{ $as_echo "$as_me:$LINENO: checking which integrity checks to build" >&5
++$as_echo_n "checking which integrity checks to build... " >&6; }
++# Check whether --enable-checks was given.
++if test "${enable_checks+set}" = set; then
++ enableval=$enable_checks;
++else
++ enable_checks=crc32,crc64,sha256
++fi
++
++enable_checks=`echo "$enable_checks" | sed 's/,/ /g'`
++if test "x$enable_checks" = xno || test "x$enable_checks" = x; then
++ { $as_echo "$as_me:$LINENO: result: (none)" >&5
++$as_echo "(none)" >&6; }
++else
++ for arg in $enable_checks
++ do
++ case $arg in
++ crc32)
++ enable_check_crc32=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CHECK_CRC32 1
++_ACEOF
++
++ ;;
++ crc64)
++ enable_check_crc64=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CHECK_CRC64 1
++_ACEOF
++
++ ;;
++ sha256)
++ enable_check_sha256=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CHECK_SHA256 1
++_ACEOF
++
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: unknown integrity check: $arg" >&5
++$as_echo "$as_me: error: unknown integrity check: $arg" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++ esac
++ done
++ { $as_echo "$as_me:$LINENO: result: $enable_checks" >&5
++$as_echo "$enable_checks" >&6; }
++fi
++if test "x$enable_checks_crc32" = xno ; then
++ { { $as_echo "$as_me:$LINENO: error: For now, the CRC32 check must always be enabled." >&5
++$as_echo "$as_me: error: For now, the CRC32 check must always be enabled." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++ if test "x$enable_check_crc32" = xyes; then
++ COND_CHECK_CRC32_TRUE=
++ COND_CHECK_CRC32_FALSE='#'
++else
++ COND_CHECK_CRC32_TRUE='#'
++ COND_CHECK_CRC32_FALSE=
++fi
++
++ if test "x$enable_check_crc64" = xyes; then
++ COND_CHECK_CRC64_TRUE=
++ COND_CHECK_CRC64_FALSE='#'
++else
++ COND_CHECK_CRC64_TRUE='#'
++ COND_CHECK_CRC64_FALSE=
++fi
++
++ if test "x$enable_check_sha256" = xyes; then
++ COND_CHECK_SHA256_TRUE=
++ COND_CHECK_SHA256_FALSE='#'
++else
++ COND_CHECK_SHA256_TRUE='#'
++ COND_CHECK_SHA256_FALSE=
++fi
++
++
++
++###########################
++# Assembler optimizations #
++###########################
++
++{ $as_echo "$as_me:$LINENO: checking if assembler optimizations should be used" >&5
++$as_echo_n "checking if assembler optimizations should be used... " >&6; }
++# Check whether --enable-assembler was given.
++if test "${enable_assembler+set}" = set; then
++ enableval=$enable_assembler;
++else
++ enable_assembler=yes
++fi
++
++if test "x$enable_assembler" = xyes; then
++ case $host_cpu in
++ i?86) enable_assembler=x86 ;;
++ x86_64) enable_assembler=x86_64 ;;
++ *) enable_assembler=no ;;
++ esac
++fi
++case $enable_assembler in
++ x86)
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ASM_X86 1
++_ACEOF
++
++ ;;
++ x86_64)
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ASM_X86_64 1
++_ACEOF
++
++ ;;
++ no)
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: --enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'." >&5
++$as_echo "$as_me: error: --enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'." >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: result: $enable_assembler" >&5
++$as_echo "$enable_assembler" >&6; }
++ if test "x$enable_assembler" = xx86; then
++ COND_ASM_X86_TRUE=
++ COND_ASM_X86_FALSE='#'
++else
++ COND_ASM_X86_TRUE='#'
++ COND_ASM_X86_FALSE=
++fi
++
++ if test "x$enable_assembler" = xx86_64; then
++ COND_ASM_X86_64_TRUE=
++ COND_ASM_X86_64_FALSE='#'
++else
++ COND_ASM_X86_64_TRUE='#'
++ COND_ASM_X86_64_FALSE=
++fi
++
++
++
++################################
++# Fast unaligned memory access #
++################################
++
++{ $as_echo "$as_me:$LINENO: checking if unaligned memory access should be used" >&5
++$as_echo_n "checking if unaligned memory access should be used... " >&6; }
++# Check whether --enable-unaligned-access was given.
++if test "${enable_unaligned_access+set}" = set; then
++ enableval=$enable_unaligned_access;
++else
++ enable_unaligned_access=auto
++fi
++
++if test "x$enable_unaligned_access" = xauto ; then
++ case $host_cpu in
++ i?86|x86_64|powerpc|powerpc64)
++ enable_unaligned_access=yes
++ ;;
++ *)
++ enable_unaligned_access=no
++ ;;
++ esac
++fi
++if test "x$enable_unaligned_access" = xyes ; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_FAST_UNALIGNED_ACCESS 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++#####################
++# Size optimization #
++#####################
++
++{ $as_echo "$as_me:$LINENO: checking if small size is preferred over speed" >&5
++$as_echo_n "checking if small size is preferred over speed... " >&6; }
++# Check whether --enable-small was given.
++if test "${enable_small+set}" = set; then
++ enableval=$enable_small;
++else
++ enable_small=no
++fi
++
++if test "x$enable_small" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_SMALL 1
++_ACEOF
++
++elif test "x$enable_small" != xno; then
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: --enable-small accepts only \`yes' or \`no'" >&5
++$as_echo "$as_me: error: --enable-small accepts only \`yes' or \`no'" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ $as_echo "$as_me:$LINENO: result: $enable_small" >&5
++$as_echo "$enable_small" >&6; }
++ if test "x$enable_small" = xyes; then
++ COND_SMALL_TRUE=
++ COND_SMALL_FALSE='#'
++else
++ COND_SMALL_TRUE='#'
++ COND_SMALL_FALSE=
++fi
++
++
++
++#############
++# Threading #
++#############
++
++{ $as_echo "$as_me:$LINENO: checking if threading support is wanted" >&5
++$as_echo_n "checking if threading support is wanted... " >&6; }
++# Check whether --enable-threads was given.
++if test "${enable_threads+set}" = set; then
++ enableval=$enable_threads;
++else
++ enable_threads=yes
++fi
++
++if test "x$enable_threads" != xyes && test "x$enable_threads" != xno; then
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: --enable-threads accepts only \`yes' or \`no'" >&5
++$as_echo "$as_me: error: --enable-threads accepts only \`yes' or \`no'" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ $as_echo "$as_me:$LINENO: result: $enable_threads" >&5
++$as_echo "$enable_threads" >&6; }
++# We use the actual result a little later.
++
++
++############################################
++# xz/xzdec/lzmadec linkage against liblzma #
++############################################
++
++# Link the xz, xzdec, and lzmadec command line tools against static liblzma
++# unless using --enable-dynamic. Using static liblzma gives a little bit
++# faster executable on x86, because no register is wasted for PIC. We also
++# have one dependency less, which allows users to more freely copy the xz
++# binary to other boxes. However, I wouldn't be surprised if distro
++# maintainers still prefer dynamic linking, so let's make it easy for them.
++
++{ $as_echo "$as_me:$LINENO: checking how programs should be linked against liblzma" >&5
++$as_echo_n "checking how programs should be linked against liblzma... " >&6; }
++# Check whether --enable-dynamic was given.
++if test "${enable_dynamic+set}" = set; then
++ enableval=$enable_dynamic;
++else
++ enable_dynamic=mixed
++fi
++
++case $enable_dynamic in
++ mixed)
++ { $as_echo "$as_me:$LINENO: result: mixed (some dynamically, some statically)" >&5
++$as_echo "mixed (some dynamically, some statically)" >&6; }
++ ;;
++ yes)
++ { $as_echo "$as_me:$LINENO: result: dynamically" >&5
++$as_echo "dynamically" >&6; }
++ ;;
++ no)
++ { $as_echo "$as_me:$LINENO: result: statically" >&5
++$as_echo "statically" >&6; }
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++ { { $as_echo "$as_me:$LINENO: error: --enable-dynamic accepts only \`mixed', \`yes', or \`no'" >&5
++$as_echo "$as_me: error: --enable-dynamic accepts only \`mixed', \`yes', or \`no'" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++# We use the actual results later, because we don't know yet
++# if --disable-shared or --disable-static was used.
++
++
++###############################################################################
++# Checks for programs.
++###############################################################################
++
++echo
++
++ { $as_echo "$as_me:$LINENO: checking for a shell that conforms to POSIX" >&5
++$as_echo_n "checking for a shell that conforms to POSIX... " >&6; }
++if test "${gl_cv_posix_shell+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ gl_test_posix_shell_script='
++ func_return () {
++ (exit $1)
++ }
++ func_success () {
++ func_return 0
++ }
++ func_failure () {
++ func_return 1
++ }
++ func_ret_success () {
++ return 0
++ }
++ func_ret_failure () {
++ return 1
++ }
++ subshell_umask_sanity () {
++ (umask 22; (umask 0); test $(umask) -eq 22)
++ }
++ test "$(echo foo)" = foo &&
++ func_success &&
++ ! func_failure &&
++ func_ret_success &&
++ ! func_ret_failure &&
++ (set x && func_ret_success y && test x = "$1") &&
++ subshell_umask_sanity
++ '
++ for gl_cv_posix_shell in \
++ "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do
++ case $gl_cv_posix_shell in
++ /*)
++ "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \
++ && break;;
++ esac
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $gl_cv_posix_shell" >&5
++$as_echo "$gl_cv_posix_shell" >&6; }
++
++ if test "$gl_cv_posix_shell" != no; then
++ POSIX_SHELL=$gl_cv_posix_shell
++ PREFERABLY_POSIX_SHELL=$POSIX_SHELL
++ else
++ POSIX_SHELL=
++ PREFERABLY_POSIX_SHELL=/bin/sh
++ fi
++
++
++
++if test -z "$POSIX_SHELL" ; then
++ { { $as_echo "$as_me:$LINENO: error: No POSIX conforming shell (sh) was found." >&5
++$as_echo "$as_me: error: No POSIX conforming shell (sh) was found." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++echo
++echo "Initializing Automake:"
++
++am__api_version='1.11'
++
++# Find a good install program. We prefer a C program (faster),
++# so one script is as good as another. But avoid the broken or
++# incompatible versions:
++# SysV /etc/install, /usr/sbin/install
++# SunOS /usr/etc/install
++# IRIX /sbin/install
++# AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
++# AFS /usr/afsws/bin/install, which mishandles nonexistent args
++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
++# ./install, which can be erroneously created by make from ./install.sh.
++# Reject install programs that cannot install multiple files.
++{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++$as_echo_n "checking for a BSD-compatible install... " >&6; }
++if test -z "$INSTALL"; then
++if test "${ac_cv_path_install+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ # Account for people who put trailing slashes in PATH elements.
++case $as_dir/ in
++ ./ | .// | /cC/* | \
++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
++ /usr/ucb/* ) ;;
++ *)
++ # OSF1 and SCO ODT 3.0 have their own names for install.
++ # Don't use installbsd from OSF since it installs stuff as root
++ # by default.
++ for ac_prog in ginstall scoinst install; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
++ if test $ac_prog = install &&
++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # AIX install. It has an incompatible calling convention.
++ :
++ elif test $ac_prog = install &&
++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # program-specific install script used by HP pwplus--don't use.
++ :
++ else
++ rm -rf conftest.one conftest.two conftest.dir
++ echo one > conftest.one
++ echo two > conftest.two
++ mkdir conftest.dir
++ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
++ test -s conftest.one && test -s conftest.two &&
++ test -s conftest.dir/conftest.one &&
++ test -s conftest.dir/conftest.two
++ then
++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++ break 3
++ fi
++ fi
++ fi
++ done
++ done
++ ;;
++esac
++
++done
++IFS=$as_save_IFS
++
++rm -rf conftest.one conftest.two conftest.dir
++
++fi
++ if test "${ac_cv_path_install+set}" = set; then
++ INSTALL=$ac_cv_path_install
++ else
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for INSTALL within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ INSTALL=$ac_install_sh
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
++$as_echo "$INSTALL" >&6; }
++
++# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
++# It thinks the first close brace ends the variable substitution.
++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
++
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
++
++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
++
++{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
++$as_echo_n "checking whether build environment is sane... " >&6; }
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name. Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++ *[\\\"\#\$\&\'\`$am_lf]*)
++ { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
++$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++case $srcdir in
++ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
++ { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
++$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments. Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++ if test "$*" = "X"; then
++ # -L didn't work.
++ set X `ls -t "$srcdir/configure" conftest.file`
++ fi
++ rm -f conftest.file
++ if test "$*" != "X $srcdir/configure conftest.file" \
++ && test "$*" != "X conftest.file $srcdir/configure"; then
++
++ # If neither matched, then we have a broken ls. This can happen
++ # if, for instance, CONFIG_SHELL is bash and it inherits a
++ # broken ls alias from the environment. This has actually
++ # happened. Such a system could not be considered "sane".
++ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
++alias in your environment" >&5
++$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
++alias in your environment" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++ test "$2" = conftest.file
++ )
++then
++ # Ok.
++ :
++else
++ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
++Check your system clock" >&5
++$as_echo "$as_me: error: newly created file is older than distributed files!
++Check your system clock" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++test "$program_prefix" != NONE &&
++ program_transform_name="s&^&$program_prefix&;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
++# Double any \ or $.
++# By default was `s,x,x', remove it if useless.
++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++if test x"${MISSING+set}" != xset; then
++ case $am_aux_dir in
++ *\ * | *\ *)
++ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++ *)
++ MISSING="\${SHELL} $am_aux_dir/missing" ;;
++ esac
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++ am_missing_run="$MISSING --run "
++else
++ am_missing_run=
++ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
++$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
++fi
++
++if test x"${install_sh}" != xset; then
++ case $am_aux_dir in
++ *\ * | *\ *)
++ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++ *)
++ install_sh="\${SHELL} $am_aux_dir/install-sh"
++ esac
++fi
++
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'. However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++if test "$cross_compiling" != no; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
++$as_echo "$STRIP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++$as_echo "$ac_ct_STRIP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
++fi
++
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++
++{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
++$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
++if test -z "$MKDIR_P"; then
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in mkdir gmkdir; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
++ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
++ 'mkdir (GNU coreutils) '* | \
++ 'mkdir (coreutils) '* | \
++ 'mkdir (fileutils) '4.1*)
++ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
++ break 3;;
++ esac
++ done
++ done
++done
++IFS=$as_save_IFS
++
++fi
++
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ MKDIR_P="$ac_cv_path_mkdir -p"
++ else
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for MKDIR_P within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ test -d ./--version && rmdir ./--version
++ MKDIR_P="$ac_install_sh -d"
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
++$as_echo "$MKDIR_P" >&6; }
++
++mkdir_p="$MKDIR_P"
++case $mkdir_p in
++ [\\/$]* | ?:[\\/]*) ;;
++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++
++for ac_prog in gawk mawk nawk awk
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_AWK+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$AWK"; then
++ ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AWK="$ac_prog"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
++$as_echo "$AWK" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$AWK" && break
++done
++
++{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
++set x ${MAKE-make}
++ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++ SET_MAKE=
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++ SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++ am__leading_dot=.
++else
++ am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++ # is not polluted with repeated "-I."
++ am__isrc=' -I$(srcdir)'
++ # test to see if srcdir already configured
++ if test -f $srcdir/config.status; then
++ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
++$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++ if (cygpath --version) >/dev/null 2>/dev/null; then
++ CYGPATH_W='cygpath -w'
++ else
++ CYGPATH_W=echo
++ fi
++fi
++
++
++# Define the identity of the package.
++ PACKAGE='xz'
++ VERSION='4.999.9beta'
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE "$PACKAGE"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define VERSION "$VERSION"
++_ACEOF
++
++# Some tools Automake needs.
++
++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
++
++
++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
++
++
++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
++
++
++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
++
++
++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
++
++# We need awk for the "check" target. The system "awk" is bad on
++# some platforms.
++# Always define AMTAR for backward compatibility.
++
++AMTAR=${AMTAR-"${am_missing_run}tar"}
++
++am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
++$as_echo_n "checking whether ln -s works... " >&6; }
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++$as_echo "no, using $LN_S" >&6; }
++fi
++
++
++DEPDIR="${am__leading_dot}deps"
++
++ac_config_commands="$ac_config_commands depfiles"
++
++
++am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++ @echo this is the am__doit target
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
++$as_echo_n "checking for style of include used by $am_make... " >&6; }
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from `make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++ am__include=include
++ am__quote=
++ _am_result=GNU
++ ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++ echo '.include "confinc"' > confmf
++ case `$am_make -s -f confmf 2> /dev/null` in #(
++ *the\ am__doit\ target*)
++ am__include=.include
++ am__quote="\""
++ _am_result=BSD
++ ;;
++ esac
++fi
++
++
++{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
++$as_echo "$_am_result" >&6; }
++rm -f confinc confmf
++
++# Check whether --enable-dependency-tracking was given.
++if test "${enable_dependency_tracking+set}" = set; then
++ enableval=$enable_dependency_tracking;
++fi
++
++if test "x$enable_dependency_tracking" != xno; then
++ am_depcomp="$ac_aux_dir/depcomp"
++ AMDEPBACKSLASH='\'
++fi
++ if test "x$enable_dependency_tracking" != xno; then
++ AMDEP_TRUE=
++ AMDEP_FALSE='#'
++else
++ AMDEP_TRUE='#'
++ AMDEP_FALSE=
++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
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}gcc"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++ ac_ct_CC=$CC
++ # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="gcc"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++else
++ CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}cc"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ fi
++fi
++if test -z "$CC"; then
++ # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++ ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++ ac_prog_rejected=yes
++ continue
++ fi
++ ac_cv_prog_CC="cc"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++ # We found a bogon in the path, so make sure we never use it.
++ set dummy $ac_cv_prog_CC
++ shift
++ if test $# != 0; then
++ # We chose a different compiler from the bogus one.
++ # However, it has the same basename, so the bogon will be chosen
++ # first if we set CC to just the basename; use the full file name.
++ shift
++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++ fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in cl.exe
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$CC" && break
++ done
++fi
++if test -z "$CC"; then
++ ac_ct_CC=$CC
++ for ac_prog in cl.exe
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="$ac_prog"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$ac_ct_CC" && break
++done
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++fi
++
++fi
++
++
++test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }; }
++
++# Provide some information about the compiler.
++$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
++set X $ac_compile
++ac_compiler=$2
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compiler --version >&5") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compiler -v >&5") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compiler -V >&5") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++$as_echo_n "checking for C compiler default output file name... " >&6; }
++ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++
++# The possible output files:
++ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
++
++ac_rmfiles=
++for ac_file in $ac_files
++do
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++ esac
++done
++rm -f $ac_rmfiles
++
++if { (ac_try="$ac_link_default"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link_default") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; 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'
++# 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.
++for ac_file in $ac_files ''
++do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
++ ;;
++ [ab].out )
++ # We found the default executable, but exeext='' is most
++ # certainly right.
++ break;;
++ *.* )
++ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
++ then :; else
++ 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'
++ # 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.
++ break;;
++ * )
++ break;;
++ esac
++done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
++else
++ ac_file=''
++fi
++
++{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
++$as_echo "$ac_file" >&6; }
++if test -z "$ac_file"; then
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++$as_echo_n "checking whether the C compiler works... " >&6; }
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++ if { ac_try='./$ac_file'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cross_compiling=no
++ else
++ if test "$cross_compiling" = maybe; then
++ cross_compiling=yes
++ else
++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }; }
++ fi
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++$as_echo_n "checking whether we are cross compiling... " >&6; }
++{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
++$as_echo "$cross_compiling" >&6; }
++
++{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
++$as_echo_n "checking for suffix of executables... " >&6; }
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; 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'.
++for ac_file in conftest.exe conftest conftest.*; do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ break;;
++ * ) break;;
++ esac
++done
++else
++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++$as_echo "$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
++$as_echo_n "checking for suffix of object files... " >&6; }
++if test "${ac_cv_objext+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ for ac_file in conftest.o conftest.obj conftest.*; do
++ test -f "$ac_file" || continue;
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++ break;;
++ esac
++done
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++$as_echo "$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++#ifndef __GNUC__
++ choke me
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_compiler_gnu=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_compiler_gnu=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++$as_echo "$ac_cv_c_compiler_gnu" >&6; }
++if test $ac_compiler_gnu = yes; then
++ GCC=yes
++else
++ GCC=
++fi
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++$as_echo_n "checking whether $CC accepts -g... " >&6; }
++if test "${ac_cv_prog_cc_g+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_save_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ ac_cv_prog_cc_g=no
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ CFLAGS=""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_c_werror_flag=$ac_save_c_werror_flag
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++$as_echo "$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++ CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++ if test "$GCC" = yes; then
++ CFLAGS="-g -O2"
++ else
++ CFLAGS="-g"
++ fi
++else
++ if test "$GCC" = yes; then
++ CFLAGS="-O2"
++ else
++ CFLAGS=
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
++$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
++if test "${ac_cv_prog_cc_c89+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++
++/* 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 don't provoke an error unfortunately, instead are silently treated
++ as 'x'. The following induces an error, until -std is added to get
++ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
++ array size at least. It's necessary to write '\x00'==0 to get something
++ that's true only with -std. */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++ inside strings and character constants. */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_c89=$ac_arg
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++ test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++ x)
++ { $as_echo "$as_me:$LINENO: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++ xno)
++ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++ *)
++ CC="$CC $ac_cv_prog_cc_c89"
++ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
++$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++
++
++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
++
++depcc="$CC" am_compiler_list=
++
++{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++$as_echo_n "checking dependency style of $depcc... " >&6; }
++if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++ # We make a subdir and do the tests there. Otherwise we can end up
++ # making bogus files that we don't know about and never remove. For
++ # instance it was reported that on HP-UX the gcc test will end up
++ # making a dummy file named `D' -- because `-MD' means `put the output
++ # in D'.
++ mkdir conftest.dir
++ # Copy depcomp to subdir because otherwise we won't find it if we're
++ # using a relative directory.
++ cp "$am_depcomp" conftest.dir
++ cd conftest.dir
++ # We will build objects and dependencies in a subdirectory because
++ # it helps to detect inapplicable dependency modes. For instance
++ # both Tru64's cc and ICC support -MD to output dependencies as a
++ # side effect of compilation, but ICC will put the dependencies in
++ # the current directory while Tru64 will put them in the object
++ # directory.
++ mkdir sub
++
++ am_cv_CC_dependencies_compiler_type=none
++ if test "$am_compiler_list" = ""; then
++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++ fi
++ am__universal=false
++ case " $depcc " in #(
++ *\ -arch\ *\ -arch\ *) am__universal=true ;;
++ esac
++
++ for depmode in $am_compiler_list; do
++ # Setup a source with many dependencies, because some compilers
++ # like to wrap large dependency lists on column 80 (with \), and
++ # we should not choose a depcomp mode which is confused by this.
++ #
++ # We need to recreate these files for each test, as the compiler may
++ # overwrite some of them when testing with obscure command lines.
++ # This happens at least with the AIX C compiler.
++ : > sub/conftest.c
++ for i in 1 2 3 4 5 6; do
++ echo '#include "conftst'$i'.h"' >> sub/conftest.c
++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++ # Solaris 8's {/usr,}/bin/sh.
++ touch sub/conftst$i.h
++ done
++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++ # We check with `-c' and `-o' for the sake of the "dashmstdout"
++ # mode. It turns out that the SunPro C++ compiler does not properly
++ # handle `-M -o', and we need to detect this. Also, some Intel
++ # versions had trouble with output in subdirs
++ am__obj=sub/conftest.${OBJEXT-o}
++ am__minus_obj="-o $am__obj"
++ case $depmode in
++ gcc)
++ # This depmode causes a compiler race in universal mode.
++ test "$am__universal" = false || continue
++ ;;
++ nosideeffect)
++ # after this tag, mechanisms are not by side-effect, so they'll
++ # only be used when explicitly requested
++ if test "x$enable_dependency_tracking" = xyes; then
++ continue
++ else
++ break
++ fi
++ ;;
++ msvisualcpp | msvcmsys)
++ # This compiler won't grok `-c -o', but also, the minuso test has
++ # not run yet. These depmodes are late enough in the game, and
++ # so weak that their functioning should not be impacted.
++ am__obj=conftest.${OBJEXT-o}
++ am__minus_obj=
++ ;;
++ none) break ;;
++ esac
++ if depmode=$depmode \
++ source=sub/conftest.c object=$am__obj \
++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++ # icc doesn't choke on unknown options, it will just issue warnings
++ # or remarks (even with -Werror). So we grep stderr for any message
++ # that says an option was ignored or not supported.
++ # When given -MP, icc 7.0 and 7.1 complain thusly:
++ # icc: Command line warning: ignoring option '-M'; no argument required
++ # The diagnosis changed in icc 8.0:
++ # icc: Command line remark: option '-MP' not supported
++ if (grep 'ignoring option' conftest.err ||
++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++ am_cv_CC_dependencies_compiler_type=$depmode
++ break
++ fi
++ fi
++ done
++
++ cd ..
++ rm -rf conftest.dir
++else
++ am_cv_CC_dependencies_compiler_type=none
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
++
++ if
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
++ am__fastdepCC_TRUE=
++ am__fastdepCC_FALSE='#'
++else
++ am__fastdepCC_TRUE='#'
++ am__fastdepCC_FALSE=
++fi
++
++
++ { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
++$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
++if test "${ac_cv_prog_cc_c99+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_prog_cc_c99=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdarg.h>
++#include <stdbool.h>
++#include <stdlib.h>
++#include <wchar.h>
++#include <stdio.h>
++
++// Check varargs macros. These examples are taken from C99 6.10.3.5.
++#define debug(...) fprintf (stderr, __VA_ARGS__)
++#define showlist(...) puts (#__VA_ARGS__)
++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
++static void
++test_varargs_macros (void)
++{
++ int x = 1234;
++ int y = 5678;
++ debug ("Flag");
++ debug ("X = %d\n", x);
++ showlist (The first, second, and third items.);
++ report (x>y, "x is %d but y is %d", x, y);
++}
++
++// Check long long types.
++#define BIG64 18446744073709551615ull
++#define BIG32 4294967295ul
++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
++#if !BIG_OK
++ your preprocessor is broken;
++#endif
++#if BIG_OK
++#else
++ your preprocessor is broken;
++#endif
++static long long int bignum = -9223372036854775807LL;
++static unsigned long long int ubignum = BIG64;
++
++struct incomplete_array
++{
++ int datasize;
++ double data[];
++};
++
++struct named_init {
++ int number;
++ const wchar_t *name;
++ double average;
++};
++
++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)
++ continue;
++ return 0;
++}
++
++// Check varargs and va_copy.
++static void
++test_varargs (const char *format, ...)
++{
++ va_list args;
++ va_start (args, format);
++ va_list args_copy;
++ va_copy (args_copy, args);
++
++ const char *str;
++ int number;
++ float fnumber;
++
++ while (*format)
++ {
++ switch (*format++)
++ {
++ case 's': // string
++ str = va_arg (args_copy, const char *);
++ break;
++ case 'd': // int
++ number = va_arg (args_copy, int);
++ break;
++ case 'f': // float
++ fnumber = va_arg (args_copy, double);
++ break;
++ default:
++ break;
++ }
++ }
++ va_end (args_copy);
++ va_end (args);
++}
++
++int
++main ()
++{
++
++ // Check bool.
++ _Bool success = false;
++
++ // Check restrict.
++ if (test_restrict ("String literal") == 0)
++ success = true;
++ char *restrict newvar = "Another string";
++
++ // Check varargs.
++ test_varargs ("s, d' f .", "string", 65, 34.234);
++ test_varargs_macros ();
++
++ // Check flexible array members.
++ struct incomplete_array *ia =
++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
++ ia->datasize = 10;
++ for (int i = 0; i < ia->datasize; ++i)
++ ia->data[i] = i * 1.234;
++
++ // Check named initializers.
++ struct named_init ni = {
++ .number = 34,
++ .name = L"Test wide string",
++ .average = 543.34343,
++ };
++
++ ni.number = 58;
++
++ int dynamic_array[ni.number];
++ dynamic_array[ni.number - 1] = 543;
++
++ // work around unused variable warnings
++ return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
++ || dynamic_array[ni.number - 1] != 543);
++
++ ;
++ return 0;
++}
++_ACEOF
++for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_c99=$ac_arg
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++ test "x$ac_cv_prog_cc_c99" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c99" in
++ x)
++ { $as_echo "$as_me:$LINENO: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++ xno)
++ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++ *)
++ CC="$CC $ac_cv_prog_cc_c99"
++ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
++$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
++esac
++
++
++
++if test x$ac_cv_prog_cc_c99 = xno ; then
++ { { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5
++$as_echo "$as_me: error: No C99 compiler was found." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test "x$CC" != xcc; then
++ { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
++$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
++else
++ { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
++$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
++fi
++set dummy $CC; ac_cc=`$as_echo "$2" |
++ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
++if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++# Make sure it works both with $CC and with simple cc.
++# We do the test twice because some compilers refuse to overwrite an
++# existing .o file with -o, though they will create one.
++ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
++rm -f conftest2.*
++if { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ test -f conftest2.$ac_objext && { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); };
++then
++ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
++ if test "x$CC" != xcc; then
++ # Test first that cc exists at all.
++ if { ac_try='cc -c conftest.$ac_ext >&5'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
++ rm -f conftest2.*
++ if { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ test -f conftest2.$ac_objext && { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); };
++ then
++ # cc works too.
++ :
++ else
++ # cc exists but doesn't like -o.
++ eval ac_cv_prog_cc_${ac_cc}_c_o=no
++ fi
++ fi
++ fi
++else
++ eval ac_cv_prog_cc_${ac_cc}_c_o=no
++fi
++rm -f core conftest*
++
++fi
++if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++
++cat >>confdefs.h <<\_ACEOF
++#define NO_MINUS_C_MINUS_O 1
++_ACEOF
++
++fi
++
++# FIXME: we rely on the cache variable name because
++# there is no other way.
++set dummy $CC
++am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
++eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
++if test "$am_t" != yes; then
++ # Losing compiler, so override with the script.
++ # FIXME: It is wrong to rewrite CC.
++ # But if we don't then we get into trouble of one sort or another.
++ # A longer-term fix would be to have automake use am__CC in this case,
++ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
++ CC="$am_aux_dir/compile $CC"
++fi
++
++
++# By default we simply use the C compiler to build assembly code.
++
++test "${CCAS+set}" = set || CCAS=$CC
++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
++
++
++
++depcc="$CCAS" am_compiler_list=
++
++{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++$as_echo_n "checking dependency style of $depcc... " >&6; }
++if test "${am_cv_CCAS_dependencies_compiler_type+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++ # We make a subdir and do the tests there. Otherwise we can end up
++ # making bogus files that we don't know about and never remove. For
++ # instance it was reported that on HP-UX the gcc test will end up
++ # making a dummy file named `D' -- because `-MD' means `put the output
++ # in D'.
++ mkdir conftest.dir
++ # Copy depcomp to subdir because otherwise we won't find it if we're
++ # using a relative directory.
++ cp "$am_depcomp" conftest.dir
++ cd conftest.dir
++ # We will build objects and dependencies in a subdirectory because
++ # it helps to detect inapplicable dependency modes. For instance
++ # both Tru64's cc and ICC support -MD to output dependencies as a
++ # side effect of compilation, but ICC will put the dependencies in
++ # the current directory while Tru64 will put them in the object
++ # directory.
++ mkdir sub
++
++ am_cv_CCAS_dependencies_compiler_type=none
++ if test "$am_compiler_list" = ""; then
++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++ fi
++ am__universal=false
++
++
++ for depmode in $am_compiler_list; do
++ # Setup a source with many dependencies, because some compilers
++ # like to wrap large dependency lists on column 80 (with \), and
++ # we should not choose a depcomp mode which is confused by this.
++ #
++ # We need to recreate these files for each test, as the compiler may
++ # overwrite some of them when testing with obscure command lines.
++ # This happens at least with the AIX C compiler.
++ : > sub/conftest.c
++ for i in 1 2 3 4 5 6; do
++ echo '#include "conftst'$i'.h"' >> sub/conftest.c
++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++ # Solaris 8's {/usr,}/bin/sh.
++ touch sub/conftst$i.h
++ done
++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++ # We check with `-c' and `-o' for the sake of the "dashmstdout"
++ # mode. It turns out that the SunPro C++ compiler does not properly
++ # handle `-M -o', and we need to detect this. Also, some Intel
++ # versions had trouble with output in subdirs
++ am__obj=sub/conftest.${OBJEXT-o}
++ am__minus_obj="-o $am__obj"
++ case $depmode in
++ gcc)
++ # This depmode causes a compiler race in universal mode.
++ test "$am__universal" = false || continue
++ ;;
++ nosideeffect)
++ # after this tag, mechanisms are not by side-effect, so they'll
++ # only be used when explicitly requested
++ if test "x$enable_dependency_tracking" = xyes; then
++ continue
++ else
++ break
++ fi
++ ;;
++ msvisualcpp | msvcmsys)
++ # This compiler won't grok `-c -o', but also, the minuso test has
++ # not run yet. These depmodes are late enough in the game, and
++ # so weak that their functioning should not be impacted.
++ am__obj=conftest.${OBJEXT-o}
++ am__minus_obj=
++ ;;
++ none) break ;;
++ esac
++ if depmode=$depmode \
++ source=sub/conftest.c object=$am__obj \
++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++ # icc doesn't choke on unknown options, it will just issue warnings
++ # or remarks (even with -Werror). So we grep stderr for any message
++ # that says an option was ignored or not supported.
++ # When given -MP, icc 7.0 and 7.1 complain thusly:
++ # icc: Command line warning: ignoring option '-M'; no argument required
++ # The diagnosis changed in icc 8.0:
++ # icc: Command line remark: option '-MP' not supported
++ if (grep 'ignoring option' conftest.err ||
++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++ am_cv_CCAS_dependencies_compiler_type=$depmode
++ break
++ fi
++ fi
++ done
++
++ cd ..
++ rm -rf conftest.dir
++else
++ am_cv_CCAS_dependencies_compiler_type=none
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $am_cv_CCAS_dependencies_compiler_type" >&5
++$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
++CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
++
++ if
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
++ am__fastdepCCAS_TRUE=
++ am__fastdepCCAS_FALSE='#'
++else
++ am__fastdepCCAS_TRUE='#'
++ am__fastdepCCAS_FALSE=
++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
++{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++$as_echo_n "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+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-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.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # 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 >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++ Syntax error
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ac_nonexistent.h>
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f 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
++{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
++$as_echo "$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.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # 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 >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++ Syntax error
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ac_nonexistent.h>
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ :
++else
++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }; }
++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
++
++
++{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
++$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
++if test "${ac_cv_path_GREP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in grep ggrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_GREP" && $as_test_x "$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
++*GNU*)
++ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
++*)
++ ac_count=0
++ $as_echo_n 0123456789 >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ $as_echo 'GREP' >> "conftest.nl"
++ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_GREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_GREP="$ac_path_GREP"
++ ac_path_GREP_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_GREP_found && break 3
++ done
++ done
++done
++IFS=$as_save_IFS
++ if test -z "$ac_cv_path_GREP"; then
++ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++else
++ ac_cv_path_GREP=$GREP
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
++$as_echo "$ac_cv_path_GREP" >&6; }
++ GREP="$ac_cv_path_GREP"
++
++
++{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
++$as_echo_n "checking for egrep... " >&6; }
++if test "${ac_cv_path_EGREP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
++ then ac_cv_path_EGREP="$GREP -E"
++ else
++ if test -z "$EGREP"; then
++ ac_path_EGREP_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
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in egrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_EGREP" && $as_test_x "$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
++*GNU*)
++ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
++*)
++ ac_count=0
++ $as_echo_n 0123456789 >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ $as_echo 'EGREP' >> "conftest.nl"
++ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_EGREP="$ac_path_EGREP"
++ ac_path_EGREP_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_found && break 3
++ done
++ done
++done
++IFS=$as_save_IFS
++ if test -z "$ac_cv_path_EGREP"; then
++ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++else
++ ac_cv_path_EGREP=$EGREP
++fi
++
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
++$as_echo "$ac_cv_path_EGREP" >&6; }
++ EGREP="$ac_cv_path_EGREP"
++
++
++{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++$as_echo_n "checking for ANSI C header files... " >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_stdc=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ $as_echo "$as_me: program exited with status $ac_status" >&5
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -rf conftest.dSYM
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++$as_echo "$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++
++
++
++
++
++
++
++
++
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++ inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++ if test "${ac_cv_header_minix_config_h+set}" = set; then
++ { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
++$as_echo_n "checking for minix/config.h... " >&6; }
++if test "${ac_cv_header_minix_config_h+set}" = set; then
++ $as_echo_n "(cached) " >&6
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
++$as_echo "$ac_cv_header_minix_config_h" >&6; }
++else
++ # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5
++$as_echo_n "checking minix/config.h usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <minix/config.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5
++$as_echo_n "checking minix/config.h presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <minix/config.h>
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## --------------------------------------- ##
++## Report this to lasse.collin at tukaani.org ##
++## --------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
++$as_echo_n "checking for minix/config.h... " >&6; }
++if test "${ac_cv_header_minix_config_h+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_header_minix_config_h=$ac_header_preproc
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
++$as_echo "$ac_cv_header_minix_config_h" >&6; }
++
++fi
++if test "x$ac_cv_header_minix_config_h" = x""yes; then
++ MINIX=yes
++else
++ MINIX=
++fi
++
++
++ if test "$MINIX" = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define _POSIX_SOURCE 1
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define _POSIX_1_SOURCE 2
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define _MINIX 1
++_ACEOF
++
++ fi
++
++
++
++ { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5
++$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
++if test "${ac_cv_safe_to_define___extensions__+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++# define __EXTENSIONS__ 1
++ $ac_includes_default
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_safe_to_define___extensions__=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_safe_to_define___extensions__=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5
++$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
++ test $ac_cv_safe_to_define___extensions__ = yes &&
++ cat >>confdefs.h <<\_ACEOF
++#define __EXTENSIONS__ 1
++_ACEOF
++
++ cat >>confdefs.h <<\_ACEOF
++#define _ALL_SOURCE 1
++_ACEOF
++
++ cat >>confdefs.h <<\_ACEOF
++#define _GNU_SOURCE 1
++_ACEOF
++
++ cat >>confdefs.h <<\_ACEOF
++#define _POSIX_PTHREAD_SEMANTICS 1
++_ACEOF
++
++ cat >>confdefs.h <<\_ACEOF
++#define _TANDEM_SOURCE 1
++_ACEOF
++
++
++
++if test "x$enable_threads" = xyes; then
++ echo
++ echo "Threading support:"
++
++
++
++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
++
++acx_pthread_ok=no
++
++# We used to check for pthread.h first, but this fails if pthread.h
++# requires special compiler flags (e.g. on True64 or Sequent).
++# It gets checked for in the link test anyway.
++
++# First of all, check if the user has set any of the PTHREAD_LIBS,
++# etcetera environment variables, and if threads linking works using
++# them:
++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ save_LIBS="$LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
++$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_join ();
++int
++main ()
++{
++return pthread_join ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ acx_pthread_ok=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5
++$as_echo "$acx_pthread_ok" >&6; }
++ if test x"$acx_pthread_ok" = xno; then
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++ fi
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++fi
++
++# We must check for the threads library under a number of different
++# names; the ordering is very important because some systems
++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
++# libraries is broken (non-POSIX).
++
++# Create a list of thread flags to try. Items starting with a "-" are
++# C compiler flags, and other items are library names, except for "none"
++# which indicates that we try without any flags at all, and "pthread-config"
++# which is a program returning the flags for the Pth emulation library.
++
++acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
++
++# The ordering *is* (sometimes) important. Some notes on the
++# individual items follow:
++
++# pthreads: AIX (must check this before -lpthread)
++# none: in case threads are in libc; should be tried before -Kthread and
++# other compiler flags to prevent continual compiler warnings
++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
++# -pthreads: Solaris/gcc
++# -mthreads: Mingw32/gcc, Lynx/gcc
++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
++# doesn't hurt to check since this sometimes defines pthreads too;
++# also defines -D_REENTRANT)
++# ... -mt is also the pthreads flag for HP/aCC
++# pthread: Linux, etcetera
++# --thread-safe: KAI C++
++# pthread-config: use pthread-config program (for GNU Pth library)
++
++case "${host_cpu}-${host_os}" in
++ *solaris*)
++
++ # On Solaris (at least, for some versions), libc contains stubbed
++ # (non-functional) versions of the pthreads routines, so link-based
++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
++ # a function called by this macro, so we could check for that, but
++ # who knows whether they'll stub that too in a future libc.) So,
++ # we'll just look for -pthreads and -lpthread first:
++
++ acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
++ ;;
++esac
++
++if test x"$acx_pthread_ok" = xno; then
++for flag in $acx_pthread_flags; do
++
++ case $flag in
++ none)
++ { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5
++$as_echo_n "checking whether pthreads work without any flags... " >&6; }
++ ;;
++
++ -*)
++ { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5
++$as_echo_n "checking whether pthreads work with $flag... " >&6; }
++ PTHREAD_CFLAGS="$flag"
++ ;;
++
++ pthread-config)
++ # Extract the first word of "pthread-config", so it can be a program name with args.
++set dummy pthread-config; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_acx_pthread_config+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$acx_pthread_config"; then
++ ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_acx_pthread_config="yes"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no"
++fi
++fi
++acx_pthread_config=$ac_cv_prog_acx_pthread_config
++if test -n "$acx_pthread_config"; then
++ { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5
++$as_echo "$acx_pthread_config" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ if test x"$acx_pthread_config" = xno; then continue; fi
++ PTHREAD_CFLAGS="`pthread-config --cflags`"
++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
++ ;;
++
++ *)
++ { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5
++$as_echo_n "checking for the pthreads library -l$flag... " >&6; }
++ PTHREAD_LIBS="-l$flag"
++ ;;
++ esac
++
++ save_LIBS="$LIBS"
++ save_CFLAGS="$CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++ # Check for various functions. We must include pthread.h,
++ # since some functions may be macros. (On the Sequent, we
++ # need a special flag -Kthread to make this header compile.)
++ # We check for pthread_join because it is in -lpthread on IRIX
++ # while pthread_create is in libc. We check for pthread_attr_init
++ # due to DEC craziness with -lpthreads. We check for
++ # pthread_cleanup_push because it is one of the few pthread
++ # functions on Solaris that doesn't have a non-functional libc stub.
++ # We try pthread_create on general principles.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <pthread.h>
++int
++main ()
++{
++pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0);
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ acx_pthread_ok=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++
++ { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5
++$as_echo "$acx_pthread_ok" >&6; }
++ if test "x$acx_pthread_ok" = xyes; then
++ break;
++ fi
++
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++done
++fi
++
++# Various other checks:
++if test "x$acx_pthread_ok" = xyes; then
++ save_LIBS="$LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
++ { $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5
++$as_echo_n "checking for joinable pthread attribute... " >&6; }
++ attr_name=unknown
++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <pthread.h>
++int
++main ()
++{
++int attr=$attr; return attr;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ attr_name=$attr; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ done
++ { $as_echo "$as_me:$LINENO: result: $attr_name" >&5
++$as_echo "$attr_name" >&6; }
++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
++
++cat >>confdefs.h <<_ACEOF
++#define PTHREAD_CREATE_JOINABLE $attr_name
++_ACEOF
++
++ fi
++
++ { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5
++$as_echo_n "checking if more special flags are required for pthreads... " >&6; }
++ flag=no
++ case "${host_cpu}-${host_os}" in
++ *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
++ *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
++ esac
++ { $as_echo "$as_me:$LINENO: result: ${flag}" >&5
++$as_echo "${flag}" >&6; }
++ if test "x$flag" != xno; then
++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
++ fi
++
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++
++ # More AIX lossage: must compile with xlc_r or cc_r
++ if test x"$GCC" != xyes; then
++ for ac_prog in xlc_r cc_r
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_PTHREAD_CC="$ac_prog"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
++if test -n "$PTHREAD_CC"; then
++ { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5
++$as_echo "$PTHREAD_CC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$PTHREAD_CC" && break
++done
++test -n "$PTHREAD_CC" || PTHREAD_CC="${CC}"
++
++ else
++ PTHREAD_CC=$CC
++ fi
++else
++ PTHREAD_CC="$CC"
++fi
++
++
++
++
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$acx_pthread_ok" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PTHREAD 1
++_ACEOF
++
++ :
++else
++ acx_pthread_ok=no
++
++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
++
++
++ LIBS="$LIBS $PTHREAD_LIBS"
++ AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"
++ CC="$PTHREAD_CC"
++fi
++
++echo
++echo "Initializing Libtool:"
++
++case `pwd` in
++ *\ * | *\ *)
++ { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
++$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
++esac
++
++
++
++macro_version='2.2.6'
++macro_revision='1.3012'
++
++
++
++
++
++
++
++
++
++
++
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
++$as_echo_n "checking for a sed that does not truncate output... " >&6; }
++if test "${ac_cv_path_SED+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
++ $as_unset ac_script || ac_script=
++ if test -z "$SED"; then
++ ac_path_SED_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
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in sed gsed; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_SED" && $as_test_x "$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
++*GNU*)
++ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
++*)
++ ac_count=0
++ $as_echo_n 0123456789 >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ $as_echo '' >> "conftest.nl"
++ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_SED_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_SED="$ac_path_SED"
++ ac_path_SED_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_SED_found && break 3
++ done
++ done
++done
++IFS=$as_save_IFS
++ if test -z "$ac_cv_path_SED"; then
++ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
++$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++else
++ ac_cv_path_SED=$SED
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
++$as_echo "$ac_cv_path_SED" >&6; }
++ SED="$ac_cv_path_SED"
++ rm -f conftest.sed
++
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
++$as_echo_n "checking for fgrep... " >&6; }
++if test "${ac_cv_path_FGREP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++ ac_path_FGREP_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
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in fgrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_FGREP" && $as_test_x "$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
++*GNU*)
++ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
++*)
++ ac_count=0
++ $as_echo_n 0123456789 >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ $as_echo 'FGREP' >> "conftest.nl"
++ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_FGREP="$ac_path_FGREP"
++ ac_path_FGREP_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_FGREP_found && break 3
++ done
++ done
++done
++IFS=$as_save_IFS
++ if test -z "$ac_cv_path_FGREP"; then
++ { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++else
++ ac_cv_path_FGREP=$FGREP
++fi
++
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
++$as_echo "$ac_cv_path_FGREP" >&6; }
++ FGREP="$ac_cv_path_FGREP"
++
++
++test -z "$GREP" && GREP=grep
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-gnu-ld was given.
++if test "${with_gnu_ld+set}" = set; then
++ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
++else
++ with_gnu_ld=no
++fi
++
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
++$as_echo_n "checking for ld used by $CC... " >&6; }
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [\\/]* | ?:[\\/]*)
++ re_direlt='/[^/][^/]*/\.\./'
++ # Canonicalize the pathname of ld
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
++$as_echo_n "checking for GNU ld... " >&6; }
++else
++ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++$as_echo_n "checking for non-GNU ld... " >&6; }
++fi
++if test "${lt_cv_path_LD+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -z "$LD"; then
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ lt_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some variants of GNU ld only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break
++ ;;
++ *)
++ test "$with_gnu_ld" != yes && break
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++else
++ lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi
++fi
++
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++ { $as_echo "$as_me:$LINENO: result: $LD" >&5
++$as_echo "$LD" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
++$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
++if test "${lt_cv_prog_gnu_ld+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ # 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
++ ;;
++*)
++ lt_cv_prog_gnu_ld=no
++ ;;
++esac
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
++$as_echo "$lt_cv_prog_gnu_ld" >&6; }
++with_gnu_ld=$lt_cv_prog_gnu_ld
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
++$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
++if test "${lt_cv_path_NM+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$NM"; then
++ # Let the user override the test.
++ lt_cv_path_NM="$NM"
++else
++ lt_nm_to_check="${ac_tool_prefix}nm"
++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++ lt_nm_to_check="$lt_nm_to_check nm"
++ fi
++ for lt_tmp_nm in $lt_nm_to_check; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ tmp_nm="$ac_dir/$lt_tmp_nm"
++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ # Tru64's nm complains that /dev/null is an invalid object file
++ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++ */dev/null* | *'Invalid file or object type'*)
++ lt_cv_path_NM="$tmp_nm -B"
++ break
++ ;;
++ *)
++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++ */dev/null*)
++ lt_cv_path_NM="$tmp_nm -p"
++ break
++ ;;
++ *)
++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++ done
++ : ${lt_cv_path_NM=no}
++fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
++$as_echo "$lt_cv_path_NM" >&6; }
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DUMPBIN+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DUMPBIN"; then
++ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DUMPBIN=$ac_cv_prog_DUMPBIN
++if test -n "$DUMPBIN"; then
++ { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
++$as_echo "$DUMPBIN" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$DUMPBIN" && break
++ done
++fi
++if test -z "$DUMPBIN"; then
++ ac_ct_DUMPBIN=$DUMPBIN
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
++if test -n "$ac_ct_DUMPBIN"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
++$as_echo "$ac_ct_DUMPBIN" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$ac_ct_DUMPBIN" && break
++done
++
++ if test "x$ac_ct_DUMPBIN" = x; then
++ DUMPBIN=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DUMPBIN=$ac_ct_DUMPBIN
++ fi
++fi
++
++
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
++$as_echo_n "checking the name lister ($NM) interface... " >&6; }
++if test "${lt_cv_nm_interface+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:7392: $ac_compile\"" >&5)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:7395: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:7398: output\"" >&5)
++ cat conftest.out >&5
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
++$as_echo "$lt_cv_nm_interface" >&6; }
++
++# find the maximum length of command line arguments
++{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
++$as_echo_n "checking the maximum length of command line arguments... " >&6; }
++if test "${lt_cv_sys_max_cmd_len+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ i=0
++ teststring="ABCD"
++
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
++
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
++
++ cygwin* | mingw* | cegcc*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
++
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
++
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++
++fi
++
++if test -n $lt_cv_sys_max_cmd_len ; then
++ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
++$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: none" >&5
++$as_echo "none" >&6; }
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++
++
++
++
++
++
++: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++
++{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
++$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,, \
++ && eval 'test $(( 1 + 1 )) -eq 2 \
++ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++ && xsi_shell=yes
++{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
++$as_echo "$xsi_shell" >&6; }
++
++
++{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
++$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
++ >/dev/null 2>&1 \
++ && lt_shell_append=yes
++{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
++$as_echo "$lt_shell_append" >&6; }
++
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ lt_unset=unset
++else
++ lt_unset=false
++fi
++
++
++
++
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++ lt_SP2NL='tr \040 \012'
++ lt_NL2SP='tr \015\012 \040\040'
++ ;;
++ *) # EBCDIC based system
++ lt_SP2NL='tr \100 \n'
++ lt_NL2SP='tr \r\n \100\100'
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
++$as_echo_n "checking for $LD option to reload object files... " >&6; }
++if test "${lt_cv_ld_reload_flag+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ld_reload_flag='-r'
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
++$as_echo "$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++ darwin*)
++ if test "$GCC" = yes; then
++ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++ else
++ reload_cmds='$LD$reload_flag -o $output$reload_objs'
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
++set dummy ${ac_tool_prefix}objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OBJDUMP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$OBJDUMP"; then
++ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OBJDUMP=$ac_cv_prog_OBJDUMP
++if test -n "$OBJDUMP"; then
++ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
++$as_echo "$OBJDUMP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OBJDUMP"; then
++ ac_ct_OBJDUMP=$OBJDUMP
++ # Extract the first word of "objdump", so it can be a program name with args.
++set dummy objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OBJDUMP="objdump"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
++if test -n "$ac_ct_OBJDUMP"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
++$as_echo "$ac_ct_OBJDUMP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_OBJDUMP" = x; then
++ OBJDUMP="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ OBJDUMP=$ac_ct_OBJDUMP
++ fi
++else
++ OBJDUMP="$ac_cv_prog_OBJDUMP"
++fi
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
++$as_echo_n "checking how to recognize dependent libraries... " >&6; }
++if test "${lt_cv_deplibs_check_method+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[4-9]*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++beos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++bsdi[45]*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
++ lt_cv_file_magic_cmd='/usr/bin/file -L'
++ lt_cv_file_magic_test_file=/shlib/libc.so
++ ;;
++
++cygwin*)
++ # func_win32_libid is a shell function defined in ltmain.sh
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ ;;
++
++mingw* | pw32*)
++ # Base MSYS/MinGW do not provide the 'file' command needed by
++ # func_win32_libid shell function, so use a weaker test based on 'objdump',
++ # unless we find 'file', for example because we are cross-compiling.
++ if ( file / ) >/dev/null 2>&1; then
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ else
++ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ fi
++ ;;
++
++cegcc)
++ # use the weaker test based on 'objdump'. See mingw*.
++ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ ;;
++
++darwin* | rhapsody*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++freebsd* | dragonfly*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ case $host_cpu in
++ i*86 )
++ # Not sure whether the presence of OpenBSD here was a mistake.
++ # Let's accept both of them until this is cleared up.
++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++ ;;
++ esac
++ else
++ lt_cv_deplibs_check_method=pass_all
++ fi
++ ;;
++
++gnu*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++hpux10.20* | hpux11*)
++ lt_cv_file_magic_cmd=/usr/bin/file
++ case $host_cpu in
++ ia64*)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++ ;;
++ hppa*64*)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++ ;;
++ *)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
++ lt_cv_file_magic_test_file=/usr/lib/libc.sl
++ ;;
++ esac
++ ;;
++
++interix[3-9]*)
++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $LD in
++ *-32|*"-32 ") libmagic=32-bit;;
++ *-n32|*"-n32 ") libmagic=N32;;
++ *-64|*"-64 ") libmagic=64-bit;;
++ *) libmagic=never-match;;
++ esac
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
++ fi
++ ;;
++
++newos6*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=/usr/lib/libnls.so
++ ;;
++
++*nto* | *qnx*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++openbsd*)
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++ fi
++ ;;
++
++osf3* | osf4* | osf5*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++rdos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++solaris*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv4 | sysv4.3*)
++ case $host_vendor in
++ motorola)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++ ;;
++ ncr)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ sequent)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++ ;;
++ sni)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
++ lt_cv_file_magic_test_file=/lib/libc.so
++ ;;
++ siemens)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ pc)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ esac
++ ;;
++
++tpf*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
++$as_echo "$lt_cv_deplibs_check_method" >&6; }
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_AR+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$AR"; then
++ ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AR="${ac_tool_prefix}ar"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++ { $as_echo "$as_me:$LINENO: result: $AR" >&5
++$as_echo "$AR" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AR"; then
++ ac_ct_AR=$AR
++ # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_AR="ar"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
++$as_echo "$ac_ct_AR" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_AR" = x; then
++ AR="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ AR=$ac_ct_AR
++ fi
++else
++ AR="$ac_cv_prog_AR"
++fi
++
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
++$as_echo "$STRIP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++$as_echo "$ac_ct_STRIP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
++fi
++
++test -z "$STRIP" && STRIP=:
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_RANLIB+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$RANLIB"; then
++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++RANLIB=$ac_cv_prog_RANLIB
++if test -n "$RANLIB"; then
++ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
++$as_echo "$RANLIB" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RANLIB"; then
++ ac_ct_RANLIB=$RANLIB
++ # Extract the first word of "ranlib", so it can be a program name with args.
++set dummy ranlib; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_RANLIB="ranlib"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
++if test -n "$ac_ct_RANLIB"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
++$as_echo "$ac_ct_RANLIB" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_RANLIB" = x; then
++ RANLIB=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ RANLIB=$ac_ct_RANLIB
++ fi
++else
++ RANLIB="$ac_cv_prog_RANLIB"
++fi
++
++test -z "$RANLIB" && RANLIB=:
++
++
++
++
++
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++ case $host_os in
++ openbsd*)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++ ;;
++ *)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++ ;;
++ esac
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
++$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
++if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[BCDEGRST]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++ symcode='[BCDT]'
++ ;;
++cygwin* | mingw* | pw32* | cegcc*)
++ symcode='[ABCDGISTW]'
++ ;;
++hpux*)
++ if test "$host_cpu" = ia64; then
++ symcode='[ABCDEGRST]'
++ fi
++ ;;
++irix* | nonstopux*)
++ symcode='[BCDEGRST]'
++ ;;
++osf*)
++ symcode='[BCDEGQRST]'
++ ;;
++solaris*)
++ symcode='[BDRT]'
++ ;;
++sco3.2v5*)
++ symcode='[DT]'
++ ;;
++sysv4.2uw2*)
++ symcode='[DT]'
++ ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++ symcode='[ABDT]'
++ ;;
++sysv4)
++ symcode='[DFNSTU]'
++ ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++ symcode='[ABCDGIRSTW]' ;;
++esac
++
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
++
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++ ;;
++esac
++
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
++
++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++ symxfrm="\\1 $ac_symprfx\\2 \\2"
++
++ # Write the raw and C identifiers.
++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ # Fake it for dumpbin and say T for any non-static function
++ # and D for any global variable.
++ # Also find C++ and __fastcall symbols from MSVC++,
++ # which start with @ or ?.
++ lt_cv_sys_global_symbol_pipe="$AWK '"\
++" {last_section=section; section=\$ 3};"\
++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++" \$ 0!~/External *\|/{next};"\
++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++" {if(hide[section]) next};"\
++" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++" s[1]~/^[@?]/{print s[1], s[1]; next};"\
++" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++" ' prfx=^$ac_symprfx"
++ else
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ fi
++
++ # Check to see that the pipe works correctly.
++ pipe_works=no
++
++ rm -f conftest*
++ cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
++
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # Now try to grab the symbols.
++ nlist=conftest.nm
++ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
++ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s "$nlist"; then
++ # Try sorting and uniquifying the output.
++ if sort "$nlist" | uniq > "$nlist"T; then
++ mv -f "$nlist"T "$nlist"
++ else
++ rm -f "$nlist"T
++ fi
++
++ # Make sure that we snagged all the symbols we need.
++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<_LT_EOF > conftest.$ac_ext
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++ # Now generate the symbol file.
++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++ cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ void *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[] =
++{
++ { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++ cat <<\_LT_EOF >> conftest.$ac_ext
++ {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++ # Now try linking the two files.
++ mv conftest.$ac_objext conftstm.$ac_objext
++ lt_save_LIBS="$LIBS"
++ lt_save_CFLAGS="$CFLAGS"
++ LIBS="conftstm.$ac_objext"
++ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext}; then
++ pipe_works=yes
++ fi
++ LIBS="$lt_save_LIBS"
++ CFLAGS="$lt_save_CFLAGS"
++ else
++ echo "cannot find nm_test_func in $nlist" >&5
++ fi
++ else
++ echo "cannot find nm_test_var in $nlist" >&5
++ fi
++ else
++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
++ fi
++ else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ fi
++ rm -rf conftest* conftst*
++
++ # Do not use the global_symbol_pipe unless it works.
++ if test "$pipe_works" = yes; then
++ break
++ else
++ lt_cv_sys_global_symbol_pipe=
++ fi
++done
++
++fi
++
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++ lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++ { $as_echo "$as_me:$LINENO: result: failed" >&5
++$as_echo "failed" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: ok" >&5
++$as_echo "ok" >&6; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --enable-libtool-lock was given.
++if test "${enable_libtool_lock+set}" = set; then
++ enableval=$enable_libtool_lock;
++fi
++
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *ELF-32*)
++ HPUX_IA64_MODE="32"
++ ;;
++ *ELF-64*)
++ HPUX_IA64_MODE="64"
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++*-*-irix6*)
++ # Find out which ABI we are using.
++ echo '#line 8589 "configure"' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -melf32bsmip"
++ ;;
++ *N32*)
++ LD="${LD-ld} -melf32bmipn32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -melf64bmip"
++ ;;
++ esac
++ else
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -32"
++ ;;
++ *N32*)
++ LD="${LD-ld} -n32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -64"
++ ;;
++ esac
++ fi
++ fi
++ rm -rf conftest*
++ ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *32-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_i386_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_i386"
++ ;;
++ ppc64-*linux*|powerpc64-*linux*)
++ LD="${LD-ld} -m elf32ppclinux"
++ ;;
++ s390x-*linux*)
++ LD="${LD-ld} -m elf_s390"
++ ;;
++ sparc64-*linux*)
++ LD="${LD-ld} -m elf32_sparc"
++ ;;
++ esac
++ ;;
++ *64-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_x86_64_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_x86_64"
++ ;;
++ ppc*-*linux*|powerpc*-*linux*)
++ LD="${LD-ld} -m elf64ppc"
++ ;;
++ s390*-*linux*|s390*-*tpf*)
++ LD="${LD-ld} -m elf64_s390"
++ ;;
++ sparc*-*linux*)
++ LD="${LD-ld} -m elf64_sparc"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++
++*-*-sco3.2v5*)
++ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++ SAVE_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -belf"
++ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
++$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
++if test "${lt_cv_cc_needs_belf+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ lt_cv_cc_needs_belf=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_cc_needs_belf=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ 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
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
++$as_echo "$lt_cv_cc_needs_belf" >&6; }
++ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++ CFLAGS="$SAVE_CFLAGS"
++ fi
++ ;;
++sparc*-*solaris*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *64-bit*)
++ case $lt_cv_prog_gnu_ld in
++ yes*) LD="${LD-ld} -m elf64_sparc" ;;
++ *)
++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++ LD="${LD-ld} -64"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
++
++ case $host_os in
++ rhapsody* | darwin*)
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DSYMUTIL"; then
++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
++$as_echo "$DSYMUTIL" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++ ac_ct_DSYMUTIL=$DSYMUTIL
++ # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
++$as_echo "$ac_ct_DSYMUTIL" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DSYMUTIL" = x; then
++ DSYMUTIL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DSYMUTIL=$ac_ct_DSYMUTIL
++ fi
++else
++ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_NMEDIT+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$NMEDIT"; then
++ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++NMEDIT=$ac_cv_prog_NMEDIT
++if test -n "$NMEDIT"; then
++ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
++$as_echo "$NMEDIT" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_NMEDIT"; then
++ ac_ct_NMEDIT=$NMEDIT
++ # Extract the first word of "nmedit", so it can be a program name with args.
++set dummy nmedit; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_NMEDIT="nmedit"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
++if test -n "$ac_ct_NMEDIT"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
++$as_echo "$ac_ct_NMEDIT" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_NMEDIT" = x; then
++ NMEDIT=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ NMEDIT=$ac_ct_NMEDIT
++ fi
++else
++ NMEDIT="$ac_cv_prog_NMEDIT"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
++set dummy ${ac_tool_prefix}lipo; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_LIPO+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$LIPO"; then
++ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++LIPO=$ac_cv_prog_LIPO
++if test -n "$LIPO"; then
++ { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
++$as_echo "$LIPO" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_LIPO"; then
++ ac_ct_LIPO=$LIPO
++ # Extract the first word of "lipo", so it can be a program name with args.
++set dummy lipo; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_LIPO="lipo"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
++if test -n "$ac_ct_LIPO"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
++$as_echo "$ac_ct_LIPO" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_LIPO" = x; then
++ LIPO=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ LIPO=$ac_ct_LIPO
++ fi
++else
++ LIPO="$ac_cv_prog_LIPO"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OTOOL+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$OTOOL"; then
++ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL=$ac_cv_prog_OTOOL
++if test -n "$OTOOL"; then
++ { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
++$as_echo "$OTOOL" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL"; then
++ ac_ct_OTOOL=$OTOOL
++ # Extract the first word of "otool", so it can be a program name with args.
++set dummy otool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL="otool"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
++if test -n "$ac_ct_OTOOL"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
++$as_echo "$ac_ct_OTOOL" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_OTOOL" = x; then
++ OTOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL=$ac_ct_OTOOL
++ fi
++else
++ OTOOL="$ac_cv_prog_OTOOL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool64; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OTOOL64+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$OTOOL64"; then
++ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL64=$ac_cv_prog_OTOOL64
++if test -n "$OTOOL64"; then
++ { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
++$as_echo "$OTOOL64" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL64"; then
++ ac_ct_OTOOL64=$OTOOL64
++ # Extract the first word of "otool64", so it can be a program name with args.
++set dummy otool64; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL64="otool64"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
++if test -n "$ac_ct_OTOOL64"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
++$as_echo "$ac_ct_OTOOL64" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_OTOOL64" = x; then
++ OTOOL64=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL64=$ac_ct_OTOOL64
++ fi
++else
++ OTOOL64="$ac_cv_prog_OTOOL64"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
++$as_echo_n "checking for -single_module linker flag... " >&6; }
++if test "${lt_cv_apple_cc_single_mod+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++ # non-empty at configure time, or by adding -multi_module to the
++ # link flags.
++ rm -rf libconftest.dylib*
++ echo "int foo(void){return 1;}" > conftest.c
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&5
++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++ _lt_result=$?
++ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++ lt_cv_apple_cc_single_mod=yes
++ else
++ cat conftest.err >&5
++ fi
++ rm -rf libconftest.dylib*
++ rm -f conftest.*
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
++$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
++ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
++$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
++if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ld_exported_symbols_list=no
++ save_LDFLAGS=$LDFLAGS
++ echo "_main" > conftest.sym
++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ lt_cv_ld_exported_symbols_list=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_ld_exported_symbols_list=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
++$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
++ case $host_os in
++ rhapsody* | darwin1.[012])
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++ darwin1.*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ darwin*) # darwin 5.x on
++ # if running on 10.5 or later, the deployment target defaults
++ # to the OS version, if on x86, and 10.4, the deployment
++ # target defaults to 10.4. Don't you love it?
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ 10.[012]*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ 10.*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ esac
++ ;;
++ esac
++ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++ _lt_dar_single_mod='$single_module'
++ fi
++ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++ else
++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++ fi
++ if test "$DSYMUTIL" != ":"; then
++ _lt_dsymutil='~$DSYMUTIL $lib || :'
++ else
++ _lt_dsymutil=
++ fi
++ ;;
++ esac
++
++
++for ac_header in dlfcn.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++# Set options
++enable_win32_dll=yes
++
++case $host in
++*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
++set dummy ${ac_tool_prefix}as; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_AS+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$AS"; then
++ ac_cv_prog_AS="$AS" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AS="${ac_tool_prefix}as"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AS=$ac_cv_prog_AS
++if test -n "$AS"; then
++ { $as_echo "$as_me:$LINENO: result: $AS" >&5
++$as_echo "$AS" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AS"; then
++ ac_ct_AS=$AS
++ # Extract the first word of "as", so it can be a program name with args.
++set dummy as; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_AS"; then
++ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_AS="as"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AS=$ac_cv_prog_ac_ct_AS
++if test -n "$ac_ct_AS"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
++$as_echo "$ac_ct_AS" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_AS" = x; then
++ AS="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ AS=$ac_ct_AS
++ fi
++else
++ AS="$ac_cv_prog_AS"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
++set dummy ${ac_tool_prefix}objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OBJDUMP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$OBJDUMP"; then
++ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OBJDUMP=$ac_cv_prog_OBJDUMP
++if test -n "$OBJDUMP"; then
++ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
++$as_echo "$OBJDUMP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OBJDUMP"; then
++ ac_ct_OBJDUMP=$OBJDUMP
++ # Extract the first word of "objdump", so it can be a program name with args.
++set dummy objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OBJDUMP="objdump"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
++if test -n "$ac_ct_OBJDUMP"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
++$as_echo "$ac_ct_OBJDUMP" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_OBJDUMP" = x; then
++ OBJDUMP="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ OBJDUMP=$ac_ct_OBJDUMP
++ fi
++else
++ OBJDUMP="$ac_cv_prog_OBJDUMP"
++fi
++
++ ;;
++esac
++
++test -z "$AS" && AS=as
++
++
++
++
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++
++
++
++
++
++
++
++ enable_dlopen=no
++
++
++
++ # Check whether --enable-shared was given.
++if test "${enable_shared+set}" = set; then
++ enableval=$enable_shared; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_shared=yes ;;
++ no) enable_shared=no ;;
++ *)
++ enable_shared=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_shared=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_shared=yes
++fi
++
++
++
++
++
++
++
++
++
++ # Check whether --enable-static was given.
++if test "${enable_static+set}" = set; then
++ enableval=$enable_static; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_static=yes ;;
++ no) enable_static=no ;;
++ *)
++ enable_static=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_static=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_static=yes
++fi
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-pic was given.
++if test "${with_pic+set}" = set; then
++ withval=$with_pic; pic_mode="$withval"
++else
++ pic_mode=default
++fi
++
++
++test -z "$pic_mode" && pic_mode=default
++
++
++
++
++
++
++
++ # Check whether --enable-fast-install was given.
++if test "${enable_fast_install+set}" = set; then
++ enableval=$enable_fast_install; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_fast_install=yes ;;
++ no) enable_fast_install=no ;;
++ *)
++ enable_fast_install=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_fast_install=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_fast_install=yes
++fi
++
++
++
++
++
++
++
++
++
++
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++test -z "$LN_S" && LN_S="ln -s"
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
++$as_echo_n "checking for objdir... " >&6; }
++if test "${lt_cv_objdir+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ lt_cv_objdir=.libs
++else
++ # MS-DOS does not allow filenames that begin with a dot.
++ lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
++$as_echo "$lt_cv_objdir" >&6; }
++objdir=$lt_cv_objdir
++
++
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define LT_OBJDIR "$lt_cv_objdir/"
++_ACEOF
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++case $host_os in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++# Global variables:
++ofile=libtool
++can_build_shared=yes
++
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++for cc_temp in $compiler""; do
++ case $cc_temp in
++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++ \-*) ;;
++ *) break;;
++ esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
++$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/${ac_tool_prefix}file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool at gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++$as_echo "$MAGIC_CMD" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++
++
++
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++ if test -n "$ac_tool_prefix"; then
++ { $as_echo "$as_me:$LINENO: checking for file" >&5
++$as_echo_n "checking for file... " >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool at gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++$as_echo "$MAGIC_CMD" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ else
++ MAGIC_CMD=:
++ fi
++fi
++
++ fi
++ ;;
++esac
++
++# Use C for the default configuration in the libtool script
++
++lt_save_CC="$CC"
++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
++
++
++# Source file extension for C test sources.
++ac_ext=c
++
++# Object file extension for compiled C test sources.
++objext=o
++objext=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
++
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++
++
++## CAVEAT EMPTOR:
++## There is no encapsulation within the following macros, do not change
++## the running order or otherwise move them around unless you know exactly
++## what you are doing...
++if test -n "$compiler"; then
++
++lt_prog_compiler_no_builtin_flag=
++
++if test "$GCC" = yes; then
++ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
++
++ { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
++$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
++if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:10256: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:10260: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_rtti_exceptions=yes
++ fi
++ fi
++ $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
++$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
++
++if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
++ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
++else
++ :
++fi
++
++fi
++
++
++
++
++
++
++ lt_prog_compiler_wl=
++lt_prog_compiler_pic=
++lt_prog_compiler_static=
++
++{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++
++ if test "$GCC" = yes; then
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_static='-static'
++
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
++
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
++
++ mingw* | cygwin* | pw32* | os2* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
++
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ lt_prog_compiler_pic='-fno-common'
++ ;;
++
++ hpux*)
++ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
++ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
++ # sets the default TLS model and affects inlining.
++ case $host_cpu in
++ hppa*64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ ;;
++
++ interix[3-9]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
++
++ msdosdjgpp*)
++ # Just because we use GCC doesn't mean we suddenly get shared libraries
++ # on systems that don't support them.
++ lt_prog_compiler_can_build_shared=no
++ enable_shared=no
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ lt_prog_compiler_pic=-Kconform_pic
++ fi
++ ;;
++
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ else
++ # PORTME Check for flag to pass linker flags through the system compiler.
++ case $host_os in
++ aix*)
++ lt_prog_compiler_wl='-Wl,'
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ else
++ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
++
++ mingw* | cygwin* | pw32* | os2* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
++
++ hpux9* | hpux10* | hpux11*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='+Z'
++ ;;
++ esac
++ # Is there a better lt_prog_compiler_static that works with the bundled CC?
++ lt_prog_compiler_static='${wl}-a ${wl}archive'
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC (with -KPIC) is the default.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ # old Intel for x86_64 which still supported -KPIC.
++ ecc*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-static'
++ ;;
++ # icc used to be incompatible with GCC.
++ # ICC 10 doesn't accept -KPIC any more.
++ icc* | ifort*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-fPIC'
++ lt_prog_compiler_static='-static'
++ ;;
++ # Lahey Fortran 8.1.
++ lf95*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='--shared'
++ lt_prog_compiler_static='--static'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95*)
++ # Portland Group compilers (*not* the Pentium gcc compiler,
++ # which looks to be a dead project)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-fpic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++ ccc*)
++ lt_prog_compiler_wl='-Wl,'
++ # All Alpha code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++ xl*)
++ # IBM XL C 8.0/Fortran 10.1 on PPC
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-qpic'
++ lt_prog_compiler_static='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C 5.9
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl='-Wl,'
++ ;;
++ *Sun\ F*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl=''
++ ;;
++ esac
++ ;;
++ esac
++ ;;
++
++ newsos6)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
++
++ osf3* | osf4* | osf5*)
++ lt_prog_compiler_wl='-Wl,'
++ # All OSF/1 code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ rdos*)
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ solaris*)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ case $cc_basename in
++ f77* | f90* | f95*)
++ lt_prog_compiler_wl='-Qoption ld ';;
++ *)
++ lt_prog_compiler_wl='-Wl,';;
++ esac
++ ;;
++
++ sunos4*)
++ lt_prog_compiler_wl='-Qoption ld '
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ sysv4 | sysv4.2uw2* | sysv4.3*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ lt_prog_compiler_pic='-Kconform_pic'
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
++
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ unicos*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_can_build_shared=no
++ ;;
++
++ uts4*)
++ lt_prog_compiler_pic='-pic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ *)
++ lt_prog_compiler_can_build_shared=no
++ ;;
++ esac
++ fi
++
++case $host_os in
++ # For platforms which do not support PIC, -DPIC is meaningless:
++ *djgpp*)
++ lt_prog_compiler_pic=
++ ;;
++ *)
++ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
++$as_echo "$lt_prog_compiler_pic" >&6; }
++
++
++
++
++
++
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$lt_prog_compiler_pic"; then
++ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
++$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
++if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:10595: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:10599: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_pic_works=yes
++ fi
++ fi
++ $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
++$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
++ case $lt_prog_compiler_pic in
++ "" | " "*) ;;
++ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
++ esac
++else
++ lt_prog_compiler_pic=
++ lt_prog_compiler_can_build_shared=no
++fi
++
++fi
++
++
++
++
++
++
++#
++# Check to make sure the static flag actually works.
++#
++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
++{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
++$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
++if test "${lt_cv_prog_compiler_static_works+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ else
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
++$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_static_works" = xyes; then
++ :
++else
++ lt_prog_compiler_static=
++fi
++
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:10700: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:10704: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:10755: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:10759: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++hard_links="nottested"
++if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
++$as_echo_n "checking if we can lock with hard links... " >&6; }
++ hard_links=yes
++ $RM conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
++$as_echo "$hard_links" >&6; }
++ if test "$hard_links" = no; then
++ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
++$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
++$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
++
++ runpath_var=
++ allow_undefined_flag=
++ always_export_symbols=no
++ archive_cmds=
++ archive_expsym_cmds=
++ compiler_needs_object=no
++ enable_shared_with_static_runtimes=no
++ export_dynamic_flag_spec=
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ hardcode_automatic=no
++ hardcode_direct=no
++ hardcode_direct_absolute=no
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld=
++ hardcode_libdir_separator=
++ hardcode_minus_L=no
++ hardcode_shlibpath_var=unsupported
++ inherit_rpath=no
++ link_all_deplibs=unknown
++ module_cmds=
++ module_expsym_cmds=
++ old_archive_from_new_cmds=
++ old_archive_from_expsyms_cmds=
++ thread_safe_flag_spec=
++ whole_archive_flag_spec=
++ # include_expsyms should be a list of space-separated symbols to be *always*
++ # included in the symbol list
++ include_expsyms=
++ # exclude_expsyms can be an extended regexp of symbols to exclude
++ # it will be wrapped by ` (' and `)$', so one must not match beginning or
++ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++ # as well as any symbol that contains `d'.
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++ # platforms (ab)use it in PIC code, but their linkers get confused if
++ # the symbol is explicitly referenced. Since portable code cannot
++ # rely on this symbol name, it's probably fine to never include it in
++ # preloaded symbol tables.
++ # Exclude shared library initialization/finalization symbols.
++ extract_expsyms_cmds=
++
++ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ interix*)
++ # we just hope/assume this is gcc and not c89 (= MSVC++)
++ with_gnu_ld=yes
++ ;;
++ openbsd*)
++ with_gnu_ld=no
++ ;;
++ esac
++
++ ld_shlibs=yes
++ if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
++
++ # Set some defaults for GNU ld with shared library support. These
++ # are reset later if shared libraries are not supported. Putting them
++ # here allows them to be overridden if necessary.
++ runpath_var=LD_RUN_PATH
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ export_dynamic_flag_spec='${wl}--export-dynamic'
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ whole_archive_flag_spec=
++ fi
++ supports_anon_versioning=no
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++ *\ 2.11.*) ;; # other 2.11 versions
++ *) supports_anon_versioning=yes ;;
++ esac
++
++ # See if GNU ld supports shared libraries.
++ case $host_os in
++ aix[3-9]*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
++
++_LT_EOF
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
++
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ allow_undefined_flag=unsupported
++ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ cygwin* | mingw* | pw32* | cegcc*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
++ # as there is no search path for DLLs.
++ hardcode_libdir_flag_spec='-L$libdir'
++ allow_undefined_flag=unsupported
++ always_export_symbols=no
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ interix[3-9]*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
++
++ gnu* | linux* | tpf* | k*bsd*-gnu)
++ tmp_diet=no
++ if test "$host_os" = linux-dietlibc; then
++ case $cc_basename in
++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
++ esac
++ fi
++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++ && test "$tmp_diet" = no
++ then
++ tmp_addflag=
++ tmp_sharedflag='-shared'
++ case $cc_basename,$host_cpu in
++ pgcc*) # Portland Group C compiler
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag'
++ ;;
++ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag -Mnomain' ;;
++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
++ tmp_addflag=' -i_dynamic' ;;
++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
++ tmp_addflag=' -i_dynamic -nofor_main' ;;
++ ifc* | ifort*) # Intel Fortran compiler
++ tmp_addflag=' -nofor_main' ;;
++ lf95*) # Lahey Fortran 8.1
++ whole_archive_flag_spec=
++ tmp_sharedflag='--shared' ;;
++ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ tmp_sharedflag='-qmkshrobj'
++ tmp_addflag= ;;
++ esac
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*) # Sun C 5.9
++ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ compiler_needs_object=yes
++ tmp_sharedflag='-G' ;;
++ *Sun\ F*) # Sun Fortran 8.3
++ tmp_sharedflag='-G' ;;
++ esac
++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++
++ case $cc_basename in
++ xlf*)
++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld='-rpath $libdir'
++ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ esac
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++ wlarc=
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ fi
++ ;;
++
++ solaris*)
++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ ;;
++ *)
++ # For security reasons, it is highly recommended that you always
++ # use absolute paths for naming shared libraries, and exclude the
++ # DT_RUNPATH tag from executables and libraries. But doing so
++ # requires that you compile everything twice, which is a pain.
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++ ;;
++
++ sunos4*)
++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ wlarc=
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++
++ if test "$ld_shlibs" = no; then
++ runpath_var=
++ hardcode_libdir_flag_spec=
++ export_dynamic_flag_spec=
++ whole_archive_flag_spec=
++ fi
++ else
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case $host_os in
++ aix3*)
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ hardcode_minus_L=yes
++ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ hardcode_direct=unsupported
++ fi
++ ;;
++
++ aix[4-9]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++ aix_use_runtimelinking=yes
++ break
++ fi
++ done
++ ;;
++ esac
++
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
++
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ archive_cmds=''
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ file_list_spec='${wl}-f,'
++
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[012]|aix4.[012].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ hardcode_direct=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ hardcode_minus_L=yes
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_libdir_separator=
++ fi
++ ;;
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
++ fi
++ fi
++
++ export_dynamic_flag_spec='${wl}-bexpall'
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to export.
++ always_export_symbols=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ allow_undefined_flag='-berok'
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
++ allow_undefined_flag="-z nodefs"
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ no_undefined_flag=' ${wl}-bernotok'
++ allow_undefined_flag=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ whole_archive_flag_spec='$convenience'
++ archive_cmds_need_lc=yes
++ # This is similar to how AIX traditionally builds its shared libraries.
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
++
++ bsdi[45]*)
++ export_dynamic_flag_spec=-rdynamic
++ ;;
++
++ cygwin* | mingw* | pw32* | cegcc*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ fix_srcfile_path='`cygpath -w "$srcfile"`'
++ enable_shared_with_static_runtimes=yes
++ ;;
++
++ darwin* | rhapsody*)
++
++
++ archive_cmds_need_lc=no
++ hardcode_direct=no
++ hardcode_automatic=yes
++ hardcode_shlibpath_var=unsupported
++ whole_archive_flag_spec=''
++ link_all_deplibs=yes
++ allow_undefined_flag="$_lt_dar_allow_undefined"
++ case $cc_basename in
++ ifort*) _lt_dar_can_shared=yes ;;
++ *) _lt_dar_can_shared=$GCC ;;
++ esac
++ if test "$_lt_dar_can_shared" = "yes"; then
++ output_verbose_link_cmd=echo
++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++
++ else
++ ld_shlibs=no
++ fi
++
++ ;;
++
++ dgux*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ freebsd1*)
++ ld_shlibs=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd* | dragonfly*)
++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ hpux9*)
++ if test "$GCC" = yes; then
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ fi
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ export_dynamic_flag_spec='${wl}-E'
++ ;;
++
++ hpux10*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_flag_spec_ld='+b $libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ fi
++ ;;
++
++ hpux11*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ else
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++
++ case $host_cpu in
++ hppa*64*|ia64*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ ;;
++ *)
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ esac
++ fi
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ # Try to use the -exported_symbol ld option, if it does not
++ # work, assume that -exports_file does not work either and
++ # implicitly export all symbols.
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat >conftest.$ac_ext <<_ACEOF
++int foo(void) {}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ inherit_rpath=yes
++ link_all_deplibs=yes
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
++ else
++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ newsos6)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_shlibpath_var=no
++ ;;
++
++ *nto* | *qnx*)
++ ;;
++
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ hardcode_direct_absolute=yes
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ else
++ case $host_os in
++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ ;;
++ *)
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ ;;
++ esac
++ fi
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ os2*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ allow_undefined_flag=unsupported
++ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++ ;;
++
++ osf3*)
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++
++ osf4* | osf5*) # as osf3* with the addition of -msym flag
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
++
++ # Both c and cxx compiler support -rpath directly
++ hardcode_libdir_flag_spec='-rpath $libdir'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_separator=:
++ ;;
++
++ solaris*)
++ no_undefined_flag=' -z defs'
++ if test "$GCC" = yes; then
++ wlarc='${wl}'
++ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ else
++ case `$CC -V 2>&1` in
++ *"Compilers 5.0"*)
++ wlarc=''
++ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++ ;;
++ *)
++ wlarc='${wl}'
++ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ ;;
++ esac
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_shlibpath_var=no
++ case $host_os in
++ solaris2.[0-5] | solaris2.[0-5].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'. GCC discards it without `$wl',
++ # but is careful enough not to reorder.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ if test "$GCC" = yes; then
++ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ else
++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
++ fi
++ ;;
++ esac
++ link_all_deplibs=yes
++ ;;
++
++ sunos4*)
++ if test "x$host_vendor" = xsequent; then
++ # Use $CC to link under sequent, because it throws in some extra .o
++ # files that make .init and .fini sections work.
++ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4)
++ case $host_vendor in
++ sni)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes # is this really true???
++ ;;
++ siemens)
++ ## LD is ld it makes a PLAMLIB
++ ## CC just makes a GrossModule.
++ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++ reload_cmds='$CC -r -o $output$reload_objs'
++ hardcode_direct=no
++ ;;
++ motorola)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
++ ;;
++ esac
++ runpath_var='LD_RUN_PATH'
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4.3*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ export_dynamic_flag_spec='-Bexport'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ ld_shlibs=yes
++ fi
++ ;;
++
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
++ no_undefined_flag='${wl}-z,text'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ no_undefined_flag='${wl}-z,text'
++ allow_undefined_flag='${wl}-z,nodefs'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-R,$libdir'
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ export_dynamic_flag_spec='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ uts4*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ ld_shlibs=no
++ ;;
++ esac
++
++ if test x$host_vendor = xsni; then
++ case $host in
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ export_dynamic_flag_spec='${wl}-Blargedynsym'
++ ;;
++ esac
++ fi
++ fi
++
++{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
++$as_echo "$ld_shlibs" >&6; }
++test "$ld_shlibs" = no && can_build_shared=no
++
++with_gnu_ld=$with_gnu_ld
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++#
++# Do we need to explicitly link libc?
++#
++case "x$archive_cmds_need_lc" in
++x|xyes)
++ # Assume -lc should be added
++ archive_cmds_need_lc=yes
++
++ if test "$enable_shared" = yes && test "$GCC" = yes; then
++ case $archive_cmds in
++ *'~'*)
++ # FIXME: we may have to deal with multi-command sequences.
++ ;;
++ '$CC '*)
++ # Test whether the compiler implicitly links with -lc since on some
++ # systems, -lgcc has to come before -lc. If gcc already passes -lc
++ # to ld, don't add -lc before -lgcc.
++ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
++$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } 2>conftest.err; then
++ soname=conftest
++ lib=conftest
++ libobjs=conftest.$ac_objext
++ deplibs=
++ wl=$lt_prog_compiler_wl
++ pic_flag=$lt_prog_compiler_pic
++ compiler_flags=-v
++ linker_flags=-v
++ verstring=
++ output_objdir=.
++ libname=conftest
++ lt_save_allow_undefined_flag=$allow_undefined_flag
++ allow_undefined_flag=
++ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
++ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ then
++ archive_cmds_need_lc=no
++ else
++ archive_cmds_need_lc=yes
++ fi
++ allow_undefined_flag=$lt_save_allow_undefined_flag
++ else
++ cat conftest.err 1>&5
++ fi
++ $RM conftest*
++ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
++$as_echo "$archive_cmds_need_lc" >&6; }
++ ;;
++ esac
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
++$as_echo_n "checking dynamic linker characteristics... " >&6; }
++
++if test "$GCC" = yes; then
++ case $host_os in
++ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++ *) lt_awk_arg="/^libraries:/" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++ # if the path contains ";" then we assume it to be the separator
++ # otherwise default to the standard path separator (i.e. ":") - it is
++ # assumed that no part of a normal pathname contains ";" but that should
++ # okay in the real world where ";" in dirpaths is itself problematic.
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # Ok, now we have the path, separated by spaces, we can step through it
++ # and add multilib dir if necessary.
++ lt_tmp_lt_search_path_spec=
++ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++ for lt_sys_path in $lt_search_path_spec; do
++ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++ else
++ test -d "$lt_sys_path" && \
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++ fi
++ done
++ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++ lt_foo="";
++ lt_count=0;
++ for (lt_i = NF; lt_i > 0; lt_i--) {
++ if ($lt_i != "" && $lt_i != ".") {
++ if ($lt_i == "..") {
++ lt_count++;
++ } else {
++ if (lt_count == 0) {
++ lt_foo="/" $lt_i lt_foo;
++ } else {
++ lt_count--;
++ }
++ }
++ }
++ }
++ if (lt_foo != "") { lt_freq[lt_foo]++; }
++ if (lt_freq[lt_foo] == 1) { print lt_foo; }
++}'`
++ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
++
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
++
++case $host_os in
++aix3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++ shlibpath_var=LIBPATH
++
++ # AIX 3 has no versioning support, so we append a major version to the name.
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++
++aix[4-9]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ hardcode_into_libs=yes
++ if test "$host_cpu" = ia64; then
++ # AIX 5 supports IA64
++ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ else
++ # With GCC up to 2.95.x, collect2 would create an import file
++ # for dependence libraries. The import file would start with
++ # the line `#! .'. This would cause the generated library to
++ # depend on `.', always an invalid library. This was fixed in
++ # development snapshots of GCC prior to 3.0.
++ case $host_os in
++ aix4 | aix4.[01] | aix4.[01].*)
++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++ echo ' yes '
++ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++ :
++ else
++ can_build_shared=no
++ fi
++ ;;
++ esac
++ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++ # soname into executable. Probably we can add versioning support to
++ # collect2, so additional links can be useful in future.
++ if test "$aix_use_runtimelinking" = yes; then
++ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++ # instead of lib<name>.a to let people know that these are not
++ # typical AIX shared libraries.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ else
++ # We preserve .a as extension for shared libraries through AIX4.2
++ # and later when we are not doing run time linking.
++ library_names_spec='${libname}${release}.a $libname.a'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ fi
++ shlibpath_var=LIBPATH
++ fi
++ ;;
++
++amigaos*)
++ case $host_cpu in
++ powerpc)
++ # Since July 2007 AmigaOS4 officially supports .so libraries.
++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ ;;
++ m68k)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ ;;
++ esac
++ ;;
++
++beos*)
++ library_names_spec='${libname}${shared_ext}'
++ dynamic_linker="$host_os ld.so"
++ shlibpath_var=LIBRARY_PATH
++ ;;
++
++bsdi[45]*)
++ version_type=linux
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++ # the default ld.so.conf also contains /usr/contrib/lib and
++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++ # libtool to hard-code these into programs
++ ;;
++
++cygwin* | mingw* | pw32* | cegcc*)
++ version_type=windows
++ shrext_cmds=".dll"
++ need_version=no
++ need_lib_prefix=no
++
++ case $GCC,$host_os in
++ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ library_names_spec='$libname.dll.a'
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname~
++ chmod a+x \$dldir/$dlname~
++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++ fi'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++
++ case $host_os in
++ cygwin*)
++ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
++ ;;
++ mingw* | cegcc*)
++ # MinGW DLLs use traditional 'lib' prefix
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH printed by
++ # mingw gcc, but we are running on Cygwin. Gcc prints its search
++ # path with ; separators, and with drive letters. We can handle the
++ # drive letters (cygwin fileutils understands them), so leave them,
++ # especially as we might pass files found there to a mingw objdump,
++ # which wouldn't understand a cygwinified path. Ahh.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ ;;
++ pw32*)
++ # pw32 DLLs use 'pw' prefix rather than 'lib'
++ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ ;;
++ esac
++ ;;
++
++ *)
++ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ ;;
++ esac
++ dynamic_linker='Win32 ld.exe'
++ # FIXME: first we should search . and the directory the executable is in
++ shlibpath_var=PATH
++ ;;
++
++darwin* | rhapsody*)
++ dynamic_linker="$host_os dyld"
++ version_type=darwin
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++ soname_spec='${libname}${release}${major}$shared_ext'
++ shlibpath_overrides_runpath=yes
++ shlibpath_var=DYLD_LIBRARY_PATH
++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++ ;;
++
++dgux*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++freebsd1*)
++ dynamic_linker=no
++ ;;
++
++freebsd* | dragonfly*)
++ # DragonFly does not have aout. When/if they implement a new
++ # versioning mechanism, adjust this.
++ if test -x /usr/bin/objformat; then
++ objformat=`/usr/bin/objformat`
++ else
++ case $host_os in
++ freebsd[123]*) objformat=aout ;;
++ *) objformat=elf ;;
++ esac
++ fi
++ version_type=freebsd-$objformat
++ case $version_type in
++ freebsd-elf*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ need_version=no
++ need_lib_prefix=no
++ ;;
++ freebsd-*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++ need_version=yes
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_os in
++ freebsd2*)
++ shlibpath_overrides_runpath=yes
++ ;;
++ freebsd3.[01]* | freebsdelf3.[01]*)
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
++ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++ *) # from 4.6 on, and DragonFly
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ esac
++ ;;
++
++gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ hardcode_into_libs=yes
++ ;;
++
++hpux9* | hpux10* | hpux11*)
++ # Give a soname corresponding to the major version so that dld.sl refuses to
++ # link against other versions.
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ case $host_cpu in
++ ia64*)
++ shrext_cmds='.so'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.so"
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ if test "X$HPUX_IA64_MODE" = X32; then
++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++ else
++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++ fi
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ hppa*64*)
++ shrext_cmds='.sl'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ *)
++ shrext_cmds='.sl'
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=SHLIB_PATH
++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++ esac
++ # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ postinstall_cmds='chmod 555 $lib'
++ ;;
++
++interix[3-9]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $host_os in
++ nonstopux*) version_type=nonstopux ;;
++ *)
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ version_type=linux
++ else
++ version_type=irix
++ fi ;;
++ esac
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++ case $host_os in
++ irix5* | nonstopux*)
++ libsuff= shlibsuff=
++ ;;
++ *)
++ case $LD in # libtool.m4 will add one of these switches to LD
++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++ libsuff= shlibsuff= libmagic=32-bit;;
++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++ libsuff=32 shlibsuff=N32 libmagic=N32;;
++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++ libsuff=64 shlibsuff=64 libmagic=64-bit;;
++ *) libsuff= shlibsuff= libmagic=never-match;;
++ esac
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++ hardcode_into_libs=yes
++ ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++ dynamic_linker=no
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # Some binutils ld are patched to set DT_RUNPATH
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
++ shlibpath_overrides_runpath=yes
++fi
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ hardcode_into_libs=yes
++
++ # Append ld.so.conf contents to the search path
++ if test -f /etc/ld.so.conf; then
++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ fi
++
++ # We used to test for /lib/ld.so.1 and disable shared libraries on
++ # powerpc, because MkLinux only supported shared libraries with the
++ # GNU dynamic linker. Since this was broken with cross compilers,
++ # most powerpc-linux boxes support dynamic linking these days and
++ # people can always --disable-shared, the test was removed, and we
++ # assume the GNU/Linux dynamic linker is in use.
++ dynamic_linker='GNU/Linux ld.so'
++ ;;
++
++netbsd*)
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ dynamic_linker='NetBSD (a.out) ld.so'
++ else
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='NetBSD ld.elf_so'
++ fi
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++
++newsos6)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ ;;
++
++*nto* | *qnx*)
++ version_type=qnx
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='ldqnx.so'
++ ;;
++
++openbsd*)
++ version_type=sunos
++ sys_lib_dlsearch_path_spec="/usr/lib"
++ need_lib_prefix=no
++ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++ case $host_os in
++ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
++ *) need_version=no ;;
++ esac
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ case $host_os in
++ openbsd2.[89] | openbsd2.[89].*)
++ shlibpath_overrides_runpath=no
++ ;;
++ *)
++ shlibpath_overrides_runpath=yes
++ ;;
++ esac
++ else
++ shlibpath_overrides_runpath=yes
++ fi
++ ;;
++
++os2*)
++ libname_spec='$name'
++ shrext_cmds=".dll"
++ need_lib_prefix=no
++ library_names_spec='$libname${shared_ext} $libname.a'
++ dynamic_linker='OS/2 ld.exe'
++ shlibpath_var=LIBPATH
++ ;;
++
++osf3* | osf4* | osf5*)
++ version_type=osf
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++ ;;
++
++rdos*)
++ dynamic_linker=no
++ ;;
++
++solaris*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ # ldd complains unless libraries are executable
++ postinstall_cmds='chmod +x $lib'
++ ;;
++
++sunos4*)
++ version_type=sunos
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ fi
++ need_version=yes
++ ;;
++
++sysv4 | sysv4.3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_vendor in
++ sni)
++ shlibpath_overrides_runpath=no
++ need_lib_prefix=no
++ runpath_var=LD_RUN_PATH
++ ;;
++ siemens)
++ need_lib_prefix=no
++ ;;
++ motorola)
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++ ;;
++ esac
++ ;;
++
++sysv4*MP*)
++ if test -d /usr/nec ;then
++ version_type=linux
++ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++ soname_spec='$libname${shared_ext}.$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ fi
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ version_type=freebsd-elf
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ if test "$with_gnu_ld" = yes; then
++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++ else
++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++ case $host_os in
++ sco3.2v5*)
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
++ ;;
++ esac
++ fi
++ sys_lib_dlsearch_path_spec='/usr/lib'
++ ;;
++
++tpf*)
++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++uts4*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++*)
++ dynamic_linker=no
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
++$as_echo "$dynamic_linker" >&6; }
++test "$dynamic_linker" = no && can_build_shared=no
++
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
++
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
++$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
++hardcode_action=
++if test -n "$hardcode_libdir_flag_spec" ||
++ test -n "$runpath_var" ||
++ test "X$hardcode_automatic" = "Xyes" ; then
++
++ # We can hardcode non-existent directories.
++ if test "$hardcode_direct" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
++ test "$hardcode_minus_L" != no; then
++ # Linking always hardcodes the temporary library directory.
++ hardcode_action=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ hardcode_action=immediate
++ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ hardcode_action=unsupported
++fi
++{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
++$as_echo "$hardcode_action" >&6; }
++
++if test "$hardcode_action" = relink ||
++ test "$inherit_rpath" = yes; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
++
++
++
++
++
++
++ if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
++
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
++
++ mingw* | pw32* | cegcc*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
++
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
++
++ darwin*)
++ # if libdl is installed we need to link against it
++ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++$as_echo_n "checking for dlopen in -ldl... " >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dl_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
++if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++
++fi
++
++ ;;
++
++ *)
++ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
++$as_echo_n "checking for shl_load... " >&6; }
++if test "${ac_cv_func_shl_load+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shl_load innocuous_shl_load
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shl_load (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shl_load
++
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++/* 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. */
++#if defined __stub_shl_load || defined __stub___shl_load
++choke me
++#endif
++
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_func_shl_load=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_shl_load=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
++$as_echo "$ac_cv_func_shl_load" >&6; }
++if test "x$ac_cv_func_shl_load" = x""yes; then
++ lt_cv_dlopen="shl_load"
++else
++ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
++$as_echo_n "checking for shl_load in -ldld... " >&6; }
++if test "${ac_cv_lib_dld_shl_load+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_lib_dld_shl_load=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dld_shl_load=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
++$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
++if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
++ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
++else
++ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
++$as_echo_n "checking for dlopen... " >&6; }
++if test "${ac_cv_func_dlopen+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define dlopen innocuous_dlopen
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char dlopen (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef dlopen
++
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++/* 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. */
++#if defined __stub_dlopen || defined __stub___dlopen
++choke me
++#endif
++
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_func_dlopen=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
++$as_echo "$ac_cv_func_dlopen" >&6; }
++if test "x$ac_cv_func_dlopen" = x""yes; then
++ lt_cv_dlopen="dlopen"
++else
++ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++$as_echo_n "checking for dlopen in -ldl... " >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dl_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
++if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
++$as_echo_n "checking for dlopen in -lsvld... " >&6; }
++if test "${ac_cv_lib_svld_dlopen+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsvld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_lib_svld_dlopen=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_svld_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
++$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
++if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
++else
++ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
++$as_echo_n "checking for dld_link in -ldld... " >&6; }
++if test "${ac_cv_lib_dld_dld_link+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dld_link ();
++int
++main ()
++{
++return dld_link ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ ac_cv_lib_dld_dld_link=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dld_dld_link=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
++$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
++if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
++ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++ ;;
++ esac
++
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
++
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
++
++ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
++$as_echo_n "checking whether a program can dlopen itself... " >&6; }
++if test "${lt_cv_dlopen_self+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line 13555 "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ return status;
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self=no
++ fi
++fi
++rm -fr conftest*
++
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
++$as_echo "$lt_cv_dlopen_self" >&6; }
++
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
++$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
++if test "${lt_cv_dlopen_self_static+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self_static=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line 13651 "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ return status;
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self_static=no
++ fi
++fi
++rm -fr conftest*
++
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
++$as_echo "$lt_cv_dlopen_self_static" >&6; }
++ fi
++
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
++
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
++
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++striplib=
++old_striplib=
++{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
++$as_echo_n "checking whether stripping libraries is possible... " >&6; }
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++ case $host_os in
++ darwin*)
++ if test -n "$STRIP" ; then
++ striplib="$STRIP -x"
++ old_striplib="$STRIP -S"
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++ else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++ fi
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++ ;;
++ esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++ # Report which library types will actually be built
++ { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
++$as_echo_n "checking if libtool supports shared libraries... " >&6; }
++ { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
++$as_echo "$can_build_shared" >&6; }
++
++ { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
++$as_echo_n "checking whether to build shared libraries... " >&6; }
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++
++ aix[4-9]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
++$as_echo "$enable_shared" >&6; }
++
++ { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
++$as_echo_n "checking whether to build static libraries... " >&6; }
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
++$as_echo "$enable_static" >&6; }
++
++
++
++
++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
++
++CC="$lt_save_CC"
++
++
++
++
++
++
++
++
++
++
++
++
++
++ ac_config_commands="$ac_config_commands libtool"
++
++
++
++
++# Only expand once:
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
++set dummy ${ac_tool_prefix}windres; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_RC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$RC"; then
++ ac_cv_prog_RC="$RC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_RC="${ac_tool_prefix}windres"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++RC=$ac_cv_prog_RC
++if test -n "$RC"; then
++ { $as_echo "$as_me:$LINENO: result: $RC" >&5
++$as_echo "$RC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RC"; then
++ ac_ct_RC=$RC
++ # Extract the first word of "windres", so it can be a program name with args.
++set dummy windres; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_RC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_RC"; then
++ ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_RC="windres"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RC=$ac_cv_prog_ac_ct_RC
++if test -n "$ac_ct_RC"; then
++ { $as_echo "$as_me:$LINENO: result: $ac_ct_RC" >&5
++$as_echo "$ac_ct_RC" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_RC" = x; then
++ RC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ RC=$ac_ct_RC
++ fi
++else
++ RC="$ac_cv_prog_RC"
++fi
++
++
++
++
++# Source file extension for RC test sources.
++ac_ext=rc
++
++# Object file extension for compiled RC test sources.
++objext=o
++objext_RC=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
++
++# Code to be used in simple link tests
++lt_simple_link_test_code="$lt_simple_compile_test_code"
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++
++
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_GCC=$GCC
++GCC=
++CC=${RC-"windres"}
++compiler=$CC
++compiler_RC=$CC
++for cc_temp in $compiler""; do
++ case $cc_temp in
++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++ \-*) ;;
++ *) break;;
++ esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++lt_cv_prog_compiler_c_o_RC=yes
++
++if test -n "$compiler"; then
++ :
++
++
++
++fi
++
++GCC=$lt_save_GCC
++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
++
++CC="$lt_save_CC"
++
++
++# This is a bit wrong since it is possible to request that only some libs
++# are built as shared. Using that feature isn't so common though, and this
++# breaks only on Windows (at least for now) if the user enables only some
++# libs as shared.
++ if test "x$enable_shared" != xno; then
++ COND_SHARED_TRUE=
++ COND_SHARED_FALSE='#'
++else
++ COND_SHARED_TRUE='#'
++ COND_SHARED_FALSE=
++fi
++
++
++
++###############################################################################
++# Checks for libraries.
++###############################################################################
++
++echo
++echo "Initializing gettext:"
++
++
++ { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5
++$as_echo_n "checking whether NLS is requested... " >&6; }
++ # Check whether --enable-nls was given.
++if test "${enable_nls+set}" = set; then
++ enableval=$enable_nls; USE_NLS=$enableval
++else
++ USE_NLS=yes
++fi
++
++ { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
++$as_echo "$USE_NLS" >&6; }
++
++
++
++
++
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++ ac_executable_p="test -x"
++else
++ ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_MSGFMT+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case "$MSGFMT" in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$ac_save_IFS"
++ test -z "$ac_dir" && ac_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++ echo "$as_me: trying $ac_dir/$ac_word..." >&5
++ if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
++ break 2
++ fi
++ fi
++ done
++ done
++ IFS="$ac_save_IFS"
++ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
++ ;;
++esac
++fi
++MSGFMT="$ac_cv_path_MSGFMT"
++if test "$MSGFMT" != ":"; then
++ { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
++$as_echo "$MSGFMT" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++set dummy gmsgfmt; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_GMSGFMT+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case $GMSGFMT in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
++ ;;
++esac
++fi
++GMSGFMT=$ac_cv_path_GMSGFMT
++if test -n "$GMSGFMT"; then
++ { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5
++$as_echo "$GMSGFMT" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++
++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
++ *) MSGFMT_015=$MSGFMT ;;
++ esac
++
++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
++ *) GMSGFMT_015=$GMSGFMT ;;
++ esac
++
++
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++ ac_executable_p="test -x"
++else
++ ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "xgettext", so it can be a program name with args.
++set dummy xgettext; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_XGETTEXT+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case "$XGETTEXT" in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$ac_save_IFS"
++ test -z "$ac_dir" && ac_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++ echo "$as_me: trying $ac_dir/$ac_word..." >&5
++ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
++ break 2
++ fi
++ fi
++ done
++ done
++ IFS="$ac_save_IFS"
++ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
++ ;;
++esac
++fi
++XGETTEXT="$ac_cv_path_XGETTEXT"
++if test "$XGETTEXT" != ":"; then
++ { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5
++$as_echo "$XGETTEXT" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ rm -f messages.po
++
++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
++ *) XGETTEXT_015=$XGETTEXT ;;
++ esac
++
++
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++ ac_executable_p="test -x"
++else
++ ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "msgmerge", so it can be a program name with args.
++set dummy msgmerge; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_MSGMERGE+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ case "$MSGMERGE" in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$ac_save_IFS"
++ test -z "$ac_dir" && ac_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++ echo "$as_me: trying $ac_dir/$ac_word..." >&5
++ if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
++ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
++ break 2
++ fi
++ fi
++ done
++ done
++ IFS="$ac_save_IFS"
++ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
++ ;;
++esac
++fi
++MSGMERGE="$ac_cv_path_MSGMERGE"
++if test "$MSGMERGE" != ":"; then
++ { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5
++$as_echo "$MSGMERGE" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$localedir" || localedir='${datadir}/locale'
++
++
++ ac_config_commands="$ac_config_commands po-directories"
++
++
++
++ if test "X$prefix" = "XNONE"; then
++ acl_final_prefix="$ac_default_prefix"
++ else
++ acl_final_prefix="$prefix"
++ fi
++ if test "X$exec_prefix" = "XNONE"; then
++ acl_final_exec_prefix='${prefix}'
++ else
++ acl_final_exec_prefix="$exec_prefix"
++ fi
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++ prefix="$acl_save_prefix"
++
++
++# Check whether --with-gnu-ld was given.
++if test "${with_gnu_ld+set}" = set; then
++ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
++else
++ with_gnu_ld=no
++fi
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5
++$as_echo_n "checking for ld used by GCC... " >&6; }
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [\\/]* | [A-Za-z]:[\\/]*)
++ re_direlt='/[^/][^/]*/\.\./'
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
++$as_echo_n "checking for GNU ld... " >&6; }
++else
++ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++$as_echo_n "checking for non-GNU ld... " >&6; }
++fi
++if test "${acl_cv_path_LD+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ acl_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break ;;
++ *)
++ test "$with_gnu_ld" != yes && break ;;
++ esac
++ fi
++ done
++ IFS="$ac_save_ifs"
++else
++ acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi
++fi
++
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++ { $as_echo "$as_me:$LINENO: result: $LD" >&5
++$as_echo "$LD" >&6; }
++else
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
++$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
++if test "${acl_cv_prog_gnu_ld+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ acl_cv_prog_gnu_ld=yes ;;
++*)
++ acl_cv_prog_gnu_ld=no ;;
++esac
++fi
++{ $as_echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
++$as_echo "$acl_cv_prog_gnu_ld" >&6; }
++with_gnu_ld=$acl_cv_prog_gnu_ld
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5
++$as_echo_n "checking for shared library run path origin... " >&6; }
++if test "${acl_cv_rpath+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++
++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++ . ./conftest.sh
++ rm -f ./conftest.sh
++ acl_cv_rpath=done
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
++$as_echo "$acl_cv_rpath" >&6; }
++ wl="$acl_cv_wl"
++ libext="$acl_cv_libext"
++ shlibext="$acl_cv_shlibext"
++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++ hardcode_direct="$acl_cv_hardcode_direct"
++ hardcode_minus_L="$acl_cv_hardcode_minus_L"
++ # Check whether --enable-rpath was given.
++if test "${enable_rpath+set}" = set; then
++ enableval=$enable_rpath; :
++else
++ enable_rpath=yes
++fi
++
++
++
++ acl_libdirstem=lib
++ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
++ if test -n "$searchpath"; then
++ acl_save_IFS="${IFS= }"; IFS=":"
++ for searchdir in $searchpath; do
++ if test -d "$searchdir"; then
++ case "$searchdir" in
++ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
++ *) searchdir=`cd "$searchdir" && pwd`
++ case "$searchdir" in
++ */lib64 ) acl_libdirstem=lib64 ;;
++ esac ;;
++ esac
++ fi
++ done
++ IFS="$acl_save_IFS"
++ fi
++
++
++
++
++
++
++
++
++ use_additional=yes
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++
++# Check whether --with-libiconv-prefix was given.
++if test "${with_libiconv_prefix+set}" = set; then
++ withval=$with_libiconv_prefix;
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/$acl_libdirstem"
++ fi
++ fi
++
++fi
++
++ LIBICONV=
++ LTLIBICONV=
++ INCICONV=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='iconv '
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
++ else
++ :
++ fi
++ else
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" \
++ && { test -f "$additional_libdir/lib$name.$shlibext" \
++ || { test "$shlibext" = dll \
++ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
++ found_dir="$additional_libdir"
++ if test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_so="$additional_libdir/lib$name.$shlibext"
++ else
++ found_so="$additional_libdir/lib$name.dll.a"
++ fi
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIBICONV; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" \
++ && { test -f "$dir/lib$name.$shlibext" \
++ || { test "$shlibext" = dll \
++ && test -f "$dir/lib$name.dll.a"; }; }; then
++ found_dir="$dir"
++ if test -f "$dir/lib$name.$shlibext"; then
++ found_so="$dir/lib$name.$shlibext"
++ else
++ found_so="$dir/lib$name.dll.a"
++ fi
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++ else
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ if test "$hardcode_direct" = yes; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ haveit=
++ for x in $LDFLAGS $LIBICONV; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++ else
++ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
++ else
++ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
++ fi
++ fi
++ additional_includedir=
++ case "$found_dir" in
++ */$acl_libdirstem | */$acl_libdirstem/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INCICONV; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ if test -n "$found_la"; then
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIBICONV; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIBICONV; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
++ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
++ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
++ else
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ for found_dir in $ltrpathdirs; do
++ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
++ done
++ fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5
++$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
++if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <CoreFoundation/CFPreferences.h>
++int
++main ()
++{
++CFPreferencesCopyAppValue(NULL, NULL)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ gt_cv_func_CFPreferencesCopyAppValue=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ gt_cv_func_CFPreferencesCopyAppValue=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$gt_save_LIBS"
++fi
++{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
++$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
++ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
++_ACEOF
++
++ fi
++ { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5
++$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
++if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <CoreFoundation/CFLocale.h>
++int
++main ()
++{
++CFLocaleCopyCurrent();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ gt_cv_func_CFLocaleCopyCurrent=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ gt_cv_func_CFLocaleCopyCurrent=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$gt_save_LIBS"
++fi
++{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
++$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
++ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CFLOCALECOPYCURRENT 1
++_ACEOF
++
++ fi
++ INTL_MACOSX_LIBS=
++ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
++ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
++ fi
++
++
++
++
++
++
++ LIBINTL=
++ LTLIBINTL=
++ POSUB=
++
++ case " $gt_needs " in
++ *" need-formatstring-macros "*) gt_api_version=3 ;;
++ *" need-ngettext "*) gt_api_version=2 ;;
++ *) gt_api_version=1 ;;
++ esac
++ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
++ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
++
++ if test "$USE_NLS" = "yes"; then
++ gt_use_preinstalled_gnugettext=no
++
++
++ if test $gt_api_version -ge 3; then
++ gt_revision_test_code='
++#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++'
++ else
++ gt_revision_test_code=
++ fi
++ if test $gt_api_version -ge 2; then
++ gt_expression_test_code=' + * ngettext ("", "", 0)'
++ else
++ gt_expression_test_code=
++ fi
++
++ { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
++$as_echo_n "checking for GNU gettext in libc... " >&6; }
++if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <libintl.h>
++$gt_revision_test_code
++extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;
++int
++main ()
++{
++bindtextdomain ("", "");
++return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ eval "$gt_func_gnugettext_libc=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$gt_func_gnugettext_libc=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$gt_func_gnugettext_libc'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++
++ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
++
++
++
++
++
++ am_save_CPPFLAGS="$CPPFLAGS"
++
++ for element in $INCICONV; do
++ haveit=
++ for x in $CPPFLAGS; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
++ fi
++ done
++
++
++ { $as_echo "$as_me:$LINENO: checking for iconv" >&5
++$as_echo_n "checking for iconv... " >&6; }
++if test "${am_cv_func_iconv+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++
++ am_cv_func_iconv="no, consider installing GNU libiconv"
++ am_cv_lib_iconv=no
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <iconv.h>
++int
++main ()
++{
++iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ am_cv_func_iconv=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ if test "$am_cv_func_iconv" != yes; then
++ am_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBICONV"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <iconv.h>
++int
++main ()
++{
++iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ am_cv_lib_iconv=yes
++ am_cv_func_iconv=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$am_save_LIBS"
++ fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
++$as_echo "$am_cv_func_iconv" >&6; }
++ if test "$am_cv_func_iconv" = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ICONV 1
++_ACEOF
++
++ fi
++ if test "$am_cv_lib_iconv" = yes; then
++ { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5
++$as_echo_n "checking how to link with libiconv... " >&6; }
++ { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5
++$as_echo "$LIBICONV" >&6; }
++ else
++ CPPFLAGS="$am_save_CPPFLAGS"
++ LIBICONV=
++ LTLIBICONV=
++ fi
++
++
++
++
++
++
++
++ use_additional=yes
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++
++# Check whether --with-libintl-prefix was given.
++if test "${with_libintl_prefix+set}" = set; then
++ withval=$with_libintl_prefix;
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/$acl_libdirstem"
++ fi
++ fi
++
++fi
++
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='intl '
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
++ else
++ :
++ fi
++ else
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" \
++ && { test -f "$additional_libdir/lib$name.$shlibext" \
++ || { test "$shlibext" = dll \
++ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
++ found_dir="$additional_libdir"
++ if test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_so="$additional_libdir/lib$name.$shlibext"
++ else
++ found_so="$additional_libdir/lib$name.dll.a"
++ fi
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIBINTL; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" \
++ && { test -f "$dir/lib$name.$shlibext" \
++ || { test "$shlibext" = dll \
++ && test -f "$dir/lib$name.dll.a"; }; }; then
++ found_dir="$dir"
++ if test -f "$dir/lib$name.$shlibext"; then
++ found_so="$dir/lib$name.$shlibext"
++ else
++ found_so="$dir/lib$name.dll.a"
++ fi
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++ else
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ if test "$hardcode_direct" = yes; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ haveit=
++ for x in $LDFLAGS $LIBINTL; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++ else
++ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
++ else
++ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
++ fi
++ fi
++ additional_includedir=
++ case "$found_dir" in
++ */$acl_libdirstem | */$acl_libdirstem/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INCINTL; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ if test -n "$found_la"; then
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIBINTL; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIBINTL; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
++ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
++ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
++ else
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ for found_dir in $ltrpathdirs; do
++ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
++ done
++ fi
++
++ { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
++$as_echo_n "checking for GNU gettext in libintl... " >&6; }
++if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ gt_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $INCINTL"
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBINTL"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <libintl.h>
++$gt_revision_test_code
++extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias (const char *);
++int
++main ()
++{
++bindtextdomain ("", "");
++return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ eval "$gt_func_gnugettext_libintl=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$gt_func_gnugettext_libintl=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
++ LIBS="$LIBS $LIBICONV"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <libintl.h>
++$gt_revision_test_code
++extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias (const char *);
++int
++main ()
++{
++bindtextdomain ("", "");
++return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ LIBINTL="$LIBINTL $LIBICONV"
++ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++ eval "$gt_func_gnugettext_libintl=yes"
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ fi
++ CPPFLAGS="$gt_save_CPPFLAGS"
++ LIBS="$gt_save_LIBS"
++fi
++ac_res=`eval 'as_val=${'$gt_func_gnugettext_libintl'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++ fi
++
++ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
++ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
++ && test "$PACKAGE" != gettext-runtime \
++ && test "$PACKAGE" != gettext-tools; }; then
++ gt_use_preinstalled_gnugettext=yes
++ else
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ fi
++
++
++
++ if test -n "$INTL_MACOSX_LIBS"; then
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
++ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
++ fi
++ fi
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define ENABLE_NLS 1
++_ACEOF
++
++ else
++ USE_NLS=no
++ fi
++ fi
++
++ { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5
++$as_echo_n "checking whether to use NLS... " >&6; }
++ { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
++$as_echo "$USE_NLS" >&6; }
++ if test "$USE_NLS" = "yes"; then
++ { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
++$as_echo_n "checking where the gettext function comes from... " >&6; }
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
++ gt_source="external libintl"
++ else
++ gt_source="libc"
++ fi
++ else
++ gt_source="included intl directory"
++ fi
++ { $as_echo "$as_me:$LINENO: result: $gt_source" >&5
++$as_echo "$gt_source" >&6; }
++ fi
++
++ if test "$USE_NLS" = "yes"; then
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
++ { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5
++$as_echo_n "checking how to link with libintl... " >&6; }
++ { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5
++$as_echo "$LIBINTL" >&6; }
++
++ for element in $INCINTL; do
++ haveit=
++ for x in $CPPFLAGS; do
++
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ eval x=\"$x\"
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
++ fi
++ done
++
++ fi
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_GETTEXT 1
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DCGETTEXT 1
++_ACEOF
++
++ fi
++
++ POSUB=po
++ fi
++
++
++
++ INTLLIBS="$LIBINTL"
++
++
++
++
++
++
++
++###############################################################################
++# Checks for header files.
++###############################################################################
++
++echo
++echo "System headers and functions:"
++
++# There is currently no workarounds in this package if some of
++# these headers are missing.
++
++
++
++for ac_header in fcntl.h limits.h sys/time.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
++$as_echo_n "checking $ac_header usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
++$as_echo_n "checking $ac_header presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_header>
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## --------------------------------------- ##
++## Report this to lasse.collin at tukaani.org ##
++## --------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++
++fi
++as_val=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++else
++ { { $as_echo "$as_me:$LINENO: error: Required header file(s) are missing." >&5
++$as_echo "$as_me: error: Required header file(s) are missing." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++done
++
++
++# If any of these headers are missing, things should still work correctly:
++
++
++
++for ac_header in sys/param.h sys/sysctl.h byteswap.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#ifdef HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
++
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++# Even if we have byteswap.h, we may lack the specific macros/functions.
++if test x$ac_cv_header_byteswap_h = xyes ; then
++
++ { $as_echo "$as_me:$LINENO: checking if bswap_16 is available" >&5
++$as_echo_n "checking if bswap_16 is available... " >&6; }
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <byteswap.h>
++int
++main(void)
++{
++ bswap_16(42);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_BSWAP_16 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++
++
++ { $as_echo "$as_me:$LINENO: checking if bswap_32 is available" >&5
++$as_echo_n "checking if bswap_32 is available... " >&6; }
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <byteswap.h>
++int
++main(void)
++{
++ bswap_32(42);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_BSWAP_32 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++
++
++ { $as_echo "$as_me:$LINENO: checking if bswap_64 is available" >&5
++$as_echo_n "checking if bswap_64 is available... " >&6; }
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <byteswap.h>
++int
++main(void)
++{
++ bswap_64(42);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_BSWAP_64 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++
++ fi
++
++
++###############################################################################
++# Checks for typedefs, structures, and compiler characteristics.
++###############################################################################
++
++
++{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5
++$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
++if test "${ac_cv_header_stdbool_h+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <stdbool.h>
++#ifndef bool
++ "error: bool is not defined"
++#endif
++#ifndef false
++ "error: false is not defined"
++#endif
++#if false
++ "error: false is not 0"
++#endif
++#ifndef true
++ "error: true is not defined"
++#endif
++#if true != 1
++ "error: true is not 1"
++#endif
++#ifndef __bool_true_false_are_defined
++ "error: __bool_true_false_are_defined is not defined"
++#endif
++
++ struct s { _Bool s: 1; _Bool t; } s;
++
++ char a[true == 1 ? 1 : -1];
++ char b[false == 0 ? 1 : -1];
++ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
++ char d[(bool) 0.5 == true ? 1 : -1];
++ bool e = &s;
++ char f[(_Bool) 0.0 == false ? 1 : -1];
++ char g[true];
++ char h[sizeof (_Bool)];
++ char i[sizeof s.t];
++ enum { j = false, k = true, l = false * true, m = true * 256 };
++ /* The following fails for
++ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
++ _Bool n[m];
++ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
++ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
++# if defined __xlc__ || defined __GNUC__
++ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
++ reported by James Lemley on 2005-10-05; see
++ http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
++ This test is not quite right, since xlc is allowed to
++ reject this program, as the initializer for xlcbug is
++ not one of the forms that C requires support for.
++ However, doing the test right would require a runtime
++ test, and that would make cross-compilation harder.
++ Let us hope that IBM fixes the xlc bug, and also adds
++ support for this kind of constant expression. In the
++ meantime, this test will reject xlc, which is OK, since
++ our stdbool.h substitute should suffice. We also test
++ this with GCC, where it should work, to detect more
++ quickly whether someone messes up the test in the
++ future. */
++ char digs[] = "0123456789";
++ int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
++# endif
++ /* Catch a bug in an HP-UX C compiler. See
++ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
++ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
++ */
++ _Bool q = true;
++ _Bool *pq = &q;
++
++int
++main ()
++{
++
++ *pq |= q;
++ *pq |= ! q;
++ /* Refer to every declared value, to avoid compiler optimizations. */
++ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
++ + !m + !n + !o + !p + !q + !pq);
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdbool_h=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_stdbool_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
++$as_echo "$ac_cv_header_stdbool_h" >&6; }
++{ $as_echo "$as_me:$LINENO: checking for _Bool" >&5
++$as_echo_n "checking for _Bool... " >&6; }
++if test "${ac_cv_type__Bool+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_type__Bool=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof (_Bool))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof ((_Bool)))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type__Bool=yes
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5
++$as_echo "$ac_cv_type__Bool" >&6; }
++if test "x$ac_cv_type__Bool" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE__BOOL 1
++_ACEOF
++
++
++fi
++
++if test $ac_cv_header_stdbool_h = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_STDBOOL_H 1
++_ACEOF
++
++fi
++
++
++
++ { $as_echo "$as_me:$LINENO: checking for uint8_t" >&5
++$as_echo_n "checking for uint8_t... " >&6; }
++if test "${ac_cv_c_uint8_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_uint8_t=no
++ for ac_type in 'uint8_t' 'unsigned int' 'unsigned long int' \
++ 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (8 - 1) == 1)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ case $ac_type in
++ uint8_t) ac_cv_c_uint8_t=yes ;;
++ *) ac_cv_c_uint8_t=$ac_type ;;
++esac
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_uint8_t" != no && break
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint8_t" >&5
++$as_echo "$ac_cv_c_uint8_t" >&6; }
++ case $ac_cv_c_uint8_t in #(
++ no|yes) ;; #(
++ *)
++
++cat >>confdefs.h <<\_ACEOF
++#define _UINT8_T 1
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint8_t $ac_cv_c_uint8_t
++_ACEOF
++;;
++ esac
++
++
++ { $as_echo "$as_me:$LINENO: checking for uint16_t" >&5
++$as_echo_n "checking for uint16_t... " >&6; }
++if test "${ac_cv_c_uint16_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_uint16_t=no
++ for ac_type in 'uint16_t' 'unsigned int' 'unsigned long int' \
++ 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (16 - 1) == 1)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ case $ac_type in
++ uint16_t) ac_cv_c_uint16_t=yes ;;
++ *) ac_cv_c_uint16_t=$ac_type ;;
++esac
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_uint16_t" != no && break
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint16_t" >&5
++$as_echo "$ac_cv_c_uint16_t" >&6; }
++ case $ac_cv_c_uint16_t in #(
++ no|yes) ;; #(
++ *)
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint16_t $ac_cv_c_uint16_t
++_ACEOF
++;;
++ esac
++
++
++ { $as_echo "$as_me:$LINENO: checking for int32_t" >&5
++$as_echo_n "checking for int32_t... " >&6; }
++if test "${ac_cv_c_int32_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_int32_t=no
++ for ac_type in 'int32_t' 'int' 'long int' \
++ 'long long int' 'short int' 'signed char'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(0 < ($ac_type) (((($ac_type) 1 << (32 - 2)) - 1) * 2 + 1))];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) (((($ac_type) 1 << (32 - 2)) - 1) * 2 + 1)
++ < ($ac_type) (((($ac_type) 1 << (32 - 2)) - 1) * 2 + 2))];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ case $ac_type in
++ int32_t) ac_cv_c_int32_t=yes ;;
++ *) ac_cv_c_int32_t=$ac_type ;;
++esac
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_int32_t" != no && break
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_int32_t" >&5
++$as_echo "$ac_cv_c_int32_t" >&6; }
++ case $ac_cv_c_int32_t in #(
++ no|yes) ;; #(
++ *)
++
++cat >>confdefs.h <<_ACEOF
++#define int32_t $ac_cv_c_int32_t
++_ACEOF
++;;
++ esac
++
++
++ { $as_echo "$as_me:$LINENO: checking for uint32_t" >&5
++$as_echo_n "checking for uint32_t... " >&6; }
++if test "${ac_cv_c_uint32_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_uint32_t=no
++ for ac_type in 'uint32_t' 'unsigned int' 'unsigned long int' \
++ 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (32 - 1) == 1)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ case $ac_type in
++ uint32_t) ac_cv_c_uint32_t=yes ;;
++ *) ac_cv_c_uint32_t=$ac_type ;;
++esac
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_uint32_t" != no && break
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint32_t" >&5
++$as_echo "$ac_cv_c_uint32_t" >&6; }
++ case $ac_cv_c_uint32_t in #(
++ no|yes) ;; #(
++ *)
++
++cat >>confdefs.h <<\_ACEOF
++#define _UINT32_T 1
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint32_t $ac_cv_c_uint32_t
++_ACEOF
++;;
++ esac
++
++
++ { $as_echo "$as_me:$LINENO: checking for int64_t" >&5
++$as_echo_n "checking for int64_t... " >&6; }
++if test "${ac_cv_c_int64_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_int64_t=no
++ for ac_type in 'int64_t' 'int' 'long int' \
++ 'long long int' 'short int' 'signed char'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(0 < ($ac_type) (((($ac_type) 1 << (64 - 2)) - 1) * 2 + 1))];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) (((($ac_type) 1 << (64 - 2)) - 1) * 2 + 1)
++ < ($ac_type) (((($ac_type) 1 << (64 - 2)) - 1) * 2 + 2))];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ case $ac_type in
++ int64_t) ac_cv_c_int64_t=yes ;;
++ *) ac_cv_c_int64_t=$ac_type ;;
++esac
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_int64_t" != no && break
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_int64_t" >&5
++$as_echo "$ac_cv_c_int64_t" >&6; }
++ case $ac_cv_c_int64_t in #(
++ no|yes) ;; #(
++ *)
++
++cat >>confdefs.h <<_ACEOF
++#define int64_t $ac_cv_c_int64_t
++_ACEOF
++;;
++ esac
++
++
++ { $as_echo "$as_me:$LINENO: checking for uint64_t" >&5
++$as_echo_n "checking for uint64_t... " >&6; }
++if test "${ac_cv_c_uint64_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_uint64_t=no
++ for ac_type in 'uint64_t' 'unsigned int' 'unsigned long int' \
++ 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (64 - 1) == 1)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ case $ac_type in
++ uint64_t) ac_cv_c_uint64_t=yes ;;
++ *) ac_cv_c_uint64_t=$ac_type ;;
++esac
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_uint64_t" != no && break
++ done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint64_t" >&5
++$as_echo "$ac_cv_c_uint64_t" >&6; }
++ case $ac_cv_c_uint64_t in #(
++ no|yes) ;; #(
++ *)
++
++cat >>confdefs.h <<\_ACEOF
++#define _UINT64_T 1
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint64_t $ac_cv_c_uint64_t
++_ACEOF
++;;
++ esac
++
++
++ { $as_echo "$as_me:$LINENO: checking for uintptr_t" >&5
++$as_echo_n "checking for uintptr_t... " >&6; }
++if test "${ac_cv_type_uintptr_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_type_uintptr_t=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof (uintptr_t))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof ((uintptr_t)))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uintptr_t=yes
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
++$as_echo "$ac_cv_type_uintptr_t" >&6; }
++if test "x$ac_cv_type_uintptr_t" = x""yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_UINTPTR_T 1
++_ACEOF
++
++else
++ for ac_type in 'unsigned int' 'unsigned long int' \
++ 'unsigned long long int'; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++cat >>confdefs.h <<_ACEOF
++#define uintptr_t $ac_type
++_ACEOF
++
++ ac_type=
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test -z "$ac_type" && break
++ done
++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]];'.
++# This bug is HP SR number 8606223364.
++{ $as_echo "$as_me:$LINENO: checking size of size_t" >&5
++$as_echo_n "checking size of size_t... " >&6; }
++if test "${ac_cv_sizeof_size_t+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then
++ # Depending upon the size, compute the lo and hi bounds.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= 0)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_lo=0 ac_mid=0
++ while :; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_hi=$ac_mid; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_lo=`expr $ac_mid + 1`
++ if test $ac_lo -le $ac_mid; then
++ ac_lo= ac_hi=
++ break
++ fi
++ ac_mid=`expr 2 '*' $ac_mid + 1`
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ done
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) < 0)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_hi=-1 ac_mid=-1
++ while :; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= $ac_mid)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_lo=$ac_mid; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_hi=`expr '(' $ac_mid ')' - 1`
++ if test $ac_mid -le $ac_hi; then
++ ac_lo= ac_hi=
++ break
++ fi
++ ac_mid=`expr 2 '*' $ac_mid`
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ done
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_lo= ac_hi=
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++# Binary search between lo and hi bounds.
++while test "x$ac_lo" != "x$ac_hi"; do
++ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
++test_array [0] = 0
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_hi=$ac_mid
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_lo=`expr '(' $ac_mid ')' + 1`
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++case $ac_lo in
++?*) ac_cv_sizeof_size_t=$ac_lo;;
++'') if test "$ac_cv_type_size_t" = yes; then
++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }; }
++ else
++ ac_cv_sizeof_size_t=0
++ fi ;;
++esac
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++static long int longval () { return (long int) (sizeof (size_t)); }
++static unsigned long int ulongval () { return (long int) (sizeof (size_t)); }
++#include <stdio.h>
++#include <stdlib.h>
++int
++main ()
++{
++
++ FILE *f = fopen ("conftest.val", "w");
++ if (! f)
++ return 1;
++ if (((long int) (sizeof (size_t))) < 0)
++ {
++ long int i = longval ();
++ if (i != ((long int) (sizeof (size_t))))
++ return 1;
++ fprintf (f, "%ld", i);
++ }
++ else
++ {
++ unsigned long int i = ulongval ();
++ if (i != ((long int) (sizeof (size_t))))
++ return 1;
++ fprintf (f, "%lu", i);
++ }
++ /* Do not output a trailing newline, as this causes \r\n confusion
++ on some platforms. */
++ return ferror (f) || fclose (f) != 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_sizeof_size_t=`cat conftest.val`
++else
++ $as_echo "$as_me: program exited with status $ac_status" >&5
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++if test "$ac_cv_type_size_t" = yes; then
++ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }; }
++ else
++ ac_cv_sizeof_size_t=0
++ fi
++fi
++rm -rf conftest.dSYM
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f conftest.val
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
++$as_echo "$ac_cv_sizeof_size_t" >&6; }
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
++_ACEOF
++
++
++
++# The command line tool can copy high resolution timestamps if such
++# information is availabe in struct stat. Otherwise one second accuracy
++# is used.
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atim.tv_nsec" >&5
++$as_echo_n "checking for struct stat.st_atim.tv_nsec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atim_tv_nsec+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atim.tv_nsec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atim_tv_nsec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atim.tv_nsec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atim_tv_nsec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_member_struct_stat_st_atim_tv_nsec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_tv_nsec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atim_tv_nsec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atimespec.tv_nsec" >&5
++$as_echo_n "checking for struct stat.st_atimespec.tv_nsec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atimespec_tv_nsec+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atimespec.tv_nsec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atimespec.tv_nsec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_member_struct_stat_st_atimespec_tv_nsec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atimensec" >&5
++$as_echo_n "checking for struct stat.st_atimensec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atimensec+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atimensec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atimensec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atimensec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atimensec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_member_struct_stat_st_atimensec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimensec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atimensec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atimensec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_uatime" >&5
++$as_echo_n "checking for struct stat.st_uatime... " >&6; }
++if test "${ac_cv_member_struct_stat_st_uatime+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_uatime)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_uatime=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_uatime)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_uatime=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_member_struct_stat_st_uatime=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_uatime" >&5
++$as_echo "$ac_cv_member_struct_stat_st_uatime" >&6; }
++if test "x$ac_cv_member_struct_stat_st_uatime" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_UATIME 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atim.st__tim.tv_nsec" >&5
++$as_echo_n "checking for struct stat.st_atim.st__tim.tv_nsec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atim.st__tim.tv_nsec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atim.st__tim.tv_nsec)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1
++_ACEOF
++
++
++fi
++
++
++# Check whether --enable-largefile was given.
++if test "${enable_largefile+set}" = set; then
++ enableval=$enable_largefile;
++fi
++
++if test "$enable_largefile" != no; then
++
++ { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
++$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
++if test "${ac_cv_sys_largefile_CC+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ 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 >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++ CC="$CC -n32"
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sys_largefile_CC=' -n32'; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++ break
++ done
++ CC=$ac_save_CC
++ rm -f conftest.$ac_ext
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
++$as_echo "$ac_cv_sys_largefile_CC" >&6; }
++ if test "$ac_cv_sys_largefile_CC" != no; then
++ CC=$CC$ac_cv_sys_largefile_CC
++ fi
++
++ { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
++if test "${ac_cv_sys_file_offset_bits+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ while :; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sys_file_offset_bits=no; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sys_file_offset_bits=64; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_sys_file_offset_bits=unknown
++ break
++done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
++$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
++case $ac_cv_sys_file_offset_bits in #(
++ no | unknown) ;;
++ *)
++cat >>confdefs.h <<_ACEOF
++#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
++_ACEOF
++;;
++esac
++rm -rf conftest*
++ if test $ac_cv_sys_file_offset_bits = unknown; then
++ { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
++$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
++if test "${ac_cv_sys_large_files+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ while :; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sys_large_files=no; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#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 << 62) - 1 + ((off_t) 1 << 62))
++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1];
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sys_large_files=1; break
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_sys_large_files=unknown
++ break
++done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
++$as_echo "$ac_cv_sys_large_files" >&6; }
++case $ac_cv_sys_large_files in #(
++ no | unknown) ;;
++ *)
++cat >>confdefs.h <<_ACEOF
++#define _LARGE_FILES $ac_cv_sys_large_files
++_ACEOF
++;;
++esac
++rm -rf conftest*
++ fi
++fi
++
++
++ { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
++$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
++if test "${ac_cv_c_bigendian+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_c_bigendian=unknown
++ # See if we're dealing with a universal compiler.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifndef __APPLE_CC__
++ not a universal capable compiler
++ #endif
++ typedef int dummy;
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++ # Check for potential -arch flags. It is not universal unless
++ # there are some -arch flags. Note that *ppc* also matches
++ # ppc64. This check is also rather less than ideal.
++ case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #(
++ *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
++ esac
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test $ac_cv_c_bigendian = unknown; then
++ # See if sys/param.h defines the BYTE_ORDER macro.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++ #include <sys/param.h>
++
++int
++main ()
++{
++#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
++ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
++ && LITTLE_ENDIAN)
++ bogus endian macros
++ #endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ # It does; now see whether it defined to BIG_ENDIAN or not.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++ #include <sys/param.h>
++
++int
++main ()
++{
++#if BYTE_ORDER != BIG_ENDIAN
++ not big endian
++ #endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_bigendian=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_c_bigendian=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ fi
++ if test $ac_cv_c_bigendian = unknown; then
++ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <limits.h>
++
++int
++main ()
++{
++#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
++ bogus endian macros
++ #endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ # It does; now see whether it defined to _BIG_ENDIAN or not.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <limits.h>
++
++int
++main ()
++{
++#ifndef _BIG_ENDIAN
++ not big endian
++ #endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_bigendian=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_c_bigendian=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ fi
++ if test $ac_cv_c_bigendian = unknown; then
++ # Compile a test program.
++ if test "$cross_compiling" = yes; then
++ # Try to guess by grepping values from an object file.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++short int ascii_mm[] =
++ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
++ short int ascii_ii[] =
++ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
++ int use_ascii (int i) {
++ return ascii_mm[i] + ascii_ii[i];
++ }
++ short int ebcdic_ii[] =
++ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
++ short int ebcdic_mm[] =
++ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
++ int use_ebcdic (int i) {
++ return ebcdic_mm[i] + ebcdic_ii[i];
++ }
++ extern int foo;
++
++int
++main ()
++{
++return use_ascii (foo) == use_ebcdic (foo);
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
++ ac_cv_c_bigendian=yes
++ fi
++ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
++ if test "$ac_cv_c_bigendian" = unknown; then
++ ac_cv_c_bigendian=no
++ else
++ # finding both strings is unlikely to happen, but who knows?
++ ac_cv_c_bigendian=unknown
++ fi
++ fi
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* Are we little or big endian? From Harbison&Steele. */
++ union
++ {
++ long int l;
++ char c[sizeof (long int)];
++ } u;
++ u.l = 1;
++ return u.c[sizeof (long int) - 1] == 1;
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_c_bigendian=no
++else
++ $as_echo "$as_me: program exited with status $ac_status" >&5
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_c_bigendian=yes
++fi
++rm -rf conftest.dSYM
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++ fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
++$as_echo "$ac_cv_c_bigendian" >&6; }
++ case $ac_cv_c_bigendian in #(
++ yes)
++ cat >>confdefs.h <<\_ACEOF
++#define WORDS_BIGENDIAN 1
++_ACEOF
++;; #(
++ no)
++ ;; #(
++ universal)
++
++cat >>confdefs.h <<\_ACEOF
++#define AC_APPLE_UNIVERSAL_BUILD 1
++_ACEOF
++
++ ;; #(
++ *)
++ { { $as_echo "$as_me:$LINENO: error: unknown endianness
++ presetting ac_cv_c_bigendian=no (or yes) will help" >&5
++$as_echo "$as_me: error: unknown endianness
++ presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
++ { (exit 1); exit 1; }; } ;;
++ esac
++
++
++
++###############################################################################
++# Checks for library functions.
++###############################################################################
++
++# Gnulib replacements as needed
++
++ if test -z "$GETOPT_H"; then
++
++for ac_header in getopt.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
++$as_echo_n "checking $ac_header usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
++$as_echo_n "checking $ac_header presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_header>
++_ACEOF
++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:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## --------------------------------------- ##
++## Report this to lasse.collin at tukaani.org ##
++## --------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++
++fi
++as_val=`eval 'as_val=${'$as_ac_Header'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++else
++ GETOPT_H=getopt.h
++fi
++
++done
++
++ fi
++
++ if test -z "$GETOPT_H"; then
++
++for ac_func in getopt_long
++do
++as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
++$as_echo_n "checking for $ac_func... " >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* 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. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ eval "$as_ac_var=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_var'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_var'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++else
++ GETOPT_H=getopt.h
++fi
++done
++
++ fi
++
++ if test -z "$GETOPT_H"; then
++ { $as_echo "$as_me:$LINENO: checking whether optreset is declared" >&5
++$as_echo_n "checking whether optreset is declared... " >&6; }
++if test "${ac_cv_have_decl_optreset+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <getopt.h>
++
++int
++main ()
++{
++#ifndef optreset
++ (void) optreset;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_have_decl_optreset=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_have_decl_optreset=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_optreset" >&5
++$as_echo "$ac_cv_have_decl_optreset" >&6; }
++if test "x$ac_cv_have_decl_optreset" = x""yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_OPTRESET 1
++_ACEOF
++
++fi
++
++ fi
++
++
++
++
++ if test -n "$GETOPT_H"; then
++
++ case " $LIBOBJS " in
++ *" getopt.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS getopt.$ac_objext"
++ ;;
++esac
++
++ case " $LIBOBJS " in
++ *" getopt1.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS getopt1.$ac_objext"
++ ;;
++esac
++
++
++ GETOPT_H=getopt.h
++
++cat >>confdefs.h <<\_ACEOF
++#define __GETOPT_PREFIX rpl_
++_ACEOF
++
++
++
++
++fi
++
++
++
++# Find the best function to set timestamps.
++
++
++
++
++
++for ac_func in futimens futimes futimesat utimes utime
++do
++as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
++$as_echo_n "checking for $ac_func... " >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* 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. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* 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. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ eval "$as_ac_var=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_var'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_var'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++ break
++fi
++done
++
++
++
++{ $as_echo "$as_me:$LINENO: checking how to detect the amount of physical memory" >&5
++$as_echo_n "checking how to detect the amount of physical memory... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <unistd.h>
++int
++main(void)
++{
++ long i;
++ i = sysconf(_SC_PAGESIZE);
++ i = sysconf(_SC_PHYS_PAGES);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PHYSMEM_SYSCONF 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: sysconf" >&5
++$as_echo "sysconf" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <sys/types.h>
++#ifdef HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
++#include <sys/sysctl.h>
++int
++main(void)
++{
++ int name[2] = { CTL_HW, HW_PHYSMEM };
++ unsigned long mem;
++ size_t mem_ptr_size = sizeof(mem);
++ sysctl(name, 2, &mem, &mem_ptr_size, NULL, NULL);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PHYSMEM_SYSCTL 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: sysctl" >&5
++$as_echo "sysctl" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++case $host_os in
++ linux*)
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <sys/sysinfo.h>
++int
++main(void)
++{
++ struct sysinfo si;
++ sysinfo(&si);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PHYSMEM_SYSINFO 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: sysinfo" >&5
++$as_echo "sysinfo" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++ { $as_echo "$as_me:$LINENO: result: unknown" >&5
++$as_echo "unknown" >&6; }
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ;;
++ *)
++ { $as_echo "$as_me:$LINENO: result: unknown" >&5
++$as_echo "unknown" >&6; }
++ ;;
++esac
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++{ $as_echo "$as_me:$LINENO: checking how to detect the number of available CPU cores" >&5
++$as_echo_n "checking how to detect the number of available CPU cores... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <unistd.h>
++int
++main(void)
++{
++ long i;
++ i = sysconf(_SC_NPROCESSORS_ONLN);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CPUCORES_SYSCONF 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: sysconf" >&5
++$as_echo "sysconf" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <sys/types.h>
++#ifdef HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
++#include <sys/sysctl.h>
++int
++main(void)
++{
++ int name[2] = { CTL_HW, HW_NCPU };
++ int cpus;
++ size_t cpus_size = sizeof(cpus);
++ sysctl(name, 2, &cpus, &cpus_size, NULL, NULL);
++ return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CPUCORES_SYSCTL 1
++_ACEOF
++
++ { $as_echo "$as_me:$LINENO: result: sysctl" >&5
++$as_echo "sysctl" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++ { $as_echo "$as_me:$LINENO: result: unknown" >&5
++$as_echo "unknown" >&6; }
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++
++###############################################################################
++# If using GCC, set some additional AM_CFLAGS:
++###############################################################################
++
++if test "$GCC" = yes ; then
++ echo
++ echo "GCC extensions:"
++fi
++
++# Always do the visibility check but don't set AM_CFLAGS on Windows.
++# This way things get set properly even on Windows.
++
++
++ CFLAG_VISIBILITY=
++ HAVE_VISIBILITY=0
++ if test -n "$GCC"; then
++ { $as_echo "$as_me:$LINENO: checking for simple visibility declarations" >&5
++$as_echo_n "checking for simple visibility declarations... " >&6; }
++ if test "${gl_cv_cc_visibility+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++
++ gl_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -fvisibility=hidden"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++extern __attribute__((__visibility__("hidden"))) int hiddenvar;
++ extern __attribute__((__visibility__("default"))) int exportedvar;
++ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
++ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ gl_cv_cc_visibility=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ gl_cv_cc_visibility=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$gl_save_CFLAGS"
++fi
++
++ { $as_echo "$as_me:$LINENO: result: $gl_cv_cc_visibility" >&5
++$as_echo "$gl_cv_cc_visibility" >&6; }
++ if test $gl_cv_cc_visibility = yes; then
++ CFLAG_VISIBILITY="-fvisibility=hidden"
++ HAVE_VISIBILITY=1
++ fi
++ fi
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_VISIBILITY $HAVE_VISIBILITY
++_ACEOF
++
++
++if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then
++ AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
++fi
++
++if test "$GCC" = yes ; then
++ # Enable as much warnings as possible. These commented warnings won't
++ # work for this package though:
++ # * -Wunreachable-code breaks several assert(0) cases, which are
++ # backed up with "return LZMA_PROG_ERROR".
++ # * -Wcast-qual would break various things where we need a non-const
++ # pointer although we don't modify anything through it.
++ # * -Wcast-align breaks optimized CRC32 and CRC64 implementation
++ # on some architectures (not on x86), where this warning is bogus,
++ # because we take care of correct alignment.
++ # * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations
++ # don't seem so useful here; at least the last one gives some
++ # warnings which are not bugs.
++ for NEW_FLAG in \
++ -Wall \
++ -Wextra \
++ -Wformat=2 \
++ -Winit-self \
++ -Wmissing-include-dirs \
++ -Wstrict-aliasing \
++ -Wfloat-equal \
++ -Wundef \
++ -Wshadow \
++ -Wpointer-arith \
++ -Wbad-function-cast \
++ -Wwrite-strings \
++ -Wlogical-op \
++ -Waggregate-return \
++ -Wstrict-prototypes \
++ -Wold-style-definition \
++ -Wmissing-prototypes \
++ -Wmissing-declarations \
++ -Wmissing-noreturn \
++ -Wredundant-decls
++ do
++ { $as_echo "$as_me:$LINENO: checking if $CC accepts $NEW_FLAG" >&5
++$as_echo_n "checking if $CC accepts $NEW_FLAG... " >&6; }
++ OLD_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $NEW_FLAG"
++ cat >conftest.$ac_ext <<_ACEOF
++void foo(void) { }
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++
++ AM_CFLAGS="$AM_CFLAGS $NEW_FLAG"
++ { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++ { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$OLD_CFLAGS"
++ done
++
++ # Check whether --enable-werror was given.
++if test "${enable_werror+set}" = set; then
++ enableval=$enable_werror;
++else
++ enable_werror=no
++fi
++
++ if test "x$enable_werror" = "xyes"; then
++ AM_CFLAGS="$AM_CFLAGS -Werror"
++ fi
++fi
++
++
++###############################################################################
++# Create the makefiles and config.h
++###############################################################################
++
++echo
++
++# Don't build the lib directory at all if we don't need any replacement
++# functions.
++ if test -n "$LIBOBJS"; then
++ COND_GNULIB_TRUE=
++ COND_GNULIB_FALSE='#'
++else
++ COND_GNULIB_TRUE='#'
++ COND_GNULIB_FALSE=
++fi
++
++
++# Add default AM_CFLAGS.
++
++
++# Set additional flags for static/dynamic linking. The idea is that every
++# program (not library) being built will use either STATIC_{CPPFLAGS,LDFLAGS}
++# or DYNAMIC_{CPPFLAGS,LDFLAGS} depending on which type of linkage is
++# preferred. These preferences get overriden by use of --disable-static,
++# --disable-shared, or --enable-dynamic.
++#
++# This is quite messy, because we want to use LZMA_API_STATIC when linking
++# against static liblzma. It's needed on Windows.
++if test "x$enable_static" = xno; then
++ enable_dynamic=yes
++fi
++if test "x$enable_shared" = xno; then
++ enable_dynamic=no
++fi
++case $enable_dynamic in
++ yes)
++ STATIC_CPPFLAGS=
++ STATIC_LDFLAGS=
++ DYNAMIC_CPPFLAGS=
++ DYNAMIC_LDFLAGS=
++ ;;
++ mixed)
++ STATIC_CPPFLAGS="-DLZMA_API_STATIC"
++ STATIC_LDFLAGS="-static"
++ DYNAMIC_CPPFLAGS=
++ DYNAMIC_LDFLAGS=
++ ;;
++ no)
++ STATIC_CPPFLAGS="-DLZMA_API_STATIC"
++ STATIC_LDFLAGS="-static"
++ DYNAMIC_CPPFLAGS="-DLZMA_API_STATIC"
++ DYNAMIC_LDFLAGS="-static"
++ ;;
++esac
++
++
++
++
++
++# This is needed for src/scripts.
++xz=`echo xz | sed "$program_transform_name"`
++
++
++ac_config_files="$ac_config_files Doxyfile Makefile po/Makefile.in lib/Makefile src/Makefile src/liblzma/liblzma.pc src/liblzma/Makefile src/liblzma/api/Makefile src/xz/Makefile src/xzdec/Makefile src/lzmainfo/Makefile src/scripts/Makefile src/scripts/xzdiff src/scripts/xzgrep src/scripts/xzmore src/scripts/xzless tests/Makefile debug/Makefile"
++
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems. If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# 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
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++
++ (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
++ # 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.
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++) |
++ sed '
++ /^ac_cv_env_/b end
++ t clear
++ :clear
++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++ t end
++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++ :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++ if test -w "$cache_file"; then
++ test "x$cache_file" != "x/dev/null" &&
++ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
++$as_echo "$as_me: updating cache $cache_file" >&6;}
++ cat confcache >$cache_file
++ else
++ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++ fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++DEFS=-DHAVE_CONFIG_H
++
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++ # 1. Remove the extension, and $U if already installed.
++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
++ # will be set to the directory where LIBOBJS objects are built.
++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++if test -z "${COND_W32_TRUE}" && test -z "${COND_W32_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_W32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_W32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_MAIN_ENCODER_TRUE}" && test -z "${COND_MAIN_ENCODER_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_MAIN_ENCODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_MAIN_ENCODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_MAIN_DECODER_TRUE}" && test -z "${COND_MAIN_DECODER_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_MAIN_DECODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_MAIN_DECODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_LZMA1_TRUE}" && test -z "${COND_FILTER_LZMA1_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_LZMA1_TRUE}" && test -z "${COND_ENCODER_LZMA1_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_LZMA1_TRUE}" && test -z "${COND_DECODER_LZMA1_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_LZMA2_TRUE}" && test -z "${COND_FILTER_LZMA2_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_LZMA2_TRUE}" && test -z "${COND_ENCODER_LZMA2_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_LZMA2_TRUE}" && test -z "${COND_DECODER_LZMA2_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_SUBBLOCK_TRUE}" && test -z "${COND_FILTER_SUBBLOCK_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_SUBBLOCK_TRUE}" && test -z "${COND_ENCODER_SUBBLOCK_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_SUBBLOCK_TRUE}" && test -z "${COND_DECODER_SUBBLOCK_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_DELTA_TRUE}" && test -z "${COND_FILTER_DELTA_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_DELTA_TRUE}" && test -z "${COND_ENCODER_DELTA_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_DELTA_TRUE}" && test -z "${COND_DECODER_DELTA_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_X86_TRUE}" && test -z "${COND_FILTER_X86_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_X86_TRUE}" && test -z "${COND_ENCODER_X86_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_X86_TRUE}" && test -z "${COND_DECODER_X86_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_POWERPC_TRUE}" && test -z "${COND_FILTER_POWERPC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_POWERPC_TRUE}" && test -z "${COND_ENCODER_POWERPC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_POWERPC_TRUE}" && test -z "${COND_DECODER_POWERPC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_IA64_TRUE}" && test -z "${COND_FILTER_IA64_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_IA64_TRUE}" && test -z "${COND_ENCODER_IA64_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_IA64_TRUE}" && test -z "${COND_DECODER_IA64_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_ARM_TRUE}" && test -z "${COND_FILTER_ARM_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_ARM_TRUE}" && test -z "${COND_ENCODER_ARM_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_ARM_TRUE}" && test -z "${COND_DECODER_ARM_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_ARMTHUMB_TRUE}" && test -z "${COND_FILTER_ARMTHUMB_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_ARMTHUMB_TRUE}" && test -z "${COND_ENCODER_ARMTHUMB_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_ARMTHUMB_TRUE}" && test -z "${COND_DECODER_ARMTHUMB_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_SPARC_TRUE}" && test -z "${COND_FILTER_SPARC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_SPARC_TRUE}" && test -z "${COND_ENCODER_SPARC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_SPARC_TRUE}" && test -z "${COND_DECODER_SPARC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_SIMPLE_TRUE}" && test -z "${COND_FILTER_SIMPLE_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_SIMPLE_TRUE}" && test -z "${COND_ENCODER_SIMPLE_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_SIMPLE_TRUE}" && test -z "${COND_DECODER_SIMPLE_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_LZ_TRUE}" && test -z "${COND_FILTER_LZ_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_LZ_TRUE}" && test -z "${COND_ENCODER_LZ_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_LZ_TRUE}" && test -z "${COND_DECODER_LZ_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_CHECK_CRC32_TRUE}" && test -z "${COND_CHECK_CRC32_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_CHECK_CRC32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_CHECK_CRC32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_CHECK_CRC64_TRUE}" && test -z "${COND_CHECK_CRC64_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_CHECK_CRC64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_CHECK_CRC64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_CHECK_SHA256_TRUE}" && test -z "${COND_CHECK_SHA256_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_CHECK_SHA256\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_CHECK_SHA256\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ASM_X86_TRUE}" && test -z "${COND_ASM_X86_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ASM_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ASM_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ASM_X86_64_TRUE}" && test -z "${COND_ASM_X86_64_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ASM_X86_64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ASM_X86_64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_SMALL_TRUE}" && test -z "${COND_SMALL_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_SMALL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_SMALL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++ if test -n "$EXEEXT"; then
++ am__EXEEXT_TRUE=
++ am__EXEEXT_FALSE='#'
++else
++ am__EXEEXT_TRUE='#'
++ am__EXEEXT_FALSE=
++fi
++
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCCAS\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"am__fastdepCCAS\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_SHARED_TRUE}" && test -z "${COND_SHARED_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_SHARED\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_SHARED\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test -z "${COND_GNULIB_TRUE}" && test -z "${COND_GNULIB_FALSE}"; then
++ { { $as_echo "$as_me:$LINENO: error: conditional \"COND_GNULIB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_GNULIB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++: ${CONFIG_STATUS=./config.status}
++ac_write_fail=0
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++ as_echo='printf %s\n'
++ as_echo_n='printf %s'
++else
++ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++ as_echo_n='/usr/ucb/echo -n'
++ else
++ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++ as_echo_n_body='eval
++ arg=$1;
++ case $arg in
++ *"$as_nl"*)
++ expr "X$arg" : "X\\(.*\\)$as_nl";
++ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++ esac;
++ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++ '
++ export as_echo_n_body
++ as_echo_n='sh -c $as_echo_n_body as_echo'
++ fi
++ export as_echo_body
++ as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ PATH_SEPARATOR=:
++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++ PATH_SEPARATOR=';'
++ }
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# 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
++fi
++if test ! -f "$as_myself"; then
++ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir 2>/dev/null
++fi
++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 -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++ elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++ else
++ as_ln_s='cp -p'
++ fi
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++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_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++
++# Save the log message, to keep $[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by XZ Utils $as_me 4.999.9beta, which was
++generated by GNU Autoconf 2.63. Invocation command line was
++
++ CONFIG_FILES = $CONFIG_FILES
++ CONFIG_HEADERS = $CONFIG_HEADERS
++ CONFIG_LINKS = $CONFIG_LINKS
++ CONFIG_COMMANDS = $CONFIG_COMMANDS
++ $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++case $ac_config_files in *"
++"*) set x $ac_config_files; shift; ac_config_files=$*;;
++esac
++
++case $ac_config_headers in *"
++"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
++esac
++
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_headers="$ac_config_headers"
++config_commands="$ac_config_commands"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTION]... [FILE]...
++
++ -h, --help print this help, then exit
++ -V, --version print version number and configuration settings, then exit
++ -q, --quiet, --silent
++ do not print progress messages
++ -d, --debug don't remove temporary files
++ --recheck update $as_me by reconfiguring in the same conditions
++ --file=FILE[:TEMPLATE]
++ instantiate the configuration file FILE
++ --header=FILE[:TEMPLATE]
++ instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Configuration commands:
++$config_commands
++
++Report bugs to <bug-autoconf at gnu.org>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_version="\\
++XZ Utils config.status 4.999.9beta
++configured by $0, generated by GNU Autoconf 2.63,
++ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2008 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
++AWK='$AWK'
++test -n "\$AWK" || AWK=awk
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# The default lists apply if the user does not specify any file.
++ac_need_defaults=:
++while test $# != 0
++do
++ case $1 in
++ --*=*)
++ ac_option=`expr "X$1" : 'X\([^=]*\)='`
++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++ ac_shift=:
++ ;;
++ *)
++ ac_option=$1
++ ac_optarg=$2
++ ac_shift=shift
++ ;;
++ esac
++
++ case $ac_option in
++ # Handling of the options.
++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++ ac_cs_recheck=: ;;
++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++ $as_echo "$ac_cs_version"; exit ;;
++ --debug | --debu | --deb | --de | --d | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ case $ac_optarg in
++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
++ ac_need_defaults=false;;
++ --header | --heade | --head | --hea )
++ $ac_shift
++ case $ac_optarg in
++ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
++ ac_need_defaults=false;;
++ --he | --h)
++ # Conflict between --help and --header
++ { $as_echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; };;
++ --help | --hel | -h )
++ $as_echo "$ac_cs_usage"; exit ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil | --si | --s)
++ ac_cs_silent=: ;;
++
++ # This is an error.
++ -*) { $as_echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; } ;;
++
++ *) ac_config_targets="$ac_config_targets $1"
++ ac_need_defaults=false ;;
++
++ esac
++ shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++ exec 6>/dev/null
++ ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++if \$ac_cs_recheck; then
++ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++ shift
++ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
++ CONFIG_SHELL='$SHELL'
++ export CONFIG_SHELL
++ exec "\$@"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++ $as_echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++#
++# INIT-COMMANDS
++#
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
++
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
++macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
++AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
++enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
++pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
++enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
++host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
++host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
++host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
++build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
++build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
++build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
++SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
++Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
++GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
++EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
++FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
++LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
++NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
++LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
++max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
++ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
++exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
++lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
++lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
++lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
++reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
++reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
++file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
++AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
++AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
++RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
++old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
++CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
++GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
++SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
++ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
++MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
++need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
++DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
++NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
++LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
++libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
++shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
++variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
++need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
++version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
++runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
++libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
++soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
++old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
++striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
++LD_RC='`$ECHO "X$LD_RC" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds_RC='`$ECHO "X$old_archive_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_RC='`$ECHO "X$compiler_RC" | $Xsed -e "$delay_single_quote_subst"`'
++GCC_RC='`$ECHO "X$GCC_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag_RC='`$ECHO "X$lt_prog_compiler_no_builtin_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl_RC='`$ECHO "X$lt_prog_compiler_wl_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic_RC='`$ECHO "X$lt_prog_compiler_pic_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static_RC='`$ECHO "X$lt_prog_compiler_static_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o_RC='`$ECHO "X$lt_cv_prog_compiler_c_o_RC" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc_RC='`$ECHO "X$archive_cmds_need_lc_RC" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes_RC='`$ECHO "X$enable_shared_with_static_runtimes_RC" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec_RC='`$ECHO "X$export_dynamic_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec_RC='`$ECHO "X$whole_archive_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object_RC='`$ECHO "X$compiler_needs_object_RC" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds_RC='`$ECHO "X$old_archive_from_new_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds_RC='`$ECHO "X$old_archive_from_expsyms_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_RC='`$ECHO "X$archive_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds_RC='`$ECHO "X$archive_expsym_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds_RC='`$ECHO "X$module_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds_RC='`$ECHO "X$module_expsym_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld_RC='`$ECHO "X$with_gnu_ld_RC" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag_RC='`$ECHO "X$allow_undefined_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag_RC='`$ECHO "X$no_undefined_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_RC='`$ECHO "X$hardcode_libdir_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld_RC='`$ECHO "X$hardcode_libdir_flag_spec_ld_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator_RC='`$ECHO "X$hardcode_libdir_separator_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_RC='`$ECHO "X$hardcode_direct_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute_RC='`$ECHO "X$hardcode_direct_absolute_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L_RC='`$ECHO "X$hardcode_minus_L_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var_RC='`$ECHO "X$hardcode_shlibpath_var_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic_RC='`$ECHO "X$hardcode_automatic_RC" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath_RC='`$ECHO "X$inherit_rpath_RC" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs_RC='`$ECHO "X$link_all_deplibs_RC" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path_RC='`$ECHO "X$fix_srcfile_path_RC" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols_RC='`$ECHO "X$always_export_symbols_RC" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds_RC='`$ECHO "X$export_symbols_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms_RC='`$ECHO "X$exclude_expsyms_RC" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms_RC='`$ECHO "X$include_expsyms_RC" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds_RC='`$ECHO "X$prelink_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec_RC='`$ECHO "X$file_list_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action_RC='`$ECHO "X$hardcode_action_RC" | $Xsed -e "$delay_single_quote_subst"`'
++
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in SED \
++GREP \
++EGREP \
++FGREP \
++LD \
++NM \
++LN_S \
++lt_SP2NL \
++lt_NL2SP \
++reload_flag \
++deplibs_check_method \
++file_magic_cmd \
++AR \
++AR_FLAGS \
++STRIP \
++RANLIB \
++CC \
++CFLAGS \
++compiler \
++lt_cv_sys_global_symbol_pipe \
++lt_cv_sys_global_symbol_to_cdecl \
++lt_cv_sys_global_symbol_to_c_name_address \
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++SHELL \
++ECHO \
++lt_prog_compiler_no_builtin_flag \
++lt_prog_compiler_wl \
++lt_prog_compiler_pic \
++lt_prog_compiler_static \
++lt_cv_prog_compiler_c_o \
++need_locks \
++DSYMUTIL \
++NMEDIT \
++LIPO \
++OTOOL \
++OTOOL64 \
++shrext_cmds \
++export_dynamic_flag_spec \
++whole_archive_flag_spec \
++compiler_needs_object \
++with_gnu_ld \
++allow_undefined_flag \
++no_undefined_flag \
++hardcode_libdir_flag_spec \
++hardcode_libdir_flag_spec_ld \
++hardcode_libdir_separator \
++fix_srcfile_path \
++exclude_expsyms \
++include_expsyms \
++file_list_spec \
++variables_saved_for_relink \
++libname_spec \
++library_names_spec \
++soname_spec \
++finish_eval \
++old_striplib \
++striplib \
++LD_RC \
++compiler_RC \
++lt_prog_compiler_no_builtin_flag_RC \
++lt_prog_compiler_wl_RC \
++lt_prog_compiler_pic_RC \
++lt_prog_compiler_static_RC \
++lt_cv_prog_compiler_c_o_RC \
++export_dynamic_flag_spec_RC \
++whole_archive_flag_spec_RC \
++compiler_needs_object_RC \
++with_gnu_ld_RC \
++allow_undefined_flag_RC \
++no_undefined_flag_RC \
++hardcode_libdir_flag_spec_RC \
++hardcode_libdir_flag_spec_ld_RC \
++hardcode_libdir_separator_RC \
++fix_srcfile_path_RC \
++exclude_expsyms_RC \
++include_expsyms_RC \
++file_list_spec_RC; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Double-quote double-evaled strings.
++for var in reload_cmds \
++old_postinstall_cmds \
++old_postuninstall_cmds \
++old_archive_cmds \
++extract_expsyms_cmds \
++old_archive_from_new_cmds \
++old_archive_from_expsyms_cmds \
++archive_cmds \
++archive_expsym_cmds \
++module_cmds \
++module_expsym_cmds \
++export_symbols_cmds \
++prelink_cmds \
++postinstall_cmds \
++postuninstall_cmds \
++finish_cmds \
++sys_lib_search_path_spec \
++sys_lib_dlsearch_path_spec \
++old_archive_cmds_RC \
++old_archive_from_new_cmds_RC \
++old_archive_from_expsyms_cmds_RC \
++archive_cmds_RC \
++archive_expsym_cmds_RC \
++module_cmds_RC \
++module_expsym_cmds_RC \
++export_symbols_cmds_RC \
++prelink_cmds_RC; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
++ ;;
++esac
++
++ac_aux_dir='$ac_aux_dir'
++xsi_shell='$xsi_shell'
++lt_shell_append='$lt_shell_append'
++
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++
++ PACKAGE='$PACKAGE'
++ VERSION='$VERSION'
++ TIMESTAMP='$TIMESTAMP'
++ RM='$RM'
++ ofile='$ofile'
++
++
++
++
++
++# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
++ # from automake < 1.5.
++ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
++ # Capture the value of LINGUAS because we need it to compute CATALOGS.
++ LINGUAS="${LINGUAS-%UNSET%}"
++
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++ case $ac_config_target in
++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
++ "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
++ "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;;
++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++ "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
++ "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
++ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
++ "src/liblzma/liblzma.pc") CONFIG_FILES="$CONFIG_FILES src/liblzma/liblzma.pc" ;;
++ "src/liblzma/Makefile") CONFIG_FILES="$CONFIG_FILES src/liblzma/Makefile" ;;
++ "src/liblzma/api/Makefile") CONFIG_FILES="$CONFIG_FILES src/liblzma/api/Makefile" ;;
++ "src/xz/Makefile") CONFIG_FILES="$CONFIG_FILES src/xz/Makefile" ;;
++ "src/xzdec/Makefile") CONFIG_FILES="$CONFIG_FILES src/xzdec/Makefile" ;;
++ "src/lzmainfo/Makefile") CONFIG_FILES="$CONFIG_FILES src/lzmainfo/Makefile" ;;
++ "src/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES src/scripts/Makefile" ;;
++ "src/scripts/xzdiff") CONFIG_FILES="$CONFIG_FILES src/scripts/xzdiff" ;;
++ "src/scripts/xzgrep") CONFIG_FILES="$CONFIG_FILES src/scripts/xzgrep" ;;
++ "src/scripts/xzmore") CONFIG_FILES="$CONFIG_FILES src/scripts/xzmore" ;;
++ "src/scripts/xzless") CONFIG_FILES="$CONFIG_FILES src/scripts/xzless" ;;
++ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
++ "debug/Makefile") CONFIG_FILES="$CONFIG_FILES debug/Makefile" ;;
++
++ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used. Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
++fi
++
++# Have a temporary directory for convenience. Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# 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'.
++$debug ||
++{
++ tmp=
++ trap 'exit_status=$?
++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./conf$$-$RANDOM
++ (umask 077 && mkdir "$tmp")
++} ||
++{
++ $as_echo "$as_me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
++}
++
++# 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'.
++if test -n "$CONFIG_FILES"; then
++
++
++ac_cr='
+'
++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
++ ac_cs_awk_cr='\\r'
++else
++ ac_cs_awk_cr=$ac_cr
++fi
++
++echo 'BEGIN {' >"$tmp/subs1.awk" &&
++_ACEOF
++
++
++{
++ echo "cat >conf$$subs.awk <<_ACEOF" &&
++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
++ echo "_ACEOF"
++} >conf$$subs.sh ||
++ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ . ./conf$$subs.sh ||
++ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++
++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
++ if test $ac_delim_n = $ac_delim_num; then
++ break
++ elif $ac_last_try; then
++ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++rm -f conf$$subs.sh
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
++_ACEOF
++sed -n '
++h
++s/^/S["/; s/!.*/"]=/
++p
++g
++s/^[^!]*!//
++:repl
++t repl
++s/'"$ac_delim"'$//
++t delim
++:nl
++h
++s/\(.\{148\}\).*/\1/
++t more1
++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
++p
++n
++b repl
++:more1
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t nl
++:delim
++h
++s/\(.\{148\}\).*/\1/
++t more2
++s/["\\]/\\&/g; s/^/"/; s/$/"/
++p
++b
++:more2
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t delim
++' <conf$$subs.awk | sed '
++/^[^""]/{
++ N
++ s/\n//
++}
++' >>$CONFIG_STATUS || ac_write_fail=1
++rm -f conf$$subs.awk
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++_ACAWK
++cat >>"\$tmp/subs1.awk" <<_ACAWK &&
++ for (key in S) S_is_set[key] = 1
++ FS = ""
++
++}
++{
++ line = $ 0
++ nfields = split(line, field, "@")
++ substed = 0
++ len = length(field[1])
++ for (i = 2; i < nfields; i++) {
++ key = field[i]
++ keylen = length(key)
++ if (S_is_set[key]) {
++ value = S[key]
++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
++ len += length(value) + length(field[++i])
++ substed = 1
++ } else
++ len += 1 + keylen
++ }
++
++ print line
++}
++
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
++ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
++else
++ cat
++fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
++ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
++$as_echo "$as_me: error: could not setup config files machinery" >&2;}
++ { (exit 1); exit 1; }; }
++_ACEOF
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++ ac_vpsub='/^[ ]*VPATH[ ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[ ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[ ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++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'.
++if test -n "$CONFIG_HEADERS"; then
++cat >"$tmp/defines.awk" <<\_ACAWK ||
++BEGIN {
++_ACEOF
++
++# 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.
++
++# Create a delimiter string that does not exist in confdefs.h, to ease
++# handling of long lines.
++ac_delim='%!_!# '
++for ac_last_try in false false :; do
++ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
++ if test -z "$ac_t"; then
++ break
++ elif $ac_last_try; then
++ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++# For the awk script, D is an array of macro values keyed by name,
++# likewise P contains macro parameters if any. Preserve backslash
++# newline sequences.
++
++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
++sed -n '
++s/.\{148\}/&'"$ac_delim"'/g
++t rset
++:rset
++s/^[ ]*#[ ]*define[ ][ ]*/ /
++t def
++d
++:def
++s/\\$//
++t bsnl
++s/["\\]/\\&/g
++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
++D["\1"]=" \3"/p
++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
++d
++:bsnl
++s/["\\]/\\&/g
++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
++D["\1"]=" \3\\\\\\n"\\/p
++t cont
++s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
++t cont
++d
++:cont
++n
++s/.\{148\}/&'"$ac_delim"'/g
++t clear
++:clear
++s/\\$//
++t bsnlc
++s/["\\]/\\&/g; s/^/"/; s/$/"/p
++d
++:bsnlc
++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
++b cont
++' <confdefs.h | sed '
++s/'"$ac_delim"'/"\\\
++"/g' >>$CONFIG_STATUS || ac_write_fail=1
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ for (key in D) D_is_set[key] = 1
++ FS = ""
++}
++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
++ line = \$ 0
++ split(line, arg, " ")
++ if (arg[1] == "#") {
++ defundef = arg[2]
++ mac1 = arg[3]
++ } else {
++ defundef = substr(arg[1], 2)
++ mac1 = arg[2]
++ }
++ split(mac1, mac2, "(") #)
++ macro = mac2[1]
++ prefix = substr(line, 1, index(line, defundef) - 1)
++ if (D_is_set[macro]) {
++ # Preserve the white space surrounding the "#".
++ print prefix "define", macro P[macro] D[macro]
++ next
++ } else {
++ # Replace #undef with comments. This is necessary, for example,
++ # in the case of _POSIX_SOURCE, which is predefined and required
++ # on some systems where configure will not decide to define it.
++ if (defundef == "undef") {
++ print "/*", prefix defundef, macro, "*/"
++ next
++ }
++ }
++}
++{ print }
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
++$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
++ { (exit 1); exit 1; }; }
++fi # test -n "$CONFIG_HEADERS"
++
++
++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
++shift
++for ac_tag
++do
++ case $ac_tag in
++ :[FHLC]) ac_mode=$ac_tag; continue;;
++ esac
++ case $ac_mode$ac_tag in
++ :[FHL]*:*);;
++ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
++$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
++ { (exit 1); exit 1; }; };;
++ :[FH]-) ac_tag=-:-;;
++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++ esac
++ ac_save_IFS=$IFS
++ IFS=:
++ set x $ac_tag
++ IFS=$ac_save_IFS
++ shift
++ ac_file=$1
++ shift
++
++ case $ac_mode in
++ :L) ac_source=$1;;
++ :[FH])
++ ac_file_inputs=
++ for ac_f
++ do
++ case $ac_f in
++ -) ac_f="$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 `:'.
++ test -f "$ac_f" ||
++ case $ac_f in
++ [\\/$]*) false;;
++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++ esac ||
++ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
++ ac_file_inputs="$ac_file_inputs '$ac_f'"
++ done
++
++ # 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 '`
++ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
++ `' by configure.'
++ if test x"$ac_file" != x-; then
++ configure_input="$ac_file. $configure_input"
++ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
++$as_echo "$as_me: creating $ac_file" >&6;}
++ fi
++ # Neutralize special characters interpreted by sed in replacement strings.
++ case $configure_input in #(
++ *\&* | *\|* | *\\* )
++ ac_sed_conf_input=`$as_echo "$configure_input" |
++ sed 's/[\\\\&|]/\\\\&/g'`;; #(
++ *) ac_sed_conf_input=$configure_input;;
++ esac
++
++ case $ac_tag in
++ *:-:* | *:-) cat >"$tmp/stdin" \
++ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++ { (exit 1); exit 1; }; } ;;
++ esac
++ ;;
++ esac
++
++ ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_file" : 'X\(//\)[^/]' \| \
++ X"$ac_file" : 'X\(//\)$' \| \
++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$ac_file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++ case $ac_mode in
++ :F)
++ #
++ # CONFIG_FILE
++ #
++
++ case $INSTALL in
++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++ esac
++ ac_MKDIR_P=$MKDIR_P
++ case $MKDIR_P in
++ [\\/$]* | ?:[\\/]* ) ;;
++ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++ esac
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++
++ac_sed_dataroot='
++/datarootdir/ {
++ p
++ q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++'
++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ ac_datarootdir_hack='
++ s&@datadir@&$datadir&g
++ s&@docdir@&$docdir&g
++ s&@infodir@&$infodir&g
++ s&@localedir@&$localedir&g
++ s&@mandir@&$mandir&g
++ s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# 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
++ac_sed_extra="$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s|@configure_input@|$ac_sed_conf_input|;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@top_build_prefix@&$ac_top_build_prefix&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++"
++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
++ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++ { (exit 1); exit 1; }; }
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&5
++$as_echo "$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 "$tmp/stdin"
++ case $ac_file in
++ -) cat "$tmp/out" && rm -f "$tmp/out";;
++ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
++ esac \
++ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++ :H)
++ #
++ # CONFIG_HEADER
++ #
++ if test x"$ac_file" != x-; then
++ {
++ $as_echo "/* $configure_input */" \
++ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
++ } >"$tmp/config.h" \
++ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++ { (exit 1); exit 1; }; }
++ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
++ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++$as_echo "$as_me: $ac_file is unchanged" >&6;}
++ else
++ rm -f "$ac_file"
++ mv "$tmp/config.h" "$ac_file" \
++ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ else
++ $as_echo "/* $configure_input */" \
++ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
++ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
++$as_echo "$as_me: error: could not create -" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++# Compute "$ac_file"'s index in $config_headers.
++_am_arg="$ac_file"
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++ case $_am_header in
++ $_am_arg | $_am_arg:* )
++ break ;;
++ * )
++ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++ esac
++done
++echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
++$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$_am_arg" : 'X\(//\)[^/]' \| \
++ X"$_am_arg" : 'X\(//\)$' \| \
++ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$_am_arg" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`/stamp-h$_am_stamp_count
++ ;;
++
++ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
++$as_echo "$as_me: executing $ac_file commands" >&6;}
++ ;;
++ esac
++
++
++ case $ac_file$ac_mode in
++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
++ # Autoconf 2.62 quotes --file arguments for eval, but not when files
++ # are listed without --file. Let's play safe and only enable the eval
++ # if we detect the quoting.
++ case $CONFIG_FILES in
++ *\'*) eval set x "$CONFIG_FILES" ;;
++ *) set x $CONFIG_FILES ;;
++ esac
++ shift
++ for mf
++ do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++ dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$mf" : 'X\(//\)[^/]' \| \
++ X"$mf" : 'X\(//\)$' \| \
++ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$mf" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$file" : 'X\(//\)[^/]' \| \
++ X"$file" : 'X\(//\)$' \| \
++ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir=$dirpart/$fdir
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
++ done
++}
++ ;;
++ "libtool":C)
++
++ # See if we are running on zsh, and set the options which allow our
++ # commands through without removal of \ escapes.
++ if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++ fi
++
++ cfgfile="${ofile}T"
++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++ $RM "$cfgfile"
++
++ cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
++
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is part of GNU Libtool.
++#
++# GNU Libtool is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++
++# The names of the tagged configurations supported by this script.
++available_tags="RC "
++
++# ### BEGIN LIBTOOL CONFIG
++
++# Which release of libtool.m4 was used?
++macro_version=$macro_version
++macro_revision=$macro_revision
++
++# Assembler program.
++AS=$AS
++
++# DLL creation program.
++DLLTOOL=$DLLTOOL
++
++# Object dumper program.
++OBJDUMP=$OBJDUMP
++
++# Whether or not to build shared libraries.
++build_libtool_libs=$enable_shared
++
++# Whether or not to build static libraries.
++build_old_libs=$enable_static
++
++# What type of objects to build.
++pic_mode=$pic_mode
++
++# Whether or not to optimize for fast installation.
++fast_install=$enable_fast_install
++
++# The host system.
++host_alias=$host_alias
++host=$host
++host_os=$host_os
++
++# The build system.
++build_alias=$build_alias
++build=$build
++build_os=$build_os
++
++# A sed program that does not truncate output.
++SED=$lt_SED
++
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="\$SED -e 1s/^X//"
++
++# A grep program that handles long lines.
++GREP=$lt_GREP
++
++# An ERE matcher.
++EGREP=$lt_EGREP
++
++# A literal string matcher.
++FGREP=$lt_FGREP
++
++# A BSD- or MS-compatible name lister.
++NM=$lt_NM
++
++# Whether we need soft or hard links.
++LN_S=$lt_LN_S
++
++# What is the maximum length of a command?
++max_cmd_len=$max_cmd_len
++
++# Object file suffix (normally "o").
++objext=$ac_objext
++
++# Executable file suffix (normally "").
++exeext=$exeext
++
++# whether the shell understands "unset".
++lt_unset=$lt_unset
++
++# turn spaces into newlines.
++SP2NL=$lt_lt_SP2NL
++
++# turn newlines into spaces.
++NL2SP=$lt_lt_NL2SP
++
++# How to create reloadable object files.
++reload_flag=$lt_reload_flag
++reload_cmds=$lt_reload_cmds
++
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=$lt_deplibs_check_method
++
++# Command to use when deplibs_check_method == "file_magic".
++file_magic_cmd=$lt_file_magic_cmd
++
++# The archiver.
++AR=$lt_AR
++AR_FLAGS=$lt_AR_FLAGS
++
++# A symbol stripping program.
++STRIP=$lt_STRIP
++
++# Commands used to install an old-style archive.
++RANLIB=$lt_RANLIB
++old_postinstall_cmds=$lt_old_postinstall_cmds
++old_postuninstall_cmds=$lt_old_postuninstall_cmds
++
++# A C compiler.
++LTCC=$lt_CC
++
++# LTCC compiler flags.
++LTCFLAGS=$lt_CFLAGS
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
++
++# Transform the output of nm in a proper C declaration.
++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
++
++# Transform the output of nm in a C name address pair.
++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
++
++# Transform the output of nm in a C name address pair when lib prefix is needed.
++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
++
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
++
++# Shell to use when invoking shell scripts.
++SHELL=$lt_SHELL
++
++# An echo program that does not interpret backslashes.
++ECHO=$lt_ECHO
++
++# Used to examine libraries when file_magic_cmd begins with "file".
++MAGIC_CMD=$MAGIC_CMD
++
++# Must we lock files when doing compilation?
++need_locks=$lt_need_locks
++
++# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
++DSYMUTIL=$lt_DSYMUTIL
++
++# Tool to change global to local symbols on Mac OS X.
++NMEDIT=$lt_NMEDIT
++
++# Tool to manipulate fat objects and archives on Mac OS X.
++LIPO=$lt_LIPO
++
++# ldd/readelf like tool for Mach-O binaries on Mac OS X.
++OTOOL=$lt_OTOOL
++
++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
++OTOOL64=$lt_OTOOL64
++
++# Old archive suffix (normally "a").
++libext=$libext
++
++# Shared library suffix (normally ".so").
++shrext_cmds=$lt_shrext_cmds
++
++# The commands to extract the exported symbol list from a shared archive.
++extract_expsyms_cmds=$lt_extract_expsyms_cmds
++
++# Variables whose values should be saved in libtool wrapper scripts and
++# restored at link time.
++variables_saved_for_relink=$lt_variables_saved_for_relink
++
++# Do we need the "lib" prefix for modules?
++need_lib_prefix=$need_lib_prefix
++
++# Do we need a version for libraries?
++need_version=$need_version
++
++# Library versioning type.
++version_type=$version_type
++
++# Shared library runtime path variable.
++runpath_var=$runpath_var
++
++# Shared library path variable.
++shlibpath_var=$shlibpath_var
++
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=$shlibpath_overrides_runpath
++
++# Format of library name prefix.
++libname_spec=$lt_libname_spec
++
++# List of archive names. First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME
++library_names_spec=$lt_library_names_spec
++
++# The coded name of the library, if different from the real name.
++soname_spec=$lt_soname_spec
++
++# Command to use after installation of a shared archive.
++postinstall_cmds=$lt_postinstall_cmds
++
++# Command to use after uninstallation of a shared archive.
++postuninstall_cmds=$lt_postuninstall_cmds
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=$lt_finish_cmds
++
++# As "finish_cmds", except a single script fragment to be evaled but
++# not shown.
++finish_eval=$lt_finish_eval
++
++# Whether we should hardcode library paths into libraries.
++hardcode_into_libs=$hardcode_into_libs
++
++# Compile-time system search path for libraries.
++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
++
++# Run-time system search path for libraries.
++sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
++
++# Whether dlopen is supported.
++dlopen_support=$enable_dlopen
++
++# Whether dlopen of programs is supported.
++dlopen_self=$enable_dlopen_self
++
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=$enable_dlopen_self_static
++
++# Commands to strip libraries.
++old_striplib=$lt_old_striplib
++striplib=$lt_striplib
++
++
++# The linker used to build libraries.
++LD=$lt_LD
++
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds
++
++# A language specific compiler.
++CC=$lt_compiler
++
++# Is the compiler the GNU compiler?
++with_gcc=$GCC
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
++
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o
++
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc
++
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
++
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds
++archive_expsym_cmds=$lt_archive_expsym_cmds
++
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds
++module_expsym_cmds=$lt_module_expsym_cmds
++
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag
++
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
++
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking. This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
++
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute
++
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L
++
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var
++
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic
++
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath
++
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path
++
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols
++
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms
++
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms
++
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds
++
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action
++
++# ### END LIBTOOL CONFIG
++
++_LT_EOF
++
++ case $host_os in
++ aix3*)
++ cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++_LT_EOF
++ ;;
++ esac
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++
++ # We use sed instead of cat because bash on DJGPP gets confused if
++ # if finds mixed CR/LF and LF-only lines. Since sed operates in
++ # text mode, it properly converts lines to CR/LF. This bash problem
++ # is reportedly fixed, but why not run on old versions too?
++ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ case $xsi_shell in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result="${1##*/}"
++}
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"
++}
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}
++}
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=${1%%=*}
++ func_opt_split_arg=${1#*=}
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=${1%.*}.lo
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=$(( $* ))
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=${#1}
++}
++
++_LT_EOF
++ ;;
++ *) # Bourne compatible functions.
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
++
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++ esac
++}
++
++# sed scripts:
++my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[^=]*=//'
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "$@"`
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
++
++_LT_EOF
++esac
++
++case $lt_shell_append in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1+=\$2"
++}
++_LT_EOF
++ ;;
++ *)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1=\$$1\$2"
++}
++
++_LT_EOF
++ ;;
++ esac
++
++
++ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ mv -f "$cfgfile" "$ofile" ||
++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++ chmod +x "$ofile"
++
++
++ cat <<_LT_EOF >> "$ofile"
++
++# ### BEGIN LIBTOOL TAG CONFIG: RC
++
++# The linker used to build libraries.
++LD=$lt_LD_RC
++
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds_RC
++
++# A language specific compiler.
++CC=$lt_compiler_RC
++
++# Is the compiler the GNU compiler?
++with_gcc=$GCC_RC
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
++
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl_RC
++
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic_RC
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static_RC
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
++
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc_RC
++
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object_RC
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
++
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds_RC
++archive_expsym_cmds=$lt_archive_expsym_cmds_RC
++
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds_RC
++module_expsym_cmds=$lt_module_expsym_cmds_RC
++
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld_RC
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag_RC
++
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag_RC
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
++
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking. This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
++
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct_RC
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute_RC
++
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L_RC
++
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
++
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic_RC
++
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath_RC
++
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs_RC
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path_RC
++
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols_RC
++
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds_RC
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms_RC
++
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms_RC
++
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds_RC
++
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec_RC
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action_RC
++
++# ### END LIBTOOL TAG CONFIG: RC
++_LT_EOF
++
++ ;;
++ "po-directories":C)
++ for ac_file in $CONFIG_FILES; do
++ # Support "outfile[:infile[:infile...]]"
++ case "$ac_file" in
++ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ esac
++ # PO directories have a Makefile.in generated from Makefile.in.in.
++ case "$ac_file" in */Makefile.in)
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++ # Treat a directory as a PO directory if and only if it has a
++ # POTFILES.in file. This allows packages to have multiple PO
++ # directories under different names or in different locations.
++ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++ rm -f "$ac_dir/POTFILES"
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++ POMAKEFILEDEPS="POTFILES.in"
++ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
++ # on $ac_dir but don't depend on user-specified configuration
++ # parameters.
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ if test -n "$OBSOLETE_ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ # Hide the ALL_LINGUAS assigment from automake < 1.5.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
++ else
++ # The set of available languages was given in configure.in.
++ # Hide the ALL_LINGUAS assigment from automake < 1.5.
++ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
++ fi
++ # Compute POFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
++ # Compute UPDATEPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
++ # Compute DUMMYPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
++ # Compute GMOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ GMOFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++ fi
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++ if test -f "$f"; then
++ case "$f" in
++ *.orig | *.bak | *~) ;;
++ *) cat "$f" >> "$ac_dir/Makefile" ;;
++ esac
++ fi
++ done
++ fi
++ ;;
++ esac
++ done ;;
++
++ esac
++done # for ac_tag
++
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++test $ac_write_fail = 0 ||
++ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded. So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status. When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++ ac_cs_success=:
++ ac_config_status_args=
++ test "$silent" = yes &&
++ ac_config_status_args="$ac_config_status_args --quiet"
++ exec 5>/dev/null
++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++ exec 5>>config.log
++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++ # would make configure fail if this is the last instruction.
++ $ac_cs_success || { (exit 1); exit 1; }
++fi
++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
++ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
++fi
++
+diff --git a/storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile
+new file mode 100644
+index 0000000..0b8a088
+--- /dev/null
++++ b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile
+@@ -0,0 +1,255 @@
++###############################################################################
++#
++# Makefile to build XZ Utils using DJGPP
++#
++# Make flags to alter compilation:
++#
++# DEBUG=1 Enable assertions. Don't use this for production builds!
++# You may also want to set CFLAGS="-g -O0" to disable
++# optimizations.
++#
++# The usual CPPFLAGS and CFLAGS are supported too.
++#
++###############################################################################
++#
++# Author: Lasse Collin
++#
++# This file has been put into the public domain.
++# You can do whatever you want with this file.
++#
++###############################################################################
++
++CC = gcc
++AR = ar
++STRIP = strip
++SED = sed
++RM = rm -f
++
++CFLAGS = -g -Wextra -Wfatal-errors -Wall -march=i386 -mtune=i686 -O2
++
++# NOTE: -fgnu89-inline is needed on DJGPP 2.04 beta and GCC 4.3.2
++# because time.h uses GNU-style "extern inline".
++ALL_CFLAGS = -std=gnu99 -fgnu89-inline
++
++ALL_CPPFLAGS = \
++ -I. \
++ -I../lib \
++ -I../src/common \
++ -I../src/liblzma/api \
++ -I../src/liblzma/common \
++ -I../src/liblzma/check \
++ -I../src/liblzma/rangecoder \
++ -I../src/liblzma/lz \
++ -I../src/liblzma/lzma \
++ -I../src/liblzma/delta \
++ -I../src/liblzma/simple \
++ -I../src/liblzma/subblock
++
++ALL_CPPFLAGS += -DHAVE_CONFIG_H
++
++ifdef DEBUG
++STRIP := rem Skipping strip
++else
++ALL_CPPFLAGS += -DNDEBUG
++endif
++
++ALL_CPPFLAGS += $(CPPFLAGS)
++ALL_CFLAGS += $(CFLAGS)
++
++
++################
++# Common rules #
++################
++
++.PHONY: all clean
++all: liblzma.a getopt.a xzdec.exe lzmadec.exe xz.exe
++clean: liblzma-clean getopt-clean xzdec-clean xz-clean
++
++
++#############
++# liblzma.a #
++#############
++
++LIBLZMA_SRCS_C = \
++ ../src/liblzma/common/alone_decoder.c \
++ ../src/liblzma/common/alone_encoder.c \
++ ../src/liblzma/common/auto_decoder.c \
++ ../src/liblzma/common/block_buffer_decoder.c \
++ ../src/liblzma/common/block_buffer_encoder.c \
++ ../src/liblzma/common/block_decoder.c \
++ ../src/liblzma/common/block_encoder.c \
++ ../src/liblzma/common/block_header_decoder.c \
++ ../src/liblzma/common/block_header_encoder.c \
++ ../src/liblzma/common/block_util.c \
++ ../src/liblzma/common/common.c \
++ ../src/liblzma/common/easy_buffer_encoder.c \
++ ../src/liblzma/common/easy_decoder_memusage.c \
++ ../src/liblzma/common/easy_encoder.c \
++ ../src/liblzma/common/easy_encoder_memusage.c \
++ ../src/liblzma/common/easy_preset.c \
++ ../src/liblzma/common/filter_common.c \
++ ../src/liblzma/common/filter_decoder.c \
++ ../src/liblzma/common/filter_encoder.c \
++ ../src/liblzma/common/filter_flags_decoder.c \
++ ../src/liblzma/common/filter_flags_encoder.c \
++ ../src/liblzma/common/index.c \
++ ../src/liblzma/common/index_decoder.c \
++ ../src/liblzma/common/index_encoder.c \
++ ../src/liblzma/common/index_hash.c \
++ ../src/liblzma/common/stream_buffer_decoder.c \
++ ../src/liblzma/common/stream_buffer_encoder.c \
++ ../src/liblzma/common/stream_decoder.c \
++ ../src/liblzma/common/stream_encoder.c \
++ ../src/liblzma/common/stream_flags_common.c \
++ ../src/liblzma/common/stream_flags_decoder.c \
++ ../src/liblzma/common/stream_flags_encoder.c \
++ ../src/liblzma/common/vli_decoder.c \
++ ../src/liblzma/common/vli_encoder.c \
++ ../src/liblzma/common/vli_size.c \
++ ../src/liblzma/check/check.c \
++ ../src/liblzma/check/crc32_table.c \
++ ../src/liblzma/check/crc64_table.c \
++ ../src/liblzma/check/sha256.c \
++ ../src/liblzma/rangecoder/price_table.c \
++ ../src/liblzma/lz/lz_decoder.c \
++ ../src/liblzma/lz/lz_encoder.c \
++ ../src/liblzma/lz/lz_encoder_mf.c \
++ ../src/liblzma/lzma/fastpos_table.c \
++ ../src/liblzma/lzma/lzma2_decoder.c \
++ ../src/liblzma/lzma/lzma2_encoder.c \
++ ../src/liblzma/lzma/lzma_decoder.c \
++ ../src/liblzma/lzma/lzma_encoder.c \
++ ../src/liblzma/lzma/lzma_encoder_optimum_fast.c \
++ ../src/liblzma/lzma/lzma_encoder_optimum_normal.c \
++ ../src/liblzma/lzma/lzma_encoder_presets.c \
++ ../src/liblzma/delta/delta_common.c \
++ ../src/liblzma/delta/delta_decoder.c \
++ ../src/liblzma/delta/delta_encoder.c \
++ ../src/liblzma/simple/arm.c \
++ ../src/liblzma/simple/armthumb.c \
++ ../src/liblzma/simple/ia64.c \
++ ../src/liblzma/simple/powerpc.c \
++ ../src/liblzma/simple/simple_coder.c \
++ ../src/liblzma/simple/simple_decoder.c \
++ ../src/liblzma/simple/simple_encoder.c \
++ ../src/liblzma/simple/sparc.c \
++ ../src/liblzma/simple/x86.c
++
++LIBLZMA_SRCS_ASM = \
++ ../src/liblzma/check/crc32_x86.S \
++ ../src/liblzma/check/crc64_x86.S
++
++LIBLZMA_OBJS_C = $(LIBLZMA_SRCS_C:.c=.o)
++LIBLZMA_OBJS_ASM = $(LIBLZMA_SRCS_ASM:.S=.o)
++LIBLZMA_OBJS = $(LIBLZMA_OBJS_C) $(LIBLZMA_OBJS_ASM)
++
++$(LIBLZMA_OBJS_C): %.o: %.c
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++$(LIBLZMA_OBJS_ASM): %.o: %.S
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++liblzma.a: $(LIBLZMA_OBJS)
++ $(RM) $@
++ $(AR) rcs $@ $(LIBLZMA_OBJS)
++ $(STRIP) --strip-unneeded $@
++
++# Avoid too long command lines.
++.PHONY: liblzma-clean $(LIBLZMA_OBJS:.o=-clean)
++liblzma-clean: $(LIBLZMA_OBJS:.o=-clean)
++ -$(RM) liblzma.a
++
++$(LIBLZMA_OBJS:.o=-clean):
++ -$(RM) $(@:-clean=.o)
++
++
++###############
++# getopt_long #
++###############
++
++GETOPT_SRCS = \
++ ../lib/getopt.c \
++ ../lib/getopt1.c
++
++GETOPT_OBJS = $(GETOPT_SRCS:.c=.o)
++
++GETOPT_H = ../lib/getopt.h
++
++$(GETOPT_H): %.h: %.in.h
++ $(SED) "" $< > $@
++
++$(GETOPT_OBJS): %.o: %.c $(GETOPT_H)
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++getopt.a: $(GETOPT_OBJS)
++ $(RM) $@
++ $(AR) rcs $@ $(GETOPT_OBJS)
++ $(STRIP) --strip-unneeded $@
++
++getopt-clean:
++ $(RM) $(GETOPT_H) $(GETOPT_OBJS) getopt.a
++
++
++###########################
++# xzdec.exe & lzmadec.exe #
++###########################
++
++XZDEC_SRCS = ../src/xzdec/xzdec.c
++
++xzdec.exe: getopt.a liblzma.a $(XZDEC_SRCS)
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(XZDEC_SRCS) -o $@ getopt.a liblzma.a
++ $(STRIP) --strip-all $@
++ exe2coff $@
++ $(RM) $@
++ copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@
++ $(RM) $(@:.exe=)
++
++lzmadec.exe: getopt.a liblzma.a $(XZDEC_SRCS)
++ $(CC) $(ALL_CPPFLAGS) -DLZMADEC $(ALL_CFLAGS) $(XZDEC_SRCS) -o $@ getopt.a liblzma.a
++ $(STRIP) --strip-all $@
++ exe2coff $@
++ $(RM) $@
++ copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@
++ $(RM) $(@:.exe=)
++
++.PHONY: xzdec-clean
++xzdec-clean:
++ -$(RM) xzdec.exe lzmadec.exe xzdec lzmadec
++
++
++##########
++# xz.exe #
++##########
++
++XZ_SRCS = \
++ ../src/xz/args.c \
++ ../src/xz/coder.c \
++ ../src/xz/file_io.c \
++ ../src/xz/hardware.c \
++ ../src/xz/main.c \
++ ../src/xz/message.c \
++ ../src/xz/options.c \
++ ../src/xz/signals.c \
++ ../src/xz/suffix.c \
++ ../src/xz/util.c
++
++XZ_OBJS = $(XZ_SRCS:.c=.o)
++
++$(XZ_OBJS): %.o: %.c
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++xz.exe: getopt.a liblzma.a $(XZ_OBJS)
++ $(CC) $(ALL_CFLAGS) $(XZ_OBJS) -o $@ getopt.a liblzma.a
++ $(STRIP) --strip-all $@
++ exe2coff $@
++ $(RM) $@
++ copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@
++ $(RM) $(@:.exe=)
++
++# Avoid too long command lines.
++.PHONY: xz-clean $(XZ_OBJS:.o=-clean)
++xz-clean: $(XZ_OBJS:.o=-clean)
++ -$(RM) xz.exe xz
++
++$(XZ_OBJS:.o=-clean):
++ -$(RM) $(@:-clean=.o)
+diff --git a/storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile
+new file mode 100644
+index 0000000..db362ef
+--- /dev/null
++++ b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile
+@@ -0,0 +1,308 @@
++###############################################################################
++#
++# Makefile to build XZ Utils using MinGW
++#
++# Make flags to alter compilation:
++#
++# DEBUG=1 Enable assertions. Don't use this for production builds!
++# You may also want to set CFLAGS="-g -O0" to disable
++# optimizations.
++#
++# W64=1 Build for 64-bit Windows. Make sure that you have 64-bit
++# MinGW in PATH.
++#
++# WINE=1 Shortcut to set CC, AR, and STRIP to use Wine to run Windows
++# versions of MinGW binaries.
++#
++# The usual CPPFLAGS and CFLAGS are supported too.
++#
++###############################################################################
++#
++# Author: Lasse Collin
++#
++# This file has been put into the public domain.
++# You can do whatever you want with this file.
++#
++###############################################################################
++
++ifdef W64
++CC = x86_64-pc-mingw32-gcc
++WINDRES = x86_64-pc-mingw32-windres
++AR = x86_64-pc-mingw32-ar
++STRIP = x86_64-pc-mingw32-strip
++else
++CC = mingw32-gcc
++WINDRES = windres
++AR = ar
++STRIP = strip
++endif
++
++SED = sed
++MKDIR = mkdir
++CP = cp
++RM = rm -f
++
++CFLAGS = -g -Wall -Wextra -O2
++# CFLAGS = -Wall -Wextra -O3 -fomit-frame-pointer -funroll-loops
++
++ALL_CFLAGS = -std=gnu99 -mms-bitfields
++
++ALL_CPPFLAGS = \
++ -I. \
++ -I../src/common \
++ -I../src/liblzma/api \
++ -I../src/liblzma/common \
++ -I../src/liblzma/check \
++ -I../src/liblzma/rangecoder \
++ -I../src/liblzma/lz \
++ -I../src/liblzma/lzma \
++ -I../src/liblzma/delta \
++ -I../src/liblzma/simple \
++ -I../src/liblzma/subblock
++
++ALL_CPPFLAGS += -DHAVE_CONFIG_H
++
++# This works with Wine too while using native GNU make, sed, and rm.
++ifdef WINE
++ifdef W64
++CC := wine c:/MinGW64/bin/x86_64-pc-mingw32-gcc
++WINDRES := wine c:/MinGW64/bin/x86_64-pc-mingw32-windres
++AR := wine c:/MinGW64/bin/x86_64-pc-mingw32-ar
++STRIP := wine c:/MinGW64/bin/x86_64-pc-mingw32-strip
++else
++CC := wine c:/MinGW/bin/gcc
++WINDRES := wine c:/MinGW/bin/windres
++AR := wine c:/MinGW/bin/ar
++STRIP := wine c:/MinGW/bin/strip
++endif
++endif
++
++ifdef DEBUG
++# Use echo since it works for this purpose on both Windows and POSIX.
++STRIP := echo Skipping strip
++else
++ALL_CPPFLAGS += -DNDEBUG
++endif
++
++ALL_CPPFLAGS += $(CPPFLAGS)
++ALL_CFLAGS += $(CFLAGS)
++
++
++################
++# Common rules #
++################
++
++.PHONY: all clean pkg
++all: liblzma xzdec xz
++clean: liblzma-clean xzdec-clean xz-clean
++
++pkg: all
++ $(RM) -r pkg
++ $(MKDIR) -p pkg/lib pkg/include/lzma
++ $(CP) liblzma.dll xz-dynamic.exe xz.exe xzdec-dynamic.exe xzdec.exe lzmadec-dynamic.exe lzmadec.exe pkg
++ $(CP) liblzma.a liblzma.def liblzma_static.lib pkg/lib
++ $(CP) ../src/liblzma/api/lzma.h pkg/include
++ $(CP) ../src/liblzma/api/lzma/*.h pkg/include/lzma
++
++%.o: %.rc
++ $(WINDRES) $(ALL_CPPFLAGS) $< $@
++
++
++###############
++# liblzma.dll #
++###############
++
++.PHONY: liblzma
++liblzma: liblzma.dll liblzma_static.lib
++
++LIBLZMA_SRCS_C = \
++ ../src/liblzma/common/alone_decoder.c \
++ ../src/liblzma/common/alone_encoder.c \
++ ../src/liblzma/common/auto_decoder.c \
++ ../src/liblzma/common/block_buffer_decoder.c \
++ ../src/liblzma/common/block_buffer_encoder.c \
++ ../src/liblzma/common/block_decoder.c \
++ ../src/liblzma/common/block_encoder.c \
++ ../src/liblzma/common/block_header_decoder.c \
++ ../src/liblzma/common/block_header_encoder.c \
++ ../src/liblzma/common/block_util.c \
++ ../src/liblzma/common/common.c \
++ ../src/liblzma/common/easy_buffer_encoder.c \
++ ../src/liblzma/common/easy_decoder_memusage.c \
++ ../src/liblzma/common/easy_encoder.c \
++ ../src/liblzma/common/easy_encoder_memusage.c \
++ ../src/liblzma/common/easy_preset.c \
++ ../src/liblzma/common/filter_buffer_decoder.c \
++ ../src/liblzma/common/filter_buffer_encoder.c \
++ ../src/liblzma/common/filter_common.c \
++ ../src/liblzma/common/filter_decoder.c \
++ ../src/liblzma/common/filter_encoder.c \
++ ../src/liblzma/common/filter_flags_decoder.c \
++ ../src/liblzma/common/filter_flags_encoder.c \
++ ../src/liblzma/common/index.c \
++ ../src/liblzma/common/index_decoder.c \
++ ../src/liblzma/common/index_encoder.c \
++ ../src/liblzma/common/index_hash.c \
++ ../src/liblzma/common/stream_buffer_decoder.c \
++ ../src/liblzma/common/stream_buffer_encoder.c \
++ ../src/liblzma/common/stream_decoder.c \
++ ../src/liblzma/common/stream_encoder.c \
++ ../src/liblzma/common/stream_flags_common.c \
++ ../src/liblzma/common/stream_flags_decoder.c \
++ ../src/liblzma/common/stream_flags_encoder.c \
++ ../src/liblzma/common/vli_decoder.c \
++ ../src/liblzma/common/vli_encoder.c \
++ ../src/liblzma/common/vli_size.c \
++ ../src/liblzma/check/check.c \
++ ../src/liblzma/check/crc32_table.c \
++ ../src/liblzma/check/crc64_table.c \
++ ../src/liblzma/check/sha256.c \
++ ../src/liblzma/rangecoder/price_table.c \
++ ../src/liblzma/lz/lz_decoder.c \
++ ../src/liblzma/lz/lz_encoder.c \
++ ../src/liblzma/lz/lz_encoder_mf.c \
++ ../src/liblzma/lzma/fastpos_table.c \
++ ../src/liblzma/lzma/lzma2_decoder.c \
++ ../src/liblzma/lzma/lzma2_encoder.c \
++ ../src/liblzma/lzma/lzma_decoder.c \
++ ../src/liblzma/lzma/lzma_encoder.c \
++ ../src/liblzma/lzma/lzma_encoder_optimum_fast.c \
++ ../src/liblzma/lzma/lzma_encoder_optimum_normal.c \
++ ../src/liblzma/lzma/lzma_encoder_presets.c \
++ ../src/liblzma/delta/delta_common.c \
++ ../src/liblzma/delta/delta_decoder.c \
++ ../src/liblzma/delta/delta_encoder.c \
++ ../src/liblzma/simple/arm.c \
++ ../src/liblzma/simple/armthumb.c \
++ ../src/liblzma/simple/ia64.c \
++ ../src/liblzma/simple/powerpc.c \
++ ../src/liblzma/simple/simple_coder.c \
++ ../src/liblzma/simple/simple_decoder.c \
++ ../src/liblzma/simple/simple_encoder.c \
++ ../src/liblzma/simple/sparc.c \
++ ../src/liblzma/simple/x86.c
++
++LIBLZMA_SRCS_ASM =
++
++ifdef W64
++LIBLZMA_SRCS_C += \
++ ../src/liblzma/check/crc32_fast.c \
++ ../src/liblzma/check/crc64_fast.c
++else
++LIBLZMA_SRCS_ASM += \
++ ../src/liblzma/check/crc32_x86.S \
++ ../src/liblzma/check/crc64_x86.S
++endif
++
++LIBLZMA_OBJS_C = $(LIBLZMA_SRCS_C:.c=.o)
++LIBLZMA_OBJS_ASM = $(LIBLZMA_SRCS_ASM:.S=.o)
++LIBLZMA_OBJS = \
++ $(LIBLZMA_OBJS_C) \
++ $(LIBLZMA_OBJS_ASM) \
++ ../src/liblzma/liblzma_w32res.o
++
++LIBLZMA_OBJS_STATIC_C = $(LIBLZMA_SRCS_C:.c=-static.o)
++LIBLZMA_OBJS_STATIC_ASM = $(LIBLZMA_SRCS_ASM:.S=-static.o)
++LIBLZMA_OBJS_STATIC = $(LIBLZMA_OBJS_STATIC_C) $(LIBLZMA_OBJS_STATIC_ASM)
++
++# The sed is needed to remove ordinals from the .def file. I'm not going
++# to track the ordinal numbers, so people should link against liblzma.dll
++# only by using symbol names.
++liblzma.dll: $(LIBLZMA_OBJS)
++ $(CC) $(ALL_CFLAGS) -shared -o liblzma.dll $(LIBLZMA_OBJS) -Wl,--out-implib,liblzma.a,--output-def,liblzma.def.in
++ $(SED) 's/ \+@ *[0-9]\+//' liblzma.def.in > liblzma.def
++ $(RM) liblzma.def.in
++ $(STRIP) --strip-unneeded liblzma.a
++ $(STRIP) --strip-all liblzma.dll
++
++$(LIBLZMA_OBJS_C): %.o: %.c
++ $(CC) -DDLL_EXPORT $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++$(LIBLZMA_OBJS_ASM): %.o: %.S
++ $(CC) -DDLL_EXPORT $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++liblzma_static.lib: $(LIBLZMA_OBJS_STATIC)
++ $(RM) $@
++ $(AR) rcs $@ $(LIBLZMA_OBJS_STATIC)
++ $(STRIP) --strip-unneeded $@
++
++$(LIBLZMA_OBJS_STATIC_C): %-static.o: %.c
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++$(LIBLZMA_OBJS_STATIC_ASM): %-static.o: %.S
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++.PHONY: liblzma-clean
++liblzma-clean:
++ -$(RM) $(LIBLZMA_OBJS) $(LIBLZMA_OBJS_STATIC) liblzma.def.in liblzma.def liblzma.a liblzma.dll liblzma_static.lib
++
++
++###########################
++# xzdec.exe & lzmadec.exe #
++###########################
++
++.PHONY: xzdec
++xzdec: xzdec-dynamic.exe lzmadec-dynamic.exe xzdec.exe lzmadec.exe
++
++XZDEC_SRCS = ../src/xzdec/xzdec.c
++
++xzdec-dynamic.exe: liblzma.dll $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o -o $@ liblzma.a
++ $(STRIP) --strip-all $@
++
++lzmadec-dynamic.exe: liblzma.dll $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o
++ $(CC) $(ALL_CPPFLAGS) -DLZMADEC $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o -o $@ liblzma.a
++ $(STRIP) --strip-all $@
++
++xzdec.exe: liblzma_static.lib $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o
++ $(CC) -DLZMA_API_STATIC $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o -o $@ liblzma_static.lib
++ $(STRIP) --strip-all $@
++
++lzmadec.exe: liblzma_static.lib $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o
++ $(CC) -DLZMA_API_STATIC $(ALL_CPPFLAGS) -DLZMADEC $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o -o $@ liblzma_static.lib
++ $(STRIP) --strip-all $@
++
++.PHONY: xzdec-clean
++xzdec-clean:
++ -$(RM) xzdec-dynamic.exe lzmadec-dynamic.exe xzdec.exe lzmadec.exe ../src/xzdec/xzdec_w32res.o ../src/xzdec/lzmadec_w32res.o
++
++
++##########
++# xz.exe #
++##########
++
++.PHONY: xz
++xz: xz-dynamic.exe xz.exe
++
++XZ_SRCS = \
++ ../src/xz/args.c \
++ ../src/xz/coder.c \
++ ../src/xz/file_io.c \
++ ../src/xz/hardware.c \
++ ../src/xz/main.c \
++ ../src/xz/message.c \
++ ../src/xz/options.c \
++ ../src/xz/signals.c \
++ ../src/xz/suffix.c \
++ ../src/xz/util.c
++
++XZ_OBJS = $(XZ_SRCS:.c=.o)
++XZ_OBJS_STATIC = $(XZ_SRCS:.c=-static.o)
++
++$(XZ_OBJS): %.o: %.c
++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++xz-dynamic.exe: liblzma.dll $(XZ_OBJS) ../src/xz/xz_w32res.o
++ $(CC) $(ALL_CFLAGS) $(XZ_OBJS) ../src/xz/xz_w32res.o -o $@ liblzma.a
++ $(STRIP) --strip-all $@
++
++$(XZ_OBJS_STATIC): %-static.o: %.c
++ $(CC) -DLZMA_API_STATIC $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++xz.exe: liblzma_static.lib $(XZ_OBJS_STATIC) ../src/xz/xz_w32res.o
++ $(CC) $(ALL_CFLAGS) $(XZ_OBJS_STATIC) ../src/xz/xz_w32res.o -o $@ liblzma_static.lib
++ $(STRIP) --strip-all $@
++
++.PHONY: xz-clean
++xz-clean:
++ -$(RM) $(XZ_OBJS) $(XZ_OBJS_STATIC) ../src/xz/xz_w32res.o xz-dynamic.exe xz.exe
+diff --git a/storage/tokudb/tests/Makefile b/storage/tokudb/tests/Makefile
+new file mode 100644
+index 0000000..47e2027
+--- /dev/null
++++ b/storage/tokudb/tests/Makefile
+@@ -0,0 +1,53 @@
++SRCS = $(wildcard *.cc)
++TARGETS = $(patsubst %.cc,%,$(SRCS))
++CHECKS = $(patsubst %,%.check,$(TARGETS))
++CPPFLAGS = -I.. -D__STDC_FORMAT_MACROS
++CXXFLAGS = -g -Wall -Wextra -Wno-missing-field-initializers -Wshadow
++ifdef USE_OPENMP
++CPPFLAGS += -DUSE_OPENMP
++CXXFLAGS += -fopenmp
++endif
++
++FRACTALTREE_BASE_DIR = ../ft-index
++FRACTALTREE_INSTALL_DIR = $(FRACTALTREE_BASE_DIR)/install.debug
++VALGRIND = valgrind -q --leak-check=full --show-reachable=yes --suppressions=$(FRACTALTREE_BASE_DIR)/ft/valgrind.suppressions --soname-synonyms=somalloc=*tokuportability*
++
++ifeq ($(GCOV),1)
++CXXFLAGS += -fprofile-arcs -ftest-coverage
++else
++CXXFLAGS += -O3
++endif
++
++all: $(TARGETS)
++
++clean:
++ rm -rf $(TARGETS) *.gcov *.gcno *.gcda *.testdir *.dSYM
++
++%.check: %
++ LD_LIBRARY_PATH=$(FRACTALTREE_INSTALL_DIR)/lib $(VALGRIND) ./$<
++
++card.check: $(patsubst %.cc,%.check,$(wildcard card*.cc))
++ true
++
++ifndef USE_OPENMP
++# unravel vlq_test_uint64 8 times
++vlq_test_uint64_%.check:
++ LD_LIBRARY_PATH=$(FRACTALTREE_INSTALL_DIR)/lib $(VALGRIND) ./vlq_test_uint64 $(patsubst vlq_test_uint64_%.check,%,$@) 8
++vlq_test_uint64.check: $(foreach i,0 1 2 3 4 5 6 7,vlq_test_uint64_$(i).check)
++ true
++endif
++
++vlq.check: $(patsubst %.cc,%.check,$(wildcard vlq*.cc))
++ true
++
++max_test.check: max_test
++ $(VALGRIND) ./$< 1 2
++
++check: $(CHECKS)
++ true
++
++%: %.cc
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -g -o $@ $<
++
++card_%: card_%.cc
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -g -o $@ $< -I.. -I$(FRACTALTREE_INSTALL_DIR)/include -L$(FRACTALTREE_INSTALL_DIR)/lib -ltokufractaltree -ltokuportability
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
index 7516619..ad9f056 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
@@ -1,4 +1,4 @@
-From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
+From 4b8219492d04c45acb0f8c53c4d0f00057235d0a Mon Sep 17 00:00:00 2001
From: Tor Didriksen <tor.didriksen at oracle.com>
Date: Mon, 24 Jun 2013 17:15:35 +0200
Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
@@ -25,12 +25,11 @@ Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
---
cmake/install_macros.cmake | 25 +++++++++++++++----------
- cmake/mysql_version.cmake | 3 ++-
- libmysql/CMakeLists.txt | 36 ++++++++++++++++++++++++++++--------
- 3 files changed, 45 insertions(+), 19 deletions(-)
+ libmysql/CMakeLists.txt | 34 +++++++++++++++++++++++++++-------
+ 2 files changed, 42 insertions(+), 17 deletions(-)
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
-index b8efdf8..a0d0e68 100644
+index 22a525d..f25ecc7 100644
--- a/cmake/install_macros.cmake
+++ b/cmake/install_macros.cmake
@@ -1,4 +1,4 @@
@@ -39,8 +38,8 @@ index b8efdf8..a0d0e68 100644
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT)
- ENDFUNCTION()
+@@ -167,28 +167,33 @@ ENDFUNCTION()
+
# Install symbolic link to CMake target.
-# the link is created in the same directory as target
@@ -83,11 +82,11 @@ index b8efdf8..a0d0e68 100644
# For Xcode, replace project config with install config
STRING(REPLACE "${CMAKE_CFG_INTDIR}"
diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
-index be5760f..96286ff 100644
+index 7615630..df5d996 100644
--- a/libmysql/CMakeLists.txt
+++ b/libmysql/CMakeLists.txt
-@@ -180,6 +180,12 @@ IF(MSVC)
- INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
+@@ -433,6 +433,12 @@ IF(MSVC)
+ INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug)
ENDIF()
+MACRO(GET_TARGET_NAME target out_name)
@@ -99,7 +98,7 @@ index be5760f..96286ff 100644
IF(UNIX)
MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
SET(DOT_VERSION ".${VERSION}")
-@@ -192,7 +198,13 @@ IF(UNIX)
+@@ -445,7 +451,13 @@ IF(UNIX)
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
ENDIF()
ENDMACRO()
@@ -114,7 +113,7 @@ index be5760f..96286ff 100644
ENDIF()
IF(NOT DISABLE_SHARED)
-@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED)
+@@ -456,10 +468,9 @@ IF(NOT DISABLE_SHARED)
# libtool compatability
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
@@ -127,7 +126,7 @@ index be5760f..96286ff 100644
ENDIF()
# Name of shared library is mysqlclient on Unix
SET_TARGET_PROPERTIES(libmysql PROPERTIES
-@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED)
+@@ -482,8 +493,13 @@ IF(NOT DISABLE_SHARED)
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
""
linkname)
@@ -143,7 +142,7 @@ index be5760f..96286ff 100644
LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
GET_VERSIONED_LIBNAME(
-@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED)
+@@ -491,7 +507,11 @@ IF(NOT DISABLE_SHARED)
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
"${ver}"
linkname)
@@ -156,6 +155,3 @@ index be5760f..96286ff 100644
ENDFOREACH()
ENDIF()
ENDIF()
---
-2.0.3
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
index ff26b0b..eaafddf 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
@@ -1,4 +1,7 @@
-Remove host path from include directories
+From 2935a6c4419ad61ae56b4d1ab5c2f979fe7f73f0 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton at linux.intel.com>
+Date: Fri, 8 Aug 2014 15:16:40 +0100
+Subject: [PATCH] Remove host path from include directories
Naturally this breaks cross-compilation if present.
@@ -6,9 +9,15 @@ Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
---- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100
-+++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100
-@@ -39,7 +39,6 @@
+---
+ storage/tokudb/ft-index/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/storage/tokudb/ft-index/CMakeLists.txt b/storage/tokudb/ft-index/CMakeLists.txt
+index c6846da..bb4d573 100644
+--- a/storage/tokudb/ft-index/CMakeLists.txt
++++ b/storage/tokudb/ft-index/CMakeLists.txt
+@@ -64,7 +64,6 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/buildheader)
## default includes and libraries
include_directories(SYSTEM
--
2.7.4
More information about the Openembedded-devel
mailing list